Linux and the Euro Currency: Toward a Global Solution
Implementation for the Linux console was quite simple. I asked Ricardas Cepas (email@example.com) which tool he implemented his fonts with. He provided me with a custom version of the chedit font editor for linux-console. I simply took latin1 fonts and replaced the old unused characters by latin9 new characters, for each latin1 font size (from 16x16 to 08x08), but then I was able to display only iso-8859-15 latin9 characters.
Among the recommendations of the European Commission is “AltGr-e should be used to get the euro symbol”. (The Alt key to the right of the keyboard must be remapped to AltGr.) AltGr is used as a modifier like Shift on German keyboards, @ can be obtained with AltGr-q, on French keyboards # is AltGr-3, etc. AltGr is used in the Linux version of many European keyboards to output 8-bit characters, as a remembrance of things past: there was a time when making dead keys work was impossible. On French and Dutch keyboards, (“) and (^) are such dead keys: they act like compose plus this key on the following character. Since many words use (^) or (”) (ètre, aigü...), AltGr-v, where v is the appropriate vowel, and Shift-AltGr vowel were used to get, respectively, vowel-circumflex and vowel-diaeresis. Nowadays, dead keys work with most of the programs except for Netscape or Applixware so these shortcuts are still very much appreciated.
If AltGr-e already outputs è, where could the euro be placed?
This hard problem is yet to be solved by any keyboard maintainer; for the French one I am in charge of, I decided to rearrange the “dollar” ($)/ “British pound” (£)/ “international currency symbol” (¤) keys. Since none of these symbols is an official French money, I changed it to “euro”/“eurocent”/“dollar”/“British pound” respectively normal, Shift, AltGr and AltGr-Shift state. However, French keyboard official standard will use AltGr>-e for euro, so I had to change back this key, remove unavailable international currency symbol and find a new home for “e circumflex”, which was in AltGr-e under Linux. I decided to put dollar/British pound/eurocent/e circumflex on this key, only ¤ and ê had to be moved. This was the best possible solution I could imagine, but I am still looking for another solution to ease euro accessibility and keep 8-bit characters shortcuts.
I also added the other latin9 characters, in AltGr-Shift state for the unused ones which can also be obtained by ^-sSzZ or “-Y, and in unshifted plus shifted state for the very common
On the screenshot, you can see a representation of the French keyboard with all shortcuts shown: “MAJ” means “Caps Lock”, “Ferme” means “Close”, “Arrèt défil” means “Scroll Lock” and “Con” keys are the extended PC 105 keys (also called “Windows key”) mapped to previous console, next console and last console. This ASCII art is included in fr-latin9.map key map to remind users where all the Linux-specific shortcuts are.
Now, with a font and a key table, it was getting more interesting. I started a beta-release program to get feedback, which was mostly positive. The only drawback was ê; some people wanted it to stay where it was so I showed them how to edit the key table to do this.
X fonts are not covered by GPL, while the rest of the package was going to be released under GPL. Since I could not find any iso-8859-1 latin1 X font with a GPL, I had to use an XFree copyrighted basis. With Mark Leisher's xmbdfed (firstname.lastname@example.org), I could very easily change some fonts. X window fonts are not scalable; you have to choose Adobe or True-Type fonts (with xfdtt for the latter). Also, I didn't feel like editing all the fonts included with X. No real solution exists at present, except switching XFree to True-Type fonts, which would be a good idea since True-Type fonts are scalable, of good quality, many are released under GPL, BSD or public domain licenses and they already support the whole range of latin1 plus latin9 thanks to the cp1252 proprietary format.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- diff -u: What's New in Kernel Development
- RSS Feeds
- Non-Linux FOSS: AutoHotkey
- Security Hardening with Ansible
- Tech Tip: Really Simple HTTP Server with Python
- Using Django and MongoDB to Build a Blog