Linux and the Euro Currency: Toward a Global Solution
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.
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.
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.
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 http://www.stri.is/TC304/Euro/. 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 http://www.gh.cs.usyd.edu.au/~matty/9term/. 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” (
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:
“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” (¾).
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.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Be a Mechanic...with Android and Linux!
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters