Linux and the Euro Currency: Toward a Global Solution

Mr. Aznar talks about problems and solutions to adding the euro symbol to the keyboard.

Starting in 1999, each European be using this new currency in his everyday life. Even if cash is not yet available, most prices, wages, invoices, etc. will be labelled in euro as well as in national currencies.

Figure 1. The Euro symbol

In 2002, each local currency except for the British pound (£), Danish krøner (kr), Swedish Kroner and Greek drachma will be replaced by the Euro. This is a major move for a real European union, which will create a market of 300 million people, from Finland to Portugal and Ireland to Greece.

Figure 2. Various currency symbols

Euro and year 2000 support are currently the biggest problems for computer scientists. On UNIX systems where a kind of Y2K bug will not occur until 2038, the euro is the major problem. On Windows machines, Y2K is the major problem since Microsoft has already integrated support for the Euro in Windows 98 and NT. A new proprietary norm was created, called cp1252, which makes these systems the first to properly support the Euro.

Figure 3. Key table with the Euro symbol

The transition from local currencies to the euro also implies mathematical conversions in financial programs: one euro equals 6.55957 French francs, for example. One euro is approximately one dollar U.S. The European Community created a “Euro Workshop” and “Euro Project Team” to find any possible solution for all types of platforms, even cellular phones. Most of the documents can be found at I used some of their euro symbol pictures to illustrate this article.


UNICODE was a good candidate for supporting national characters, but X Window System font management would have made it a pain to implement. For example, see plan9 difficulties at Moreover, the numeral console-mode applications could not take advantage of UNICODE: even today, video-card memory is too tight to hold this wide range of characters. Clearly, a solution was needed for UNIX and other 8-bit systems.

A possible solution was creating yet another encoding format for 8-bit systems, which even today do not support the whole range of national characters. For example, it is impossible to create an “oe ligature” or an “s caron” in iso-8859-1, even though they are widely used in several European languages:

  • “oe ligature”: the French words boeuf, coeur, oeil, the German poet Goethe

  • “s caron”:

    koda cars

I can hardly imagine a computer where not all 26 alphabetic letters were available, or where u had to be used in place of v because it had not been implemented in its character set. Yet many non-English speaking people face this problem each day when using keyboards without characters such as the “oe ligature” (

) or “s caron” (

A New Encoding

Taking advantage of this situation and lack of the euro symbol in iso-8859-1 latin1 (ISO 8859-1 latin1 is the UNIX encoding format, i.e., a correspondence between letters and codes, also used for email encoding), a new encoding format project was started, which would support:

  • the euro

  • “oe ligature” in both upper case and lower case

  • “s and z caron” in both upper case and lower case

  • “y diaeresis” in upper case only since (ÿ) already exists in latin1

To avoid breaking compatibility with the widely used iso-8859-1 latin1, it was decided that this new encoding would be based on it. However, there was still a big problem—each of the 255 possible characters existing in an 8-bit encoding had already been assigned in iso-8859-1. Therefore, it was decided that less frequently used characters should be removed to allow integration of the missing ones. In addition, the following changes were made:

  • The euro replaced the “international currency sign” (¤): the symbol the former Soviet Union had wanted to replace the dollar sign in 7-bit ASCII encoding format.

  • “oe” and “oe ligature” replaced the one-half fraction mark (½) and one-quarter fraction mark (¼), respectively.

  • “s caron” and “S caron” replaced “broken bar” (¦) and “floating diaeresis” (¨), respectively.

  • “z caron” and “Z caron” replaced “floating acute” (') and “floating cedilla” (¸), respectively.

  • “Y diaeresis” replaced “three quarter” (¾).

None of the replaced characters is printed or used in any national keyboard except for the international currency sign (¤) in French and Belgian ones: this would be a minor loss. Moreover, floating accents only serve the need of “compose”: for example, a circumflex accent (^) can be put onto an e to give è. On French-Canadian keyboards, the cedilla (¸) can be put onto a c or a C to get a ç or a Ç.

Since the cedilla (¸) looks like a comma (,), the diaeresis looks like a double quote (“) and the acute looks like a single quote ('), they could easily be replaced; compose tables would need a minor update. For example, on French and Dutch keyboards, the (”) key is used to get äëïöüÄËÏÖÜ but not “Y diaeresis”, which is missing. One must simply press it, release it (nothing happens) then press a vowel key to get a “vowel diaeresis”.

If there is any other character but a vowel, (“) shows up. Here, adapting to the new encoding would simply mean replacing the latter case by a (”) and adding composing possibilities for (sSzZ). This new encoding is called iso-8859-15 latin9 (nicknamed latin9) to show it is 97% compatible with iso-8859-1 latin1. By the time this article is published, it should already have been approved by ISO.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Strictly On-Line: Linux and the Euro Currency: Toward a Glob

Anonymous's picture

I can understand you want to show us your mad skills with the danish (also used in norway) letter "

Re: Strictly On-Line: Linux and the Euro Currency: Toward a Glob

Anonymous's picture

Error from the website...