# Contents of /manuals/trunk/euro-support/debian-euro-support.sgml

Mon Nov 30 14:22:36 2009 UTC (3 years, 5 months ago) by osamu
File MIME type: text/x-sgml
File size: 68411 byte(s)
Mark Obsolete Documentation as such

 1 2 3 8 9 10 11 12 Debian Euro HOWTO (Obsolete Documentation) 13 14 Javier Fernández-Sanguino Peña 15 jfs@computer.org 16 17 version 1.2, june 4th 2003. 18 19 Copyright © 2001, 2002, 2003 Javier Fernández-Sanguino Peña. 20

This document 21 is distributed under the terms of the GNU Public License 22 available at 23 24 25 26 27 28 29 30 Introduction 31 32 Why euro support? 33 34

As of January 1st 2002, twelve European Union countries, and several 35 others, are starting to use the euro as the only official 36 currency. Thus, all the prices will be shown in euros and all the monetary 37 transactions will use it. Euro is expected to become a common currency 38 throughout Europe and even some other continents. 39 40

Computers, of course, need to correctly represent the euro in order for 41 users to make their own documents (invoices, spreadsheets or whatever) using 42 this currency, and read others' documents that use it. As the 43 44 state, operating systems need to be ready to represent this character. 45 46

The euro is a currency but also the name of a symbol. Since the Unicode 47 Standard 2.1 version (dated 1998) the EURO SIGN is added, so it's also an 48 Unicode character that can be represented (interpreted) with different 49 glyphs (different fonts can change height or width). 50 51 What is the euro symbol? 52 53

The euro symbol resembles the letter "e" -- it looks like a 'c' with two 54 parallel horizontal lines that go through the middle of it. Some of the 55 people will understand it better if we say it looks like the Quake symbol 56 rotated 90 degrees clockwise :-) 57 58

The symbol is inspired by the Greek letter epsilon and also denotes the 59 first letter of the word "Europe". The two parallel lines are meant to refer 60 to the stability inside the euro area. 61 62 63

The official (ISO-compliant) abbreviature for the euro is EUR and can be 64 used as representation for the currency. 65 66 Why all this fuss for just one character? 67

The problem is that changing the character involves a change 68 in the font map used by the user. The font map is the list of 69 character representations used by the system. Currently, most 70 users in the euro-zone use the latin1 font map. The font map, 71 however, is limited to 256 characters. The euro character is introduced by 72 removing another character from the font map and calling this 73 replacement a new font map. 74 Latin9 (ISO-8859-15 or codepage 924 for IBM, usually shortened to latin0) 75 replaces Latin1 (ISO-8859-1), and Latin10 (ISO-8859-16) replaces Latin2 76 (however Czech is not fully covered in Latin10 so it's not a full replacement, 77 and it does cover Romanian which Latin2 didn't). Keep in mind that 78 the font map is limited to 256 characters 79 (see ) 80 81

Latin9 differs from Latin1 in eight positions: 82 83 0xA4 (U+20AC): EURO SIGN, 84 0xA6 (U+0160): LATIN CAPITAL LETTER S WITH CARON, 85 0xA8 (U+0161): LATIN SMALL LETTER S WITH CARON, 86 0xB4 (U+017D): LATIN CAPITAL LETTER Z WITH CARON, 87 0xB8 (U+017E): LATIN SMALL LETTER Z WITH CARON, 88 0xBC (U+0152): LATIN CAPITAL LIGATURE OE, 89 0xBD (U+0153): LATIN SMALL LIGATURE OE 90 0xBE (U+0178): LATIN CAPITAL LETTER Y WITH DIAERESIS. 91 92 93

Of course, users already using UTF-8 fonts are not affected 94 by this problem since unicode is a superset of all ISO 8859 sets plus 95 the characters required to represent practically all known languages 96 (see ). 97 However, Unicode support is currently far from complete. 98 For more information read 99 101 and/or . 103 104 105 Standards 106 107

The euro definition is part of some standards: 109 110 The EUR currency code (numeric code 978) is a part of the 111 ISO-4217 standard. 112 113 For 8-bit systems, the ISO/IEC defines the new charset 8859-15 114 (also known as latin 9) and 8859-16 (also known as latin 10) where the 115 euro symbol replaces the international currency symbol in the position 164 116 (hex A4). 117 118 The system uses 119 a 16 bit symbol, the euro has been assigned 8364 (hex 20AC) as part 120 of ISO/IEC-10646-1 121 122 The screen representation (font) for the euro is part of the 123 ISO/IEC-10036 standard. The glyph is the real representation (bit 124 pattern) of the character. The euro is assigned the 8059 glyph. 125 126 The World Wide Web Consortium uses &euro; as the representation 127 for the symbol in HTML 4.0 (See ) 128 129 130

The European Comission has published in its 131 both short term and long term fixes for the euro character. 133 The short term solution is fixed by having keyboards input the euro character 134 through the AltGr+E combination 135 (AltGr is the 'Alt' key to the right of the spacebar), 136 the long term solution considers using 137 a new key for the euro character. Most keyboard manufacturers have only 138 implemented the short-term solution by including a euro representation under 139 the 'E' key. The operating system must take this input and convert it into 140 the euro symbol internally. However: 141 142 143 The international US keyboard and the greek latin use AltGr+5 and 144 Ctrl+Alt+5 for euro representation. 145 The greek keyboard uses AltGr+? for euro representation. 146 The english and irish keyboards use the combinations AltGr+4 and 147 Ctrl+Alt+4 148 The hungarian and polish keyboards use the AltGr+U combination. 149 150 151

In this document, however, most examples will assume that the euro symbol 152 will be generated by typing AltGr+E (the euro-test program 153 assumes this too). 154 155 Is Debian euro-ready? 156 157

The Debian operating system can be properly configured to 158 show the euro character, both in console and in the X windowing 159 system since the 2000 release Debian 2.2 (aka 'potato'). However, 160 many users have not properly configured that support since then, 161 and there are some caveats in configuration that have not been 162 completely fixed until Debian 3.0. 163 164

In any case, some problems might arise from programs defaulting to 165 ISO-8859-1 or even ASCII-US, and some even can't be configured 166 properly to use ISO-8859-15 (bug reports through the 167 168 should/will be filed against them). 169 170 171 Automatic configuration 172 173 The language-env package 174 175

This package is an attempt to setup the user's environment locale 176 properly by changing the user's ~/.bash_profile, 177 ~/.Xresources and other user's configuration files. The 178 included program guides the user in the definition of the locale by 179 asking for his country and whether he desires (or not) euro 180 support. Those tasks that need to be taken aside (since the program 181 runs as an ordinary user it cannot change system-wide settings) are 182 presented to the user so he can (as superuser) make the appropriate 183 changes. 184 185 The euro-support package 186 187

The euro-support package is an attempt to provide appropriate 188 system-wide configuration to represent the euro character 189 easily in the Debian GNU/Linux operating system. This package provides 190 this configuration in two ways: 191 192 193 Depending on the appropriate packages needed in order to have 194 euro support. 195 Configuring the system upon installation in order to provide 196 euro support. 197 198 199

NOTE: The second part is not yet built-in euro-support. 200 201

There are currently three packages: 202 203 204 euro-support 205 includes this document as well as the euro-test program 206 euro-support-console 207 includes the dependencies for providing euro icon in console environment 208 euro-support-X 209 includes the dependencies for the X windows environment 210 211 212 The euro-test program 213 214

There is a test program called euro-support package program provided in order for 216 the user to see if the euro symbol 217 is properly represented in his system. This program has been 218 written in order to test if the system configuration is appropriate 219 and works both for the text console and the X graphic environment. 220 Although developed for the Debian GNU/Linux system it can be 221 used in other GNU/Linux operating systems in order to test for the 222 euro support. 223

The goal of the program is to determine if/why the user's system 224 provides the euro symbol. The information gathered could be used 225 to manually configure the system properly together with this document. 226 227 The user-euro-XXX packages 228

There are also some packages (currently there is only a spanish version: 229 the user-euro-es package) that will fully customize 230 the system's (not the user's) enviroment in order to provide euro support. 231 This packages will (through the execution of a given command) modify 232 the system's configuration files (as explained below) and take the necessary 233 steps to configure the environment. 234

Administrators in a haste are encouraged to use this packages and run 235 the aforementioned scripts (user-euro-es). However, users are encouraged to read through this document 236 in order to be forewarned of all the issues (some of which cannot be 237 tackled automatically). 238 239

This package is an attempt to setup the user's environment locale 240 241 Configuring euro support 242 243 Initial considerations 244

Configuring euro support in a system involves two steps, which 245 should be pretty simple: 246 247 248 tell the system you want to use euros (aka. localisation) 249 have a font available that represents euros. 250 provide a mechanism for the keyboard to send the euro character. 251 252 253

The in the euro zone for the euro symbol generation 255 on modern keyboards is the 256 AltGr+e combination for the euro currency and AltGr+c for the cent. 257 Note: Laptop users might not have AltGr. 258 259

This document will approach the euro configuration in Debian taking 260 a look, first, towards localisation issues, and how localisation can 261 be properly configured in Debian. Afterwards, it will go into how to 262 configure the console (virtual terminals) available in all Debian 263 GNU/Linux systems. Many users might want to skip this section and go 264 directly to the next section, which discusses the proper configuration 265 of the graphic environment (X windows) for euro support. 266 267

Even if it might sometimes confuse the reader, the different 268 configuration issues are discussed both for the old Debian release 269 (as of this writing Debian 2.2 codename 'potato') and the latest Debian 270 release (Debian 3.0 codename 'woody'). Future versions of this 271 document might separate the information regarding different Debian 272 versions (when it really gets messy :) 273 274 Localisation issues 275

Programs use the localisation environment in order to know both 276 the language and the charset being used. Currently there is no separation, 277 unless you are using UTF-8 278 from locale and representation. Environment locales use both the 279 language for example: 280 281 es_ES.ISO-8859-1 282 en_US.utf 283 .... 284 285 286

Locale definitions are stored in Debian at /etc/locale.alias 287 for the libc library and 288 /usr/X11R6/lib/X11/locale/locale.alias. In order to indicate 289 which charset you are using, you need to set your LANG environment 290 variable. One of the ways of doing this is changing /etc/environment or 291 /etc/profile. 292 293

However, there is a problem due to the different representation of locales 294 in XFree86 (Xlib) and glibc (one uses ISO8859 and the other ISO-8859, note the 295 dash). Thus, 296 setting the locale to XX_XX.ISO-8859-15 in /etc/environment 297 is doomed to cause problems in the X environment (might not be recognised 298 or generate errors in applications). 299

Since Debian 3.0, the XX_XX@euro alias is provided in the 300 /usr/X11R6/lib/X11/locale/locale.alias 301 and in the /etc/locale.alias, users that wish to setup 302 their locale environment should use this abbreviation instead of the 303 previous XX_XX@ISO-... 304 305

You can see your current environment running locale, 306 and your current map character using locale charmap. 307 In order to change your locale edit /etc/environment or 308 /etc/profile and add (the example is for Spanish, 309 change as needed): 310 311 export LANG=es_ES@euro 312 export LC_ALL=es_ES@euro 313 314 315

Note: You must use the @euro part. Otherwise, if you 316 just use es_ES the locale definition will be that of 317 the ISO-8859-1 charset. 318 319

Please, note that the LANG and LC_ALL definitions should be similar 320 (or even better the same). Otherwise libraries might warn against 321 incompatible locale. You will see warnings if, for example, you set: 322 323 export LANG=spanish 324 export LC_ALL=es_ES@euro 325 326

since 'spanish' is aliased to es_ES.ISO-8859-1 and es_ES@euro is 327 alised to es_ES.ISO-8859-15. Be careful with this issue since some 328 programs do not check the locale.aliases file and use 329 hardcoded value for them. It is not recommended to change the 330 locale.alias to have, for example, 'spanish' aliased to 331 es_ES.ISO-8859-15 since programs that use these method will not 332 properly work. If your favorite software does not work with the 333 'XX_XX@euro' please file a bug against it. 334 335

You can check all the available locales by running locale -a 336 337

For programs that give too many warnings much because of 338 localisation/representation issues with stuff similar to 339 340 Gdk-WARNING **: locale not supported by C library 341 342 or 343 344 Warning: locale not supported by C library, locale unchanged 345 346 use LANG=XX_XX.ISO-8859-1 program& 347 to run them and avoid the errors/warnings. 348 In any case, check that you have properly set your locale and, if so, 349 file a bug against the offending package. 350 351

In order for your X environment to work there should be a 352 definition of the iso8859-15 definition at 353 /usr/X11R6/lib/X11/locale. If you do not have properly configured 354 locales, X might warn about this (before it runs any program). 355 Please check your ~/.xsession-errors file 356 since this might be happening without the user noticing in 357 modern desktop enviroments (all errors are directed there 358 and not to the screen). A sample warning would be: 359 360 Warning: locale not supported by Xlib, locale set to C 361 362 363 364 Locales in Debian 3.0 365

In order for your locales to work in 3.0 366 the administrator has to configure properly the system's 367 localization. The easiest way to make 368 this modifications is to call dpkg-reconfigure -plow locales, 369 and choose your locale in the version with an @euro appended. 370 371

You can also edit /etc/locale.gen directly, inserting 372 there the euro locales definitions and run locale-gen. If 373 your locales are already defined there but appended with a '#' sign, 374 uncomment (remove that sign) the lines needed for the users' 375 locale. Mainly the XX_XX.ISO-8859-15 lines and the XX_XX@euro lines 376 and run locale-gen. This should create 377 /usr/lib/locale/XX_XX@euro. 378 379 Locales in Debian 2.2 380 381

You cannot edit /etc/locale.gen if you are using 382 Debian 2.2 since it does not exist. 383 But, in any case, you do not need to do it since 384 all the locales are included in Debian as default. 385 However, Debian 2.2 locales (version 2.1.3-13) does not 386 provide the euro definition. If an upgrade to woody's (3.0) locale is not 387 possible (this upgrade will most probably change the libc version), 388 you will need to make the changes manually. 389 390

In Debian 2.2, users need to change some files (these changes are 391 unnecessary in 3.0 since they already have been made). 392 Supposing an Spanish environment (es_ES locale), the change 393 for /etc/locale.alias is: 394 395 es_ES@euro es_ES.ISO-8859-15 396 397 398 and for /usr/X11R6/lib/X11/locale/locale.alias is: 399 400 es_ES@euro es_ES.ISO8859-15 401 402 403

After doing this you have to generate your locales 404 You can do so running localedef manually. 405 Charmapfiles are found in /usr/share/i18n/charmaps, inputfiles 406 can be found in /usr/share/i18n/locales. In order to create, for 407 instance, a en_US.ISO-8859-15 locale, you'd do this: 408 409 410 $localedef --force -i /usr/share/i18n/locales/en_US \ 411 -f /usr/share/i18n/charmaps/ISO-8859-15 \ 412 en_US.ISO-8859-15 413 414 415 You can usually also use a simplified version since localedef 416 should be able to find the charpmaps and locales on its own: 417 418$ localedef --force -v -i en_US -f ISO-8859-15 en_US.ISO-8859-15 419 420 421

The directory created is named 422 /usr/share/locale/en_US.iso885915. You also have to create 423 the en_US.ISO-8859-15 directory, do so by symlinking it to the previous one. 424 425 $cd /usr/share/locale 426$ ln -s en_US.ISO-8859-15 en_US.iso885915 427 428 429 430 Configuring the Console 431 432 433

434 Configuring the text console in order to have the euro symbol ready 435 is simple. 436 The following will work in a Debian GNU/Linux system: 437 438 $loadkeys euro.inc 439$ consolechars -f lat0-16.psf 440 441 442

However, this changes are lost after reboot. In order to make them 443 permanent, some changes need to be done to the configuration files 444 of Debian packages. 445 446 Configuring the console keyboard 447 448

Changing the key mappings involves changing 449 /etc/console-tools/default.map.gz or 450 /etc/kbd/default.map.gz. Usually, this keymap is 451 changed by using kbdconfig (if you are not using console-tools see 452 below for the different console keyboard schemes in Debian), 453 since it is loaded before any 454 network filesystem is mounted, you cannot change it directly 455 (for example by adding 456 include euro there) as it might not be able to load extensions 457 (since they are located at /usr/share/keymaps). 458 In order to have euro support, 459 if your keymap currently does not have one you will have to modify an 460 existing one. Here is an example on how to change the Spanish keymap 461 to support euro characters (kbdconfig will ask some questions, 462 only the answers are shown below): 463 464 465 $cd /usr/share/keymaps/i386/qwerty 466$ cp es.kmap.gz es-euro.kmap.gz 467 $gzip -d es-euro.kmap.gz 468$ echo "include \"euro\"" >>es-euro.kmap 469 $echo "altgr keycode 46 = cent" >>es-euro.kmap 470$ gzip es-euro.kmap 471 $kbdconfig 472 -----ANSWERS: 473 n 474 i386 475 qwerty 476 es-euro 477 y 478 y 479$ zgrep "keycode 18" /etc/console-tools/default.kmap.gz 480 keycode 18 = +e +E currency Control_e 481 Control_e Meta_e Meta_E Meta_Control_e 482 483 484

FIXME: A bug should be opened against console-data in order to include 485 this by default in all the euro-zone language maps. 486 487 How the keyboard is loaded in Debian 488

The console-common in Debian 3.0 installs 489 /etc/init.d/keymap.sh which runs loadkeys 490 of console-tools (using /etc/console-tools/default.map.gz) or 491 kbd (using /etc/console/boottime.kmap.gz). This file 492 has been generated using /usr/sbin/install-keymap. 493 494

When a system boots up it runs 495 /etc/rcS.d/S05keymap.sh (for kbd) 496 or /etc/rcS.d/S05keymap-lct.sh (for console-tools) 497 which installs the appropriate keymap. Both scripts will make either 498 /etc/init.d/keymap.sh 499 or /etc/init.d/S05keymap-lct.sh 500 being called with the 'start' option. 501 502 Configuring the console fonts 503 504

The easy way to configure a console in a Debian system is to 505 install the fonty provided since Debian 2.2 and 506 tell it to use iso15 fonts (fonty currently does not support 507 iso-8859-16 yet, however). These fonts will include the euro character 508 and the package will configure properly the configuration files 509 needed. You will need, however, to configure the keyboard mappings, 510 as describe previously. 511 512

If you do not want (or like) the fonty font, you 513 can configure the console fonts yourself. In order for the fonts to 514 be loaded automatically when the system is started, you (as superuser) 515 have to change some of the configuration files. 516 517

If the system is using the console-tools 518 package, then the /etc/console-tools/config file will be 519 present. In order to load the appropriate font you need to include the 520 line: 521 522 SCREEN_FONT=lat0-16 523 APP_CHARSET_MAP=iso15 524 525 526

If you are using multiple virtual terminales you might want to add this: 527 528 APP_CHARSET_MAP_vc1=iso15 529 APP_CHARSET_MAP_vc2=iso15 530 APP_CHARSET_MAP_vc3=iso15 531 APP_CHARSET_MAP_vc4=iso15 532 APP_CHARSET_MAP_vc5=iso15 533 APP_CHARSET_MAP_vc6=iso15 534 535 536

If you are using the kbd package you will need 537 to edit the /etc/kbd/config adding, for example: 538 539 CONSOLE_FONT=lat0-16.psfu.gz 540 # CONSOLE_MAP=iso15 541 CONSOLE_MAP=8859-15_to_uni 542 543 544

Of course, the lat0-16 font is not the only one available, 545 since the console-data package version 1999.08.29-11.1, there are quite 546 a number of latin9 (aka. latin0) fonts available at 547 /usr/share/consolefonts. Some other people prefer the 548 lat0-sun16 font, it's just a matter of taste. 549 550

If you are using the svgatextmode package 551 (obsoleted by the framebuffer) you might configure the console font 552 also by changing the /etc/TextConfig file. 553 554

NOTE: If you are using the framebuffer device for console text, 555 read the note regarding console-tools configuration in the 556 /etc/console-tools/config file. Basically, the global 557 definition will only work for the first virtual terminal, you need 558 to explicitly state the font for the other terminals like this: 559 560 561 SCREEN_FONT_vc1=lat0-16 562 SCREEN_FONT_vc2=lat0-16 563 SCREEN_FONT_vc3=lat0-16 564 .... 565 566 567 568 Configuring the X environment 569 570

For the graphic environment to represent euros you also need to have: 571 572 573 fonts which include the euro symbol 574 proper configuration of the keyboard 575 576 577

XFree86 includes euro-ready fonts since version 3.3.3.1, like, for 578 example 7x13euro.bdf or 7x13euroB.bdf. However, the user might not 579 have them installed since ISO-8859-15 fonts are not part of the default 580 (basic) XFree86 installation. 581 582

Also, Debian 3.0 provides proper keyboard configuration for most languages. 583 However, some languages do not provide full euro support due to the 584 keycode not being properly defined. If your language does not behave 585 properly in X, please submit a against the xlibs package 587 (known related bugs include 588 , 589 and 590 ) 591 592 Keyboard configuration 593 594

The keyboard configuration here is easier that in console. 595 If you are using the Xkb extensions in the X server (the default since 596 3.3.5) you can change it using the 597 XkbLayout option in the InputDevice section of the 598 X configuration file. That file is located in /etc/X11/XF86Config 599 for XFree86 3.3.6 and /etc/X11/XF86Config-4 for XFree86 4.1. 600 601

There are several ways you can 602 add support for the euro definition: 603 604 by changing the xkb extensions included in the X server. 605 by loading a new modmap (using 607

If you change the modmap with Xmodmap by doing: 611 612 $xmodmap -pke > ~/.xmodmap 613 614 615 NOTE: Xmodmap is obsolete, please use the Xkb extensions. Future releases 616 of XFree86 might not even support user's defined xmodmaps. 617 618 NOTE: the locales setting must be done before Xsession starts, 619 so make sure that your configuration is loaded properly before 620 executing startx (if you are using an XDM application such 621 as gdm you can choose the settings from it). 622 623 NOTE: The symbol used for the Euro sign varies from Xfree 3.3.6 624 (standard X server in Debian 2.2) to Xfree 4.1 (standard X server 625 in Debian 3.0). In Xfree 3.3.6 you will have to use "currency" instead of "EuroSign" 626 as the symbol definition. This has changed in Xfree 4.1 which has built-in support 627 for the EuroSign character. If you use currency that same symbol 628 in Xfree 4.1, due to UTF support, it might not represent properly the 629 Euro character. 630 631 Xfree in Debian 3.0 632 633 If you are using Debian woody (3.0), which includes XFree86 4.1, 634 you only need to have it properly configured to a language in the euro zone, 635 this is done in the configuration file /etc/X11/XF86Config-4. 636 Inputting the euro symbol should work correctly 637 (if not, please file a bug). 638 639 You can also make some changes to provide euro support if 640 your system does not work properly. You can change the Xkb extensions 641 (at the files in /etc/X11/xkb/symbols) 642 to include Euro support with something along the lines of: 643 644 key <AD03> { [ e, E ], 645 [ EuroSign, cent ] }; 646 647 This, however, should already be provided in all the files of languages 648 from the Euro zone (es, de...) 649 Or, you can change your Xmodmap definition with: 650 651$ echo "keycode 0x1A = e E EuroSign cent" | xmodmap - 652 653 654

If you are not using Xkb extensions you will have to change 655 the definitions available at the /usr/share/xmodmap/ 656 directory (the file name is xmodmap.XXX with XXX the one 657 appropriate to your language). 658

Since Xkb extensions is the default behavior the Xmodmap files provided 659 by Xfree86 4.1 might not be updated properly. Check that the line 660 related to the keycode 26 (E character) 661 looks like the following line: 662 663 keycode 26 = e E EuroSign cent 664 665 666 Xfree in Debian 2.2 667

668 If you are using versions equal to, or prior to Debian potato (2.2), 669 the language definition might not be properly defined. If an upgrade 670 to a newer version of XFree86 is not possible, you can use any of the 671 previous approaches to add support for the euro definition: 672 673

You can change the Xkb extensions 674 (/etc/X11/xkb/symbols) to include currency support 675 with something along the lines of 676 677 key <AD03> { [ e, E ], 678 [ currency, cent ] }; 679 680 681

Or, you can change your Xmodmap definition with: 682 683 $echo "keycode 0x1A = e E currency cent" | xmodmap - 684 685 686 You can also use the definitions available at the 687 /usr/share/xmodmap/ 688 directory (change the file appropriate to your language) if you are 689 not using Xkb extensions. Check that the line 690 related to the keycode 26 (E character) 691 looks like the following line: 692 693 keycode 26 = e E currency cent 694 695 696 Debian 2.2 Xmodmap definitions of the languages in the euro zone contain 697 the euro character (using the currency symbol), so you can use the following 698 xmodmap /usr/share/xmodmap/xmodmap.XX (XX is the language you 699 want to use). 700 701 702 Font configuration 703 In order to represent the euro symbol in X you need to have 704 appropriate fonts to represent the ISO-8859-15 encoding (if not using 705 UTF-8). You can see which fonts could be used for this by doing: 706 707$ xlsfonts | grep 'iso8859-15$' 708 709 710 In a default Debian installation, the only font that provides 711 this encoding is the fixed (misc) font, which might be proper 712 for an xterm but might not show up nice in many other applications. 713 However, Debian 3.0 (woody) provides the transcoded package fonts 714 which include other ISO-8859-15 fonts. The packages are 715 xfonts-base-transcoded, 716 xfonts-75dpi-transcoded, 717 xfonts-100dpi-transcoded, and you can install them by 718 running apt-get install 'xfonts.*transcoded'. 719 720 Some people might not want to install these packages because they are 721 quite large, around 15 Mb. There is a hacked version available, 722 with all non-15 fonts removed which is less than 3Mb in size. 723 You can find it at . 724 Note that this is not part of the standard Debian distribution. 725 726 (FIXME if users really need this the transcoded packages should 727 be broken in two.) 728 729 Potato, XFree86 3.X 730 731 Please note that if you are using Debian 2.2 you cannot install 732 these packages without a system upgrade since they depend on XFree86 4. 733 734 The following packages also provide ISO-8859-15 fonts: 735 xfonts-jmk, xfonts-arphic-bsmi00lp, xfonts-arphic-gbsn00lp, 736 xfonts-arphic-bkai00mp and xfonts-arphic-gkai00mp. 737 738 The xfonts-cyrillic package provides also 739 (in the XFree86 3.3.6) some ISO-8859-15 fonts. 740 FIXME: Verify this last statement (seems to due to the 741 data sent to me from users of the euro-test program) 742 743 NOTE: Be sure you do not have a default definition for another 744 font in your .Xdefaults file. For example with 745 746 *VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16 747 748 749 If you cannot find any suitable fonts, you can use the ISO10646-1 fonts which 750 are a superset of the different ISO8859-X fonts and are also provided 751 in Debian. Markus Kuhn provides a script called ucs2any.pl 752 which states: 753 754 755 This Perl script allows you to generate from an ISO10646-1 encoded 756 BDF font other BDF fonts in any possible encoding. This way, you can 757 derive from a single ISO10646-1 master font a whole set of 8-bit 758 fonts in all ISO 8859 and various other encodings. 759 760 761 There are Unicode fonts for X-windows available 762 at . 763 In ucs-fonts.tar.gz and ucs-fonts-75dpi100dpi.tar.gz there are Times, 764 Helvetica, Lucida, Utopia, New Century, Schoolbook, Courier... fonts that can 765 be used. You can also use the yudit program to change these 766 fonts. 767 768 There are Debian packages available to install the Kuhn's unicode fonts. 769 FIXME: What are the names for them? 770 771 There are other useful XFree86 3.3.6 ISO-8859-15 fonts at , even if provided 773 mostly for Estonian users they are correct fonts and include modified 774 helvetica, times, courier and one font for terminal. 775 779 780 Euro support in applications 781 782 FIXME: Text needed 783 784 Why talk about applications? 785 Even if you have the euro symbol working correctly (you can input 786 it from the keyboard and see it on your screen) you still need to 787 see if your applications work properly. 788 789 Some problems here arise 790 in graphic applications which might use their own fonts and might, 791 therefore, be unable to represent the euro symbol (even if you input 792 it correctly) because they do not have an internal representation for it. 793 Hint: you could make your life easier if you run a font selector program 794 like gtkfontsel (gtkfontsel package) 795 and you set the mask of visible fonts to ISO-8859-15. 796 797 However, the encoding made by the program for texts and data that 798 it uses is also an important issue. If it's unable to represent 799 internally the charset used (be it ISO-8859-15 or Unicode) support 800 for euro might not fully work. So, one thing is using ISO-8859-15 801 for menubars, program messages et al, and a different one is using 802 ISO-8859-15 for data used by the program (text, information on 803 databases...). 804 805 Applications with known euro support 806 807 The following applications are known to have support for the euro character: 808 809 810 Terminals: XTerm, Rxvt and their derivatives, GNOME Terminal, Eterm. 811 812 Editors: gVim, Emacs, XEmacs, Kword, Mcedit, kedit, kwrite. 813 Note: Emacs21 (in woody) does support latin9 documents. 814 815 Programs using GTK+/GLib 816 817 Desktop environments: GNOME and KDE. 818 819 Konqueror, Mozilla 820 821 Mutt 822 823 Apache 824 825 LaTeX 826 827 groff (nroff, troff, grotty) 828 829 a2ps 830 831 Staroffice 5.0 (not provided in Debian but a FAQ) it seems to 832 use it own fonts, so you cannot use the locally installed fonts, 833 however it seems the 'Conga' font does include the euro-character. 834 835 LyX (1.1.6fix4 and above) 836 837 Perl. 838 839 840 841 XTerm and its derivatives 842 843 If the euro character is not represented in your X terminal emulator, you 844 can change the default font by changing either the users' configuration 845 files (.Xdefaults or .Xresources) or the 846 system-wide configuration at /etc/X11/app-defaults/XTerm: 847 848 849 *font: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15 850 *VT100*font2: -misc-fixed-medium-r-normal-*-*-70-*-*-c-*-iso8859-15 851 *VT100*font3: -misc-fixed-medium-r-normal-*-*-100-*-*-c-*-iso8859-15 852 *VT100*font4: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15 853 *VT100*font5: -misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15 854 *VT100*font6: -misc-fixed-medium-r-normal-*-*-200-*-*-c-*-iso8859-15 855 856 857 In /etc/X11/app-defaults/XTerm, make sure you replace old 858 lines with these options. 859 860 After editing a .Xdefaults file, reload it with 861 xrdb -merge ~/.Xdefaults. (Similarly for .Xresources.) 862 863 Note that the derivative programs also use the font resource to 864 set the default font, so the procedure is analogous. 865 866 GNOME Terminal 867 868 You can configure the Gnome terminal to use a euro-ready font 869 by changing the font in the Configuration->Preferences menu. 870 871 RXVT and its derivatives 872 873 Rxvt and the programs derived from it (e.g. Aterm, Wterm) also use the 874 font resource from ~/.Xresources or 875 ~/.Xdefaults, see above for how it's done in XTerm. 876 877 Eterm 878 879 Change the user configuration (~/.Eterm/user.cfg) with: 880 881 <Eterm-0.9.1> 882 begin attributes 883 scrollbar_type motif 884 scrollbar_width 10 885 font default 2 886 font proportional 0 887 font 0 -b&h-lucidatypewriter-medium-r-normal-*-*-80-*-*-m-*-iso8859-15 888 font 1 -b&h-lucidatypewriter-medium-r-normal-*-*-100-*-*-m-*-iso8859-15 889 font 2 -b&h-lucidatypewriter-medium-r-normal-*-*-120-*-*-m-*-iso8859-15 890 font 3 -b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-15 891 font 4 -b&h-lucidatypewriter-medium-r-normal-*-*-180-*-*-m-*-iso8859-15 892 end attributes 893 894 895 gVim 896 897 ~/.vimrc or (systemwide) /etc/vim/vimrc: 898 899 900 set guifont=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-15 901 set encoding=iso-8859-15 902 903 904 Emacs, XEmacs 905 906 GNU Emacs 21 and XEmacs 21 provide support for latin9. 907 However, in versions previous to Emacs21, (Mule) 908 does not show an option to save documents 909 using latin9 (latin0) or ISO-8859-15. 910 911 You might need, however, to change the font that Emacs runs with in 912 order to present the Euro character in X windows. 913 To do so, run emacs with a euro font with the -fn switch or configure it to 914 always use a given font by editing ~/.Xresources: 915 916 917 Emacs.default.attributeFont: -*-Lucidatypewriter-Medium-R-*-*-*-110-*-*-*-*-iso 918 8859-15 919 920 921 922 You can also try adding the following lines in .emacs, 923 or .xemacs/init.el for XEmacs: 924 925 926 (set-face-font 927 'default '"-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15") 928 929 930 GNOME and GTK+ 931 932 Gnome applications do mostly support another charset without problems. 933 Depending on your local configuration, you probably would have to change the 934 default font. Please start (in Gnome) the Control Center and choose a font with 935 iso8859-15 encoding. If you don't have gnomecc installed, you could 936 make this setting manually, creating an customised gtkrc file in your home 937 directory (~/.gtkrc) and adding the lines show below. 938 939 Better yet, change the systemwide GTK+ settings in 940 /etc/gtk/gtkrc. You can do this in two different ways: 941 942 943 944 Linking (or copying) /etc/gtk/gtkrc.iso-8859-15 to 945 /etc/gtk/gtkrc (recommended). In Debian this file 946 contains: 947 948 style "gtk-default-iso-8859-15" { 949 fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\ 950 -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\ 951 -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-15,\ 952 -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-15,*-r-*" 953 } 954 class "GtkWidget" style "gtk-default-iso-8859-15" 955 956 957 Adding the needed lines to /etc/gtk/gtkrc directly 958 (discouraged but might be necessary sometimes) 959 960 961 962 Here are some sample lines you can add to the configuration file: 963 964 965 style "user-font" 966 { 967 font="-monotype-arial-medium-r-normal-*-12-*-*-*-p-*-iso8859-15" 968 } 969 widget_class "*" style "user-font" 970 971 972 KDE 973 974 KDE euro support works as described at . 976 You have to set up yor Xfree environment as described above. 977 Users have reported even to have KDE's euro support working in Potato 978 using custom XFree86 3.3.6 fonts (as described in . 979 980 Be careful when setting the locale and use the aliases defined in 981 the X library since, as described at , setting the charset as 983 'ISO-8859-15' will not work, it needs to be 'ISO8859-15'. This issue 984 is further discussed at . 985 986 Once this is done, you have to go to KDE's 987 Control Center::Personalization::Country & Language. And set your 988 Country name and "Charset: iso8859-15". 989 990 When writting this document, I first thought (when I read ) that KDE didn't work 992 with Euro characters. But you only have to configure it properly. 993 You can . If it does not work for you 995 check your charset and the fonts available. 996 997 However, there are know bugs due to the localesconf 998 which does not set the KDE environment properly. You should take 999 your time and read Bug 1000 . 1001 and Bug 1002 . 1003 1004 Apache 1005 1006 Apache 1007 You should modify your webserver settings if you want to present some 1008 sites with a non-ISO8859-1 charset, unless you want your users to change their 1009 charset manually each time. Following settings for Apache (eg. put into an 1010 .htaccess file) tells the browsers the charset they have to use: 1011 1012 AddType text/html;charset=ISO-8859-15 html 1013 1014 You can use the euro character directly in the documents, this information 1015 could be provided also in the HTML documents DTD. In any case you 1016 can use, the HTML 4.0 euro representation and not configure Apache. 1017 1018 Mutt 1019 1020 Works flawlessly by setting if$LC_CTYPE is properly 1021 defined. If you are having issues making it work (i.e. you have 1022 a broken system) try adding to the muttrc file (user's or global): 1023 1024 set charset=iso-8859-15 1025 set send_charset="us-ascii:iso-8859-15:iso-8859-1:utf-8" 1026 1027 1028 1029 LaTeX 1030 1031

There are several ways to introduce the euro character in LaTeX: 1032 1033 With textcomp package and the \texteuro macro (TS1 fonts) 1034 With the marvosym package, using type1 fonts. 1035 With the eurosym package using metafont fonts. 1036 1037 1038

Thus, you can use the marvosym package that is included in 1039 tetex-base 1040 (/usr/share/texmf/tex/latex/misc/marvosym.sty). 1041 This package includes some symbols, including the euro symbol, in 1042 different fonts (Times, Helvetica and Courier). Of course, you do not need 1043 to be able to input the euro character (or see it in X) since the 1044 LaTeX files will be translated into postscript files (no font needed 1045 for their viewing with xpdf or other postscript viewers). 1046 The include it in your documents with 1047 1048 \EUR 1049 1050 1051

Debian 3.0 also has the tetex-eurosym package 1052 which allows the euro representation too. You can use this package 1053 even if on a pure stable system to reproduce Euro symbols. 1054 1055 \texteuro 1056 1057 1058

In order to represent the cent you need to use textcomp.sty which is provided in tetex-base. 1059 1060

A common problem is, however, not having an input encoding in order 1061 to include this characters directly. You can use, however the files 1062 provided at , and place them under 1063 /usr/share/texmf/tex/latex/base/ in order to do so. 1064 1065

FIXME: Wishlist bug against tetex-base so they get included. 1066 1067 Kword 1068 1069

Kword includes a document in the demos directory called 1070 eurosign.kwd which can be used to determine if fonts 1071 are properly installed. It is available at 1072 /usr/share/doc/kword/examples/eurosign.kwd.gz 1073 1074

Note: This file was available since Kword 1.1.1-5, see . 1076 1077 LyX 1078 1079

As of version 1.1.6fix4-2 LyX adds support for latin3, latin4 and 1080 latin9 encodings. 1081 1082 1083 groff (nroff, troff, grotty) 1084 1085

It provides latin1, ascii8 and utf8 as devices. In order to generate 1086 manpages in latin0 it seems the ascii8 device needs to be used. 1087 1088

Latest versions of groff (1.18, available in sarge or 1089 sid) do provide the glyphs for the Euro sign 1090 (eu for the official Euro symbol and Eu as a font 1091 font-specific glyph variant). 1092 1093 Debiandoc-sgml 1094

The package debiandoc-sgml has been fixed as 1095 of April 2002 fixing 1096 and now supports the @euro locales. 1097 1098 Tgif 1099

The tgif can support the euro character too. 1100 You will have to add the following lines to your 1101 .Xdefaults or to the system-wide app-defaults 1102 (under /usr/share/apps/tgif/app-defaults/): 1103 1104 1105 Tgif.AdditionalFonts: \n\ 1106 new century schoolbook-medium-r-normal,iso8859-15,Helvetica2-Light\n\ 1107 new century schoolbook-bold-r-normal,iso8859-15,Helvetica2-Bold\n\ 1108 new century schoolbook-medium-i-normal,iso8859-15,Helvetica2-Italic\n\ 1109 new century schoolbook-bold-i-normal,iso8859-15,Helvetica2-BoldItalic 1110 1111 1112

This will add another (Helvetica2) font to the fonts-menu. To get a 1113 Euro sign do Esc-$. Repeat this process for any of the 1114 other iso8859-15 fonts that you want to use. 1115 1116 Perl 1117 Perl is euro friendly. If it outputs some messages 1118 similar to "This locale is not supported" 1119 when running with an euro locale, this is due to not having 1120 your system properly configured to support the euro locale 1121 (see ). 1122 1123 Perl is used by quite a number of administrative scripts 1124 (including Debconf) so be prepared to see this errors if you 1125 have not configured your system properly (locale-wise). 1126 1127 Applications that do not support the euro character 1128 1129 The following applications (and associated versions) have been reported 1130 not to work with the euro character: 1131 1132 LyX 1.1.6fix3. ISO-8859-15 is not included in 1133 /usr/share/lyx/encodings and /usr/share/lyx/languages 1134 shows ISO8859-1 for euro-zone languages (for example, for Spanish). Problems 1135 with LyX are similar to LaTeX, there is a need for a new inputenc. Check, however , you will need, in any case type1 fonts 1136 for LaTeX to be able to print the character properly (currently not provided). 1137 Xfig 3.2.3 1138 GnuPG, supports only ISO-8859-1, ISO-8859-2, koi8-r and utf-8 1139 (see the --charset option in ) 1140 SGML tools (nsgml, 1141 sgml-tools. 1142 Most tools will currently warn if 1143 you are using any @euro locale, the nsgmls has 1144 currently no support for the iso-8859-15 encoding. 1145 1146 1147 1148 Frequently Asked Questions 1149 1150 I see a strange character instead of the euro 1151 If you are seeing a character that seems to be a circle with four 1152 lines streching out of it (the international symbol for currency) 1153 and not the euro symbol then the font you are using 1154 does not properly represent euros but your keyboard is sending 1155 it properly. Please check your environment/applications in order to 1156 see that you are using ISO-8859-15 fonts and not ISO-8859-1. 1157 1158 The euro character gets lost when switching from X to console 1159 FIX: Run (as superuser) /etc/init.d/console-screen reload 1160 (if console-tools is installed), or run 1161 setfont -u (if kbd is installed). 1162 REASON: There are fonts with an unicode map in the .psf file 1163 and others that do not include it. If these last ones are used the 1164 Linux kernel unicode map resets and when you return from an X 1165 virtual terminal the map is garbled. The 1166 Keyboard and Console HOWTO (available at 1167 /usr/share/doc/HOWTO/en-txt/Keyboard-and-Console-HOWTO.txt.gz 1168 if you have the doc-linux package) elaborates 1169 a little bit on this. 1170 1171 How do I see if my keyboard is properly configured? 1172 (Console terminal) You should see 'currency' when doing: 1173 1174$ dumpkeys |grep -i currency 1175 1176

(X graphic environment) You should see 'currency' when doing: 1177 1178 $xmodmap -pke | grep -i EuroSign 1179 1180 1181 How do I see if I can represent euros properly? 1182 1183 If using ISO-8859-15: 1184 1185$ printf "\xa4\n" 1186 1187

If using UTF-8: 1188 1189 $printf "\xe2\x82\xac\n" 1190 1191 1192 Of course, you can also see if the characters euro 1193 and cent are represented correctly by taking a look at a document 1194 that includes them. euro-support 1195 includes a representation of these in 1196 /usr/share/doc/euro-support/examples/characters, just 1197 cat the file and see if they get printed to the screen 1198 correctly. 1199 1200 1201 I'm using framebuffer, can I represent euros on console? 1202 Yes you can, (from the 1203 ) 1204 you just need to use the kbd package version 0.99 or later. 1205 1206 I can input the euro character when running 'euro-test' but this behaviour is lost when X is restarted. 1207 The euro-test program will input the proper keycodes to 1208 input the euro character using xmodmap. If you are able 1209 to use the keyboard combination to input the Euro character after using 1210 the program but cannot do it once you restart the X server, then 1211 the problem is that your default keyboard definitions are not properly 1212 setup. 1213 In Debian woody 3.0 (which provides xfree86-common 1214 version 4.1.0-16) most xkb layouts include the Euro sign 1215 1216 Only the gb (Great Britain) layout seems to be missing, 1217 a , 1218 but, in any case, you can retrieve a new 1219 /etc/X11/xkb/symbols/gb from the 1220 which includes the Euro sign. 1222 1223 but if you suffer this issue then file a 1224 against the 1225 xlibs package. 1226 1227 What is the longterm solution for this issue? 1228 Move towards UTF-8 encoding and separation of localisation 1229 and representation (no more XX_XX.ISO-8859-X). 1230 1231 About this document 1232 1233 Why this document? 1234 1235 I (Javier) have been thinking for a time on how to provide 1236 automatic configuration of the euro issue on the lines of the 1237 automatic stuff done by castellanizar in user-es. 1238 After going through some information on the problem and reading 1239 some threads in debian related mailing lists like 1240 , 1241 1242 and 1243 , I decided to 1244 post a poll to test how euro support was amongst Spanish speakers 1245 (). The results 1246 indicated that many people have not properly configured their 1247 systems even though Debian 2.2 (released more than a year ago) was ready 1248 for the euro problem. 1249 This document is the first step towards writing an automated tool 1250 to configure the user system for full euro support. Even if this could 1251 be done when Debian users move to UTF-8 there is a need of a short term 1252 solution before that move comes about. 1253 1254 References 1255 1256 The following documents complement this one and are useful for the 1257 reader to learn more information regarding the euro, 1258 Internationalisation and Unicode: 1259 1260 1261 . 1263 1264 by Tomohiro Kubota, which introduces basic concepts of internationalization 1265 and is centered on displaying and inputting characters with different 1266 encodings (ASCII, ISO-8859, multybyte characters...) 1267 1268 1270 1271 1272 . 1273 1274 1275 Some other (official) references: 1276 1277 . 1279 document produced by the European Comission. 1280 1281 1282 Changelog/History 1283 1284 List of changes done to this document. 1285 1286 1287 Changes in 1.2 1288 1289 1290 Fixed information on muttrc (closing bug #185751 1291 as reported by Marco d'Itri). 1292 Fixed information on Perl (closing bug #185752 1293 as reported by Marco d'Itri). 1294 1295 1296 Changes in 1.1 1297 1298 1299 Fixed a reference to Linuxdoc 1300 Fixed typos with a patch contributed by Tommaso Moroni. 1301 1302 1303 Changes in 1.0 1304 1305 1306 Fixed some typos 1307 Renamed woody references to 3.0 1308 Added a FAQ item regarding the X keyboard extensions (bug in woody) 1309 Updated groff information thanks to jrfern. 1310 Changed location of symbols to the proper place (/etc and not 1311 /usr/lib/X11) 1312 Added reference to know bugs in woody regarding the euro in X (mostly related 1313 to the GB layout). 1314 Removed a 404 link. 1315 1316 1317 Changes in 0.92 1318 1319 1320 Updated debiandocsgml information. 1321 Partially applied patch sent by jrfern (more later). 1322 Added information regarding tgif provided by J.I. van Hemert to close 1323 Bug #143054. 1324 1325 Changes in 0.91 1326 1327 1328 Updated KDE information including pointers to two bug reports 1329 Updated LyX info (it is not euro-compliant) 1330 Added Perl to the list of software not euro-compliant (but?) 1331 1332 Changes in 0.9 1333 1334 1335 Added emacs 21 note 1336 Removed repeated chapter (Why all this fuss...? and Why this document?) 1337 Added information on user-euro-es 1338 Changed from currency to EuroSign (under discussion) 1339 Major rewritting of Xfree section in order to distinguish xfree versions 1340 properly (currency and EuroSign symbol) 1341 Rewriting of Locale section to separate woody and potato information 1342 1343 1344 Changes in 0.8 1345 1346 1347 added note regarding tetex-eurosym on stable sent by Martin Schulze 1348 fixed HTML representation, suggested by Bernd Eckenfels 1349 added a note regarding the use of kbdconfig, suggested by Bernd Eckenfels 1350 added an acknowledgment to Guylhem Aznar 1351 fixed missing quote, sent by Cyrille Artho 1352 1353 1354 Changes in 0.7 1355 1356 1357 proofreading and slight reorganization by Josip Rodin 1358 1359 1360 Changes in 0.6 1361 1362 1363 fixed grammar errors with patch sent by Matt Kraai 1364 1365 1366 Changes in 0.5 1367 1368 1369 Added contributions from Juan Rafael Fernández, Miguel Sanjuan, 1370 Aurelien Jano, Phillip Siegert, Tomohiro Kubota, Ionel Mugurel and 1371 Alexander Steinert. 1372 1373 Moved the location of the explanations regarding fonty. 1374 1375 Rewrote the presentacion of supported applications to improve 1376 readability. 1377 1378 Rewrote acknowledgments (I'm getting kind of sentimental :) 1379 1380 1381 Changes in 0.4 1382 1383 1384 Added contributions submitted by Juan Rafael Fernández. 1385 Fixed a few typos spotted by Carlos Valdivia. 1386 Added more information on the euro-support package. 1387 1388 Changes in 0.3 1389 1390 1391 Added information regarding LaTeX provided by Juan Rafael Fernández 1392 Added more information and fixes contributed by Eduard Bloch. 1393 1394 Changes in 0.2 1395 1396 1397 added more information regarding euro standards 1398 added links to mailing list threads 1399 fixed some typos 1400 1401 1402 1403 Pending issues 1404 1405 This is a list of pending issues that some readers have sent 1406 and should be looked upon and documented appropriately: 1407 1408 1409 Modify the section related to TeX, LaTeX and the LyX 1410 frontend. Input/output issues are mixed, and use of latin0 with 1411 euro might not be the same issues (jrfern) 1412 1413 talk about how to change fonts and the prefered 1414 way on howto register a font in woody: defoma (make a howto, 1415 as a user I only execute type1inst and mkfontdir) (jrfern) 1416 1417 It seems that locales *@euro, ispell and all the programs 1418 which call it (emacs, mc..) need -t latin1 to work properly. Check. 1419 (jrfern) 1420 1421 1422 1423 Acknowledgements 1424 1425 I would like to take the opportunity to 1426 thanks all the people have contributed (knowingly or not) to the 1427 information contained in this HOWTO, specifically: 1428 1429 1430 1431 Juan Rafael Fernández (jrfern), who wrote a first draft of a euro-howto 1432 in Spanish. He has also contributed quiet a number of typos and suggestions 1433 in order to improve this document. 1434 1435 Hue-Bond, who answered himself some FAQs in the 1436 debian-user-spanish mailing list. 1437 1438 Jose Carlos Garcia Sogo, who showed up some very good insights 1439 on May 9th on the debian-users-spanish mailing list regarding this 1440 issue. 1441 1442 Ionel Mugurel who did an extensive explanation on the euro 1443 issues on 14th September 2000 on the debian-i18n mailing list and 1444 provided me with the so-much-needed LaTeX input encodings. 1445 1446 Guylhem Aznar the writer of the 1447 . 1448 Presented in a article in 1998. 1449 1450 Eduard Bloch, the writer of the . 1452 1453 Tomohiro Kubota who enlightened me on some of the problems of 1454 playing with the locale and its risks. 1455 1456 Pablo de Vicente, from the Spanish KDE translation team who made 1457 efforts to prove me wrong when I said that KDE did not support the euro. 1458 1459 Thomas Roessler, who contributed useful input regarding the locale 1460 section and made me separate it in two. 1461 1462 1463 And of course, all other people that contributed bits of 1464 typos/corrections/suggestions of which these HOWTO is made of. If you, 1465 reader, have to thank someone is theirs for their effort and 1466 knowledge, I only put it together here. 1467 1468 File definitions for LaTeX 1469 1470 Ionel Mugurel has provided the following input encoding definition 1471 files for latin9 and latin10 (not yet included in Debian). 1472 1473 Latin9.def 1474 1475 1476 %% 1477 %% This is file latin9.def', 1478 %% 1479 %% This is a new file. 1480 %% 1481 %% Copyright 2001 1482 %% Ionel Mugurel Ciobica 1483 %% 1484 %% Permision granted to copy, distribute and redistribute this file. 1485 %% 1486 %% Because of the euro symbol the tetex-eurosym package has to be 1487 %% installed. Otherwise an alternative is made to "draw" the character 1488 %% on place. Uncomment that line and comment the next one. 1489 %% 1490 %% Because of \textdegree and many other \text... commands, 1491 %% you might want to use \usepackage{textcomp} in your document. 1492 %% 1493 %% \CharacterTable 1494 %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 1495 %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 1496 %% Digits \0\1\2\3\4\5\6\7\8\9 1497 %% Exclamation \! Double quote \" Hash (number) \# 1498 %% Dollar \$ Percent \% Ampersand \& 1499 %% Acute accent \' Left paren $$Right paren$$ 1500 %% Asterisk \* Plus \+ Comma \, 1501 %% Minus \- Point \. Solidus \/ 1502 %% Colon \: Semicolon \; Less than \< 1503 %% Equals \= Greater than \> Question mark \? 1504 %% Commercial at \@ Left bracket $Backslash \\ 1505 %% Right bracket$ Circumflex \^ Underscore \_ 1506 %% Grave accent \ Left brace \{ Vertical bar \| 1507 %% Right brace \} Tilde \~} 1508 \ProvidesFile{latin9.def} 1509 [2001/10/07 v0.01 Input encoding file 1510 (test version: still liable to change)] 1511 \makeatletter 1512 \DeclareInputText{160}{\nobreakspace} 1513 \DeclareInputText{161}{\textexclamdown} 1514 \DeclareInputText{162}{\textcent} 1515 \DeclareInputText{163}{\pounds} 1516 %\DeclareInputText{164}{{\sffamily C\makebox[0pt][l]{\kern-.70em\mbox{--}}\makebox[0pt][l]{\kern-.68em\raisebox{.25ex}{--}}}} 1517 \DeclareInputText{164}{\euro} 1518 \DeclareInputText{165}{\textyen} 1519 \DeclareInputText{166}{\v S} 1520 \DeclareInputText{167}{\S} 1521 \DeclareInputText{168}{\v s} 1522 \DeclareInputText{169}{\copyright} 1523 \DeclareInputText{170}{\textordfeminine} 1524 \DeclareInputText{171}{\guillemotleft} 1525 \DeclareInputMath{172}{\lnot} 1526 \DeclareInputText{173}{\-} 1527 \DeclareInputText{174}{\textregistered} 1528 \DeclareInputText{175}{\@tabacckludge={}} 1529 \DeclareInputText{176}{\textdegree} 1530 \DeclareInputMath{177}{\pm} 1531 \DeclareInputMath{178}{^2} 1532 \DeclareInputMath{179}{^3} 1533 \DeclareInputText{180}{\v Z} 1534 \DeclareInputMath{181}{\mu} 1535 \DeclareInputText{182}{\P} 1536 \DeclareInputText{183}{\textperiodcentered} 1537 \DeclareInputText{184}{\v z} 1538 \DeclareInputMath{185}{^1} 1539 \DeclareInputText{186}{\textordmasculine} 1540 \DeclareInputText{187}{\guillemotright} 1541 \DeclareInputText{188}{\OE} 1542 \DeclareInputText{189}{\oe} 1543 \DeclareInputText{190}{\" Y} 1544 \DeclareInputText{191}{\textquestiondown} 1545 \DeclareInputText{192}{\@tabacckludgeA} 1546 \DeclareInputText{193}{\@tabacckludge'A} 1547 \DeclareInputText{194}{\^A} 1548 \DeclareInputText{195}{\~A} 1549 \DeclareInputText{196}{\"A} 1550 \DeclareInputText{197}{\r A} 1551 \DeclareInputText{198}{\AE} 1552 \DeclareInputText{199}{\c C} 1553 \DeclareInputText{200}{\@tabacckludgeE} 1554 \DeclareInputText{201}{\@tabacckludge'E} 1555 \DeclareInputText{202}{\^E} 1556 \DeclareInputText{203}{\"E} 1557 \DeclareInputText{204}{\@tabacckludgeI} 1558 \DeclareInputText{205}{\@tabacckludge'I} 1559 \DeclareInputText{206}{\^I} 1560 \DeclareInputText{207}{\"I} 1561 \DeclareInputText{208}{\DH} 1562 \DeclareInputText{209}{\~N} 1563 \DeclareInputText{210}{\@tabacckludgeO} 1564 \DeclareInputText{211}{\@tabacckludge'O} 1565 \DeclareInputText{212}{\^O} 1566 \DeclareInputText{213}{\~O} 1567 \DeclareInputText{214}{\"O} 1568 \DeclareInputMath{215}{\times} 1569 \DeclareInputText{216}{\O} 1570 \DeclareInputText{217}{\@tabacckludgeU} 1571 \DeclareInputText{218}{\@tabacckludge'U} 1572 \DeclareInputText{219}{\^U} 1573 \DeclareInputText{220}{\"U} 1574 \DeclareInputText{221}{\@tabacckludge'Y} 1575 \DeclareInputText{222}{\TH} 1576 \DeclareInputText{223}{\ss} 1577 \DeclareInputText{224}{\@tabacckludgea} 1578 \DeclareInputText{225}{\@tabacckludge'a} 1579 \DeclareInputText{226}{\^a} 1580 \DeclareInputText{227}{\~a} 1581 \DeclareInputText{228}{\"a} 1582 \DeclareInputText{229}{\r a} 1583 \DeclareInputText{230}{\ae} 1584 \DeclareInputText{231}{\c c} 1585 \DeclareInputText{232}{\@tabacckludgee} 1586 \DeclareInputText{233}{\@tabacckludge'e} 1587 \DeclareInputText{234}{\^e} 1588 \DeclareInputText{235}{\"e} 1589 \DeclareInputText{236}{\@tabacckludge\i} 1590 \DeclareInputText{237}{\@tabacckludge'\i} 1591 \DeclareInputText{238}{\^\i} 1592 \DeclareInputText{239}{\"\i} 1593 \DeclareInputText{240}{\dh} 1594 \DeclareInputText{241}{\~n} 1595 \DeclareInputText{242}{\@tabacckludgeo} 1596 \DeclareInputText{243}{\@tabacckludge'o} 1597 \DeclareInputText{244}{\^o} 1598 \DeclareInputText{245}{\~o} 1599 \DeclareInputText{246}{\"o} 1600 \DeclareInputMath{247}{\div} 1601 \DeclareInputText{248}{\o} 1602 \DeclareInputText{249}{\@tabacckludgeu} 1603 \DeclareInputText{250}{\@tabacckludge'u} 1604 \DeclareInputText{251}{\^u} 1605 \DeclareInputText{252}{\"u} 1606 \DeclareInputText{253}{\@tabacckludge'y} 1607 \DeclareInputText{254}{\th} 1608 \DeclareInputText{255}{\"y} 1609 \makeatother 1610 \endinput 1611 %% 1612 %% End of file latin9.def'. 1613 1614 1615 latin10.def 1616

1617 1618 %% 1619 %% This is file latin10.def', 1620 %% 1621 %% This is a new file. 1622 %% 1623 %% Copyright 2001 1624 %% Ionel Mugurel Ciobîcã 1625 %% 1626 %% Permision granted to copy, distribute and redistribute this file. 1627 %% 1628 %% The comma below accent for S, s, T and t doesn't look good 1629 %% for large characters. A solution would be to include internal 1630 %% support for comma below in the same way like for the dot below, 1631 %% so \C{t} to create the t comma below, etc. 1632 %% 1633 %% Because of the euro symbol the tetex-eurosym package has to be 1634 %% installed. Otherwise an alternative is made to "draw" the character 1635 %% on place. Uncomment that line and comment the next one. 1636 %% 1637 %% Latin10 is also comming with support for the German double quotations. 1638 %% You have to use babel with a language which support those quotations, 1639 %% German and Romanian come now in my mind... 1640 %% 1641 %% Because of \textdegree you might want to use \usepackage{textcomp} in 1642 %% your document. 1643 %% 1644 %% \CharacterTable 1645 %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 1646 %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 1647 %% Digits \0\1\2\3\4\5\6\7\8\9 1648 %% Exclamation \! Double quote \" Hash (number) \# 1649 %% Dollar \\$ Percent \% Ampersand \& 1650 %% Acute accent \' Left paren $$Right paren$$ 1651 %% Asterisk \* Plus \+ Comma \, 1652 %% Minus \- Point \. Solidus \/ 1653 %% Colon \: Semicolon \; Less than \< 1654 %% Equals \= Greater than \> Question mark \? 1655 %% Commercial at \@ Left bracket $Backslash \\ 1656 %% Right bracket$ Circumflex \^ Underscore \_ 1657 %% Grave accent \ Left brace \{ Vertical bar \| 1658 %% Right brace \} Tilde \~} 1659 \ProvidesFile{latin10.def} 1660 [2001/10/07 v0.01 Input encoding file 1661 (test version: still liable to change)] 1662 \makeatletter 1663 \DeclareInputText{160}{\nobreakspace} 1664 \DeclareInputText{161}{\k A} 1665 \DeclareInputText{162}{\k a} 1666 \DeclareInputText{163}{\L} 1667 %\DeclareInputText{164}{{\sffamily C\makebox[0pt][l]{\kern-.70em\mbox{--}}\makebox[0pt][l]{\kern-.68em\raisebox{.25ex}{--}}}} 1668 \DeclareInputText{164}{\euro} 1669 \DeclareInputText{165}{\guillemotleft} 1670 \DeclareInputText{166}{\v S} 1671 \DeclareInputText{167}{\S} 1672 \DeclareInputText{168}{\v s} 1673 \DeclareInputText{169}{\copyright} 1674 \DeclareInputText{170}{\ooalign{S\crcr\hidewidth\raise-.31ex\hbox{\scriptsize,}\hidewidth}} 1675 \DeclareInputText{171}{\quotedblbase} 1676 \DeclareInputText{172}{\@tabacckludge'Z} 1677 \DeclareInputText{173}{\-} 1678 \DeclareInputText{174}{\@tabacckludge' Z} 1679 \DeclareInputText{175}{\.Z} 1680 \DeclareInputText{176}{\textdegree} 1681 \DeclareInputMath{177}{\pm} 1682 \DeclareInputText{178}{\v C} 1683 \DeclareInputText{179}{\l} 1684 \DeclareInputText{180}{\v Z} 1685 \DeclareInputText{181}{\textquotedblleft} 1686 \DeclareInputText{182}{\P} 1687 \DeclareInputText{183}{\textperiodcentered} 1688 \DeclareInputText{184}{\v z} 1689 \DeclareInputText{185}{\v c} 1690 \DeclareInputText{186}{\ooalign{s\crcr\hidewidth\raise-.31ex\hbox{\scriptsize,}\hidewidth}} 1691 \DeclareInputText{187}{\guillemotright} 1692 \DeclareInputText{188}{\OE} 1693 \DeclareInputText{189}{\oe} 1694 \DeclareInputText{190}{\" Y} 1695 \DeclareInputText{191}{\.z} 1696 \DeclareInputText{192}{\@tabacckludgeA} 1697 \DeclareInputText{193}{\@tabacckludge'A} 1698 \DeclareInputText{194}{\^A} 1699 \DeclareInputText{195}{\u A} 1700 \DeclareInputText{196}{\"A} 1701 \DeclareInputText{197}{\@tabacckludge'C} 1702 \DeclareInputText{198}{\AE} 1703 \DeclareInputText{199}{\c C} 1704 \DeclareInputText{200}{\@tabacckludgeE} 1705 \DeclareInputText{201}{\@tabacckludge'E} 1706 \DeclareInputText{202}{\^ E} 1707 \DeclareInputText{203}{\" E} 1708 \DeclareInputText{204}{\@tabacckludgeI} 1709 \DeclareInputText{205}{\@tabacckludge'I} 1710 \DeclareInputText{206}{\^I} 1711 \DeclareInputText{207}{\" I} 1712 \DeclareInputText{208}{\D} 1713 \DeclareInputText{209}{\@tabacckludge'N} 1714 \DeclareInputText{210}{\@tabacckludgeO} 1715 \DeclareInputText{211}{\@tabacckludge'O} 1716 \DeclareInputText{212}{\^O} 1717 \DeclareInputText{213}{\H O} 1718 \DeclareInputText{214}{\"O} 1719 \DeclareInputText{215}{\@tabacckludge'S} 1720 \DeclareInputText{216}{\H U} 1721 \DeclareInputText{217}{\@tabacckludgeU} 1722 \DeclareInputText{218}{\@tabacckludge'U} 1723 \DeclareInputText{219}{\^ U} 1724 \DeclareInputText{220}{\"U} 1725 \DeclareInputText{221}{\k E} 1726 \DeclareInputText{222}{\ooalign{T\crcr\hidewidth\raise-.31ex\hbox{\scriptsize,}\hidewidth}} 1727 \DeclareInputText{223}{\ss} 1728 \DeclareInputText{224}{\@tabacckludgea} 1729 \DeclareInputText{225}{\@tabacckludge'a} 1730 \DeclareInputText{226}{\^a} 1731 \DeclareInputText{227}{\u a} 1732 \DeclareInputText{228}{\"a} 1733 \DeclareInputText{229}{\@tabacckludge'c} 1734 \DeclareInputText{230}{\ae} 1735 \DeclareInputText{231}{\c c} 1736 \DeclareInputText{232}{\@tabacckludgee} 1737 \DeclareInputText{233}{\@tabacckludge'e} 1738 \DeclareInputText{234}{\^e} 1739 \DeclareInputText{235}{\"e} 1740 \DeclareInputText{236}{\@tabacckludge\i} 1741 \DeclareInputText{237}{\@tabacckludge'\i} 1742 \DeclareInputText{238}{\^\i} 1743 \DeclareInputText{239}{\"\i} 1744 \DeclareInputText{240}{\d} 1745 \DeclareInputText{241}{\@tabacckludge'n} 1746 \DeclareInputText{242}{\@tabacckludgeo} 1747 \DeclareInputText{243}{\@tabacckludge'o} 1748 \DeclareInputText{244}{\^o} 1749 \DeclareInputText{245}{\H o} 1750 \DeclareInputText{246}{\"o} 1751 \DeclareInputText{247}{\@tabacckludge's} 1752 \DeclareInputText{248}{\H u} 1753 \DeclareInputText{249}{\@tabacckludgeu} 1754 \DeclareInputText{250}{\@tabacckludge'u} 1755 \DeclareInputText{251}{\^u} 1756 \DeclareInputText{252}{\"u} 1757 \DeclareInputText{253}{\k e} 1758 \DeclareInputText{254}{\ooalign{t\crcr\hidewidth\raise-.31ex\hbox{\scriptsize,}\hidewidth}} 1759 \DeclareInputText{255}{\"y} 1760 \makeatother 1761 \endinput 1762 %% 1763 %% End of file latin10.def'. 1764 1765 1766 1767