old-www/LDP/www.debian.org/doc/manuals/debian-euro-support/ch-configure.en.html

878 lines
30 KiB
HTML
Raw Permalink Blame History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Debian Euro HOWTO (Obsolete Documentation) - Configuring euro support</title>
<link href="index.en.html" rel="start">
<link href="ch-auto-config.en.html" rel="prev">
<link href="ch-applications.en.html" rel="next">
<link href="index.en.html#contents" rel="contents">
<link href="index.en.html#copyright" rel="copyright">
<link href="ch-intro.en.html" rel="chapter" title="1 Introduction">
<link href="ch-auto-config.en.html" rel="chapter" title="2 Automatic configuration">
<link href="ch-configure.en.html" rel="chapter" title="3 Configuring euro support">
<link href="ch-applications.en.html" rel="chapter" title="4 Euro support in applications">
<link href="ch-FAQ.en.html" rel="chapter" title="5 Frequently Asked Questions">
<link href="ch-about.en.html" rel="chapter" title="6 About this document">
<link href="ap-latex-enc.en.html" rel="appendix" title="A File definitions for LaTeX">
<link href="ch-intro.en.html#s1.1" rel="section" title="1.1 Why euro support?">
<link href="ch-intro.en.html#s1.2" rel="section" title="1.2 What is the euro symbol?">
<link href="ch-intro.en.html#s1.3" rel="section" title="1.3 Why all this fuss for just one character?">
<link href="ch-intro.en.html#s1.4" rel="section" title="1.4 Standards">
<link href="ch-intro.en.html#s1.5" rel="section" title="1.5 Is Debian euro-ready?">
<link href="ch-auto-config.en.html#s2.1" rel="section" title="2.1 The language-env package">
<link href="ch-auto-config.en.html#s2.2" rel="section" title="2.2 The euro-support package">
<link href="ch-auto-config.en.html#s2.3" rel="section" title="2.3 The user-euro-XXX packages">
<link href="ch-configure.en.html#s3.1" rel="section" title="3.1 Initial considerations">
<link href="ch-configure.en.html#s-localisation" rel="section" title="3.2 Localisation issues">
<link href="ch-configure.en.html#s3.3" rel="section" title="3.3 Configuring the Console">
<link href="ch-configure.en.html#s3.4" rel="section" title="3.4 Configuring the X environment">
<link href="ch-applications.en.html#s4.1" rel="section" title="4.1 Why talk about applications?">
<link href="ch-applications.en.html#s4.2" rel="section" title="4.2 Applications with known euro support">
<link href="ch-applications.en.html#s4.3" rel="section" title="4.3 Applications that do not support the euro character">
<link href="ch-FAQ.en.html#s5.1" rel="section" title="5.1 I see a strange character instead of the euro">
<link href="ch-FAQ.en.html#s5.2" rel="section" title="5.2 The euro character gets lost when switching from X to console">
<link href="ch-FAQ.en.html#s5.3" rel="section" title="5.3 How do I see if my keyboard is properly configured?">
<link href="ch-FAQ.en.html#s5.4" rel="section" title="5.4 How do I see if I can represent euros properly?">
<link href="ch-FAQ.en.html#s5.5" rel="section" title="5.5 I'm using framebuffer, can I represent euros on console?">
<link href="ch-FAQ.en.html#s5.6" rel="section" title="5.6 I can input the euro character when running 'euro-test' but this behaviour is lost when X is restarted.">
<link href="ch-FAQ.en.html#s5.7" rel="section" title="5.7 What is the longterm solution for this issue?">
<link href="ch-about.en.html#s6.1" rel="section" title="6.1 Why this document?">
<link href="ch-about.en.html#s-references" rel="section" title="6.2 References">
<link href="ch-about.en.html#s6.3" rel="section" title="6.3 Changelog/History">
<link href="ch-about.en.html#s-pending" rel="section" title="6.4 Pending issues">
<link href="ch-about.en.html#s-acknowledge" rel="section" title="6.5 Acknowledgements">
<link href="ap-latex-enc.en.html#sA.1" rel="section" title="A.1 Latin9.def">
<link href="ap-latex-enc.en.html#sA.2" rel="section" title="A.2 latin10.def">
<link href="ch-auto-config.en.html#s2.2.1" rel="subsection" title="2.2.1 The euro-test program">
<link href="ch-configure.en.html#s3.2.1" rel="subsection" title="3.2.1 Locales in Debian 3.0">
<link href="ch-configure.en.html#s3.2.2" rel="subsection" title="3.2.2 Locales in Debian 2.2">
<link href="ch-configure.en.html#s3.3.1" rel="subsection" title="3.3.1 Configuring the console keyboard">
<link href="ch-configure.en.html#s3.3.2" rel="subsection" title="3.3.2 How the keyboard is loaded in Debian">
<link href="ch-configure.en.html#s3.3.3" rel="subsection" title="3.3.3 Configuring the console fonts">
<link href="ch-configure.en.html#s3.4.1" rel="subsection" title="3.4.1 Keyboard configuration">
<link href="ch-configure.en.html#s3.4.1.1" rel="subsection" title="3.4.1.1 Xfree in Debian 3.0">
<link href="ch-configure.en.html#s3.4.1.2" rel="subsection" title="3.4.1.2 Xfree in Debian 2.2">
<link href="ch-configure.en.html#s-xfree86-fonts" rel="subsection" title="3.4.2 Font configuration">
<link href="ch-configure.en.html#s-potato" rel="subsection" title="3.4.2.1 Potato, XFree86 3.X">
<link href="ch-applications.en.html#s4.2.1" rel="subsection" title="4.2.1 XTerm and its derivatives">
<link href="ch-applications.en.html#s4.2.2" rel="subsection" title="4.2.2 GNOME Terminal">
<link href="ch-applications.en.html#s4.2.3" rel="subsection" title="4.2.3 RXVT and its derivatives">
<link href="ch-applications.en.html#s4.2.4" rel="subsection" title="4.2.4 Eterm">
<link href="ch-applications.en.html#s4.2.5" rel="subsection" title="4.2.5 gVim">
<link href="ch-applications.en.html#s4.2.6" rel="subsection" title="4.2.6 Emacs, XEmacs">
<link href="ch-applications.en.html#s4.2.7" rel="subsection" title="4.2.7 GNOME and GTK+">
<link href="ch-applications.en.html#s4.2.8" rel="subsection" title="4.2.8 KDE">
<link href="ch-applications.en.html#s4.2.9" rel="subsection" title="4.2.9 Apache">
<link href="ch-applications.en.html#s4.2.9.1" rel="subsection" title="4.2.9.1 Apache">
<link href="ch-applications.en.html#s4.2.10" rel="subsection" title="4.2.10 Mutt">
<link href="ch-applications.en.html#s4.2.11" rel="subsection" title="4.2.11 LaTeX">
<link href="ch-applications.en.html#s4.2.12" rel="subsection" title="4.2.12 Kword">
<link href="ch-applications.en.html#s4.2.13" rel="subsection" title="4.2.13 LyX">
<link href="ch-applications.en.html#s4.2.14" rel="subsection" title="4.2.14 groff (nroff, troff, grotty)">
<link href="ch-applications.en.html#s4.2.15" rel="subsection" title="4.2.15 Debiandoc-sgml">
<link href="ch-applications.en.html#s4.2.16" rel="subsection" title="4.2.16 Tgif">
<link href="ch-applications.en.html#s4.2.17" rel="subsection" title="4.2.17 Perl">
</head>
<body>
<p><a name="ch-configure"></a></p>
<hr>
<p>
[ <a href="ch-auto-config.en.html">previous</a> ]
[ <a href="index.en.html#contents">Contents</a> ]
[ <a href="ch-intro.en.html">1</a> ]
[ <a href="ch-auto-config.en.html">2</a> ]
[ 3 ]
[ <a href="ch-applications.en.html">4</a> ]
[ <a href="ch-FAQ.en.html">5</a> ]
[ <a href="ch-about.en.html">6</a> ]
[ <a href="ap-latex-enc.en.html">A</a> ]
[ <a href="ch-applications.en.html">next</a> ]
</p>
<hr>
<h1>
Debian Euro HOWTO (Obsolete Documentation)
<br>Chapter 3 - Configuring euro support
</h1>
<hr>
<h2><a name="s3.1"></a>3.1 Initial considerations</h2>
<p>
Configuring euro support in a system involves two steps, which should be pretty
simple:
</p>
<ul>
<li>
<p>
tell the system you want to use euros (aka. localisation)
</p>
</li>
</ul>
<ul>
<li>
<p>
have a font available that represents euros.
</p>
</li>
</ul>
<ul>
<li>
<p>
provide a mechanism for the keyboard to send the euro character.
</p>
</li>
</ul>
<p>
The <code><a
href="http://europa.eu.int/euro/html/dossiers/00124/00124-en.pdf">recommended
mechanism</a></code> in the euro zone for the euro symbol generation on modern
keyboards is the AltGr+e combination for the euro currency and AltGr+c for the
cent. Note: Laptop users might not have AltGr.
</p>
<p>
This document will approach the euro configuration in Debian taking a look,
first, towards localisation issues, and how localisation can be properly
configured in Debian. Afterwards, it will go into how to configure the console
(virtual terminals) available in all Debian GNU/Linux systems. Many users
might want to skip this section and go directly to the next section, which
discusses the proper configuration of the graphic environment (X windows) for
euro support.
</p>
<p>
Even if it might sometimes confuse the reader, the different configuration
issues are discussed both for the old Debian release (as of this writing Debian
2.2 codename 'potato') and the latest Debian release (Debian 3.0 codename
'woody'). Future versions of this document might separate the information
regarding different Debian versions (when it really gets messy :)
</p>
<hr>
<h2><a name="s-localisation"></a>3.2 Localisation issues</h2>
<p>
Programs use the localisation environment in order to know both the language
and the charset being used. Currently there is no separation, unless you are
using UTF-8 from locale and representation. Environment locales use both the
language for example:
</p>
<pre>
es_ES.ISO-8859-1
en_US.utf
....
</pre>
<p>
Locale definitions are stored in Debian at <code>/etc/locale.alias</code> for
the libc library and <code>/usr/X11R6/lib/X11/locale/locale.alias</code>. In
order to indicate which charset you are using, you need to set your LANG
environment variable. One of the ways of doing this is changing
<code>/etc/environment</code> or <code>/etc/profile</code>.
</p>
<p>
However, there is a problem due to the different representation of locales in
XFree86 (Xlib) and glibc (one uses ISO8859 and the other ISO-8859, note the
dash). Thus, setting the locale to XX_XX.ISO-8859-15 in
<code>/etc/environment</code> is doomed to cause problems in the X environment
(might not be recognised or generate errors in applications).
</p>
<p>
Since Debian 3.0, the XX_XX@euro alias is provided in the
<code>/usr/X11R6/lib/X11/locale/locale.alias</code> and in the
<code>/etc/locale.alias</code>, users that wish to setup their locale
environment should use this abbreviation instead of the previous XX_XX@ISO-...
</p>
<p>
You can see your current environment running <samp>locale</samp>, and your
current map character using <samp>locale charmap</samp>. In order to change
your locale edit <code>/etc/environment</code> or <code>/etc/profile</code> and
add (the example is for Spanish, change as needed):
</p>
<pre>
export LANG=es_ES@euro
export LC_ALL=es_ES@euro
</pre>
<p>
Note: You <em>must</em> use the @euro part. Otherwise, if you just use
<samp>es_ES</samp> the locale definition will be that of the ISO-8859-1
charset.
</p>
<p>
Please, note that the LANG and LC_ALL definitions should be similar (or even
better the same). Otherwise libraries might warn against incompatible locale.
You will see warnings if, for example, you set:
</p>
<pre>
export LANG=spanish
export LC_ALL=es_ES@euro
</pre>
<p>
since 'spanish' is aliased to es_ES.ISO-8859-1 and es_ES@euro is alised to
es_ES.ISO-8859-15. Be careful with this issue since some programs do not check
the <code>locale.aliases</code> file and use hardcoded value for them. It is
not recommended to change the <code>locale.alias</code> to have, for example,
'spanish' aliased to es_ES.ISO-8859-15 since programs that use these method
will not properly work. If your favorite software does not work with the
'XX_XX@euro' please file a bug against it.
</p>
<p>
You can check all the available locales by running <samp>locale -a</samp>
</p>
<p>
For programs that give too many warnings much because of
localisation/representation issues with stuff similar to
</p>
<pre>
Gdk-WARNING **: locale not supported by C library
</pre>
<p>
or
</p>
<pre>
Warning: locale not supported by C library, locale unchanged
</pre>
<p>
use <samp>LANG=XX_XX.ISO-8859-1 program&amp;</samp> to run them and avoid the
errors/warnings. In any case, check that you have properly set your locale
and, if so, file a bug against the offending package.
</p>
<p>
In order for your X environment to work there should be a definition of the
iso8859-15 definition at <code>/usr/X11R6/lib/X11/locale</code>. If you do not
have properly configured locales, X might warn about this (before it runs any
program). Please check your <code>~/.xsession-errors</code> file since this
might be happening without the user noticing in modern desktop enviroments (all
errors are directed there and not to the screen). A sample warning would be:
</p>
<pre>
Warning: locale not supported by Xlib, locale set to C
</pre>
<hr>
<h3><a name="s3.2.1"></a>3.2.1 Locales in Debian 3.0</h3>
<p>
In order for your locales to work in 3.0 the administrator has to configure
properly the system's localization. The easiest way to make this modifications
is to call <samp>dpkg-reconfigure -plow locales</samp>, and choose your locale
in the version with an @euro appended.
</p>
<p>
You can also edit <code>/etc/locale.gen</code> directly, inserting there the
euro locales definitions and run <samp>locale-gen</samp>. If your locales are
already defined there but appended with a '#' sign, uncomment (remove that
sign) the lines needed for the users' locale. Mainly the XX_XX.ISO-8859-15
lines and the XX_XX@euro lines and run <samp>locale-gen</samp>. This should
create <code>/usr/lib/locale/XX_XX@euro</code>.
</p>
<hr>
<h3><a name="s3.2.2"></a>3.2.2 Locales in Debian 2.2</h3>
<p>
You cannot edit <code>/etc/locale.gen</code> if you are using Debian 2.2 since
it does not exist. But, in any case, you do not need to do it since all the
locales are included in Debian as default. However, Debian 2.2
<code>locales</code> (version 2.1.3-13) does not provide the euro definition.
If an upgrade to woody's (3.0) locale is not possible (this upgrade will most
probably change the libc version), you will need to make the changes manually.
</p>
<p>
In Debian 2.2, users need to change some files (these changes are unnecessary
in 3.0 since they already have been made). Supposing an Spanish environment
(es_ES locale), the change for <code>/etc/locale.alias</code> is:
</p>
<pre>
es_ES@euro es_ES.ISO-8859-15
</pre>
<p>
and for <code>/usr/X11R6/lib/X11/locale/locale.alias</code> is:
</p>
<pre>
es_ES@euro es_ES.ISO8859-15
</pre>
<p>
After doing this you have to <em>generate</em> your locales You can do so
running <code>localedef</code> manually. Charmapfiles are found in
<code>/usr/share/i18n/charmaps</code>, inputfiles can be found in
<code>/usr/share/i18n/locales</code>. In order to create, for instance, a
en_US.ISO-8859-15 locale, you'd do this:
</p>
<pre>
$ localedef --force -i /usr/share/i18n/locales/en_US \
-f /usr/share/i18n/charmaps/ISO-8859-15 \
en_US.ISO-8859-15
</pre>
<p>
You can usually also use a simplified version since <code>localedef</code>
should be able to find the charpmaps and locales on its own:
</p>
<pre>
$ localedef --force -v -i en_US -f ISO-8859-15 en_US.ISO-8859-15
</pre>
<p>
The directory created is named <code>/usr/share/locale/en_US.iso885915</code>.
You also have to create the en_US.ISO-8859-15 directory, do so by symlinking it
to the previous one.
</p>
<pre>
$ cd /usr/share/locale
$ ln -s en_US.ISO-8859-15 en_US.iso885915
</pre>
<hr>
<h2><a name="s3.3"></a>3.3 Configuring the Console</h2>
<p>
Configuring the text console in order to have the euro symbol ready is simple.
The following will work in a Debian GNU/Linux system:
</p>
<pre>
$ loadkeys euro.inc
$ consolechars -f lat0-16.psf
</pre>
<p>
However, this changes are lost after reboot. In order to make them permanent,
some changes need to be done to the configuration files of Debian packages.
</p>
<hr>
<h3><a name="s3.3.1"></a>3.3.1 Configuring the console keyboard</h3>
<p>
Changing the key mappings involves changing
<code>/etc/console-tools/default.map.gz</code> or
<code>/etc/kbd/default.map.gz</code>. Usually, this keymap is changed by using
<samp>kbdconfig</samp> (if you are not using console-tools see below for the
different console keyboard schemes in Debian), since it is loaded before any
network filesystem is mounted, you cannot change it directly (for example by
adding <samp>include euro</samp> there) as it might not be able to load
extensions (since they are located at <code>/usr/share/keymaps</code>). In
order to have euro support, if your keymap currently does not have one you will
have to modify an existing one. Here is an example on how to change the
Spanish keymap to support euro characters (kbdconfig will ask some questions,
only the answers are shown below):
</p>
<pre>
$ cd /usr/share/keymaps/i386/qwerty
$ cp es.kmap.gz es-euro.kmap.gz
$ gzip -d es-euro.kmap.gz
$ echo &quot;include \&quot;euro\&quot;&quot; &gt;&gt;es-euro.kmap
$ echo &quot;altgr keycode 46 = cent&quot; &gt;&gt;es-euro.kmap
$ gzip es-euro.kmap
$ kbdconfig
-----ANSWERS:
n
i386
qwerty
es-euro
y
y
$ zgrep &quot;keycode 18&quot; /etc/console-tools/default.kmap.gz
keycode 18 = +e +E currency Control_e
Control_e Meta_e Meta_E Meta_Control_e
</pre>
<p>
FIXME: A bug should be opened against console-data in order to include this by
default in all the euro-zone language maps.
</p>
<hr>
<h3><a name="s3.3.2"></a>3.3.2 How the keyboard is loaded in Debian</h3>
<p>
The <code>console-common</code> in Debian 3.0 installs
<code>/etc/init.d/keymap.sh</code> which runs <samp>loadkeys</samp> of
console-tools (using <code>/etc/console-tools/default.map.gz</code>) or kbd
(using <code>/etc/console/boottime.kmap.gz</code>). This file has been
generated using <samp>/usr/sbin/install-keymap</samp>.
</p>
<p>
When a system boots up it runs <code>/etc/rcS.d/S05keymap.sh</code> (for kbd)
or <code>/etc/rcS.d/S05keymap-lct.sh</code> (for console-tools) which installs
the appropriate keymap. Both scripts will make either
<code>/etc/init.d/keymap.sh</code> or <code>/etc/init.d/S05keymap-lct.sh</code>
being called with the 'start' option.
</p>
<hr>
<h3><a name="s3.3.3"></a>3.3.3 Configuring the console fonts</h3>
<p>
The easy way to configure a console in a Debian system is to install the
<code>fonty</code> provided since Debian 2.2 and tell it to use iso15 fonts
(fonty currently does not support iso-8859-16 yet, however). These fonts will
include the euro character and the package will configure properly the
configuration files needed. You will need, however, to configure the keyboard
mappings, as describe previously.
</p>
<p>
If you do not want (or like) the <code>fonty</code> font, you can configure the
console fonts yourself. In order for the fonts to be loaded automatically when
the system is started, you (as superuser) have to change some of the
configuration files.
</p>
<p>
If the system is using the <code>console-tools</code> package, then the
<code>/etc/console-tools/config</code> file will be present. In order to load
the appropriate font you need to include the line:
</p>
<pre>
SCREEN_FONT=lat0-16
APP_CHARSET_MAP=iso15
</pre>
<p>
If you are using multiple virtual terminales you might want to add this:
</p>
<pre>
APP_CHARSET_MAP_vc1=iso15
APP_CHARSET_MAP_vc2=iso15
APP_CHARSET_MAP_vc3=iso15
APP_CHARSET_MAP_vc4=iso15
APP_CHARSET_MAP_vc5=iso15
APP_CHARSET_MAP_vc6=iso15
</pre>
<p>
If you are using the <code>kbd</code> package you will need to edit the
<code>/etc/kbd/config</code> adding, for example:
</p>
<pre>
CONSOLE_FONT=lat0-16.psfu.gz
# CONSOLE_MAP=iso15
CONSOLE_MAP=8859-15_to_uni
</pre>
<p>
Of course, the <samp>lat0-16</samp> font is not the only one available, since
the console-data package version 1999.08.29-11.1, there are quite a number of
latin9 (aka. latin0) fonts available at <code>/usr/share/consolefonts</code>.
Some other people prefer the <samp>lat0-sun16</samp> font, it's just a matter
of taste.
</p>
<p>
If you are using the <code>svgatextmode</code> package (obsoleted by the
framebuffer) you might configure the console font also by changing the
<code>/etc/TextConfig</code> file.
</p>
<p>
NOTE: If you are using the framebuffer device for console text, read the note
regarding console-tools configuration in the
<code>/etc/console-tools/config</code> file. Basically, the global definition
will only work for the first virtual terminal, you need to explicitly state the
font for the other terminals like this:
</p>
<pre>
SCREEN_FONT_vc1=lat0-16
SCREEN_FONT_vc2=lat0-16
SCREEN_FONT_vc3=lat0-16
....
</pre>
<hr>
<h2><a name="s3.4"></a>3.4 Configuring the X environment</h2>
<p>
For the graphic environment to represent euros you also need to have:
</p>
<ul>
<li>
<p>
fonts which include the euro symbol
</p>
</li>
</ul>
<ul>
<li>
<p>
proper configuration of the keyboard
</p>
</li>
</ul>
<p>
XFree86 includes euro-ready fonts since version 3.3.3.1, like, for example
7x13euro.bdf or 7x13euroB.bdf. However, the user might not have them installed
since ISO-8859-15 fonts are not part of the default (basic) XFree86
installation.
</p>
<p>
Also, Debian 3.0 provides proper keyboard configuration for most languages.
However, some languages do not provide full euro support due to the keycode not
being properly defined. If your language does not behave properly in X, please
submit a <code><a href="http://bugs.debian.org">wishlist bug</a></code> against
the <code>xlibs</code> package (known related bugs include <code><a
href="http://bugs.debian.org/117185">#117185</a></code>, <code><a
href="http://bugs.debian.org/127609">#127609</a></code> and <code><a
href="http://bugs.debian.org/139826">#139826</a></code>)
</p>
<hr>
<h3><a name="s3.4.1"></a>3.4.1 Keyboard configuration</h3>
<p>
The keyboard configuration here is easier that in console. If you are using
the Xkb extensions in the X server (the default since 3.3.5) you can change it
using the <samp>XkbLayout</samp> option in the <samp>InputDevice</samp> section
of the X configuration file. That file is located in
<code>/etc/X11/XF86Config</code> for XFree86 3.3.6 and
<code>/etc/X11/XF86Config-4</code> for XFree86 4.1.
</p>
<p>
There are several ways you can add support for the euro definition:
</p>
<ul>
<li>
<p>
by changing the xkb extensions included in the X server.
</p>
</li>
</ul>
<ul>
<li>
<p>
by loading a new modmap (using <code>xmodmap</code>)
</p>
</li>
</ul>
<p>
If you change the modmap with <code>xmodmap</code> and it works, it's a
temporary fix, after restarting the server the changes will get lost. In order
to have this definition loaded on startup you have to add the following
definition to your <code>Xmodmap</code> by doing:
</p>
<pre>
$ xmodmap -pke &gt; ~/.xmodmap
</pre>
<p>
NOTE: Xmodmap is obsolete, please use the Xkb extensions. Future releases of
XFree86 might not even support user's defined xmodmaps.
</p>
<p>
NOTE: the locales setting must be done before Xsession starts, so make sure
that your configuration is loaded properly before executing <samp>startx</samp>
(if you are using an XDM application such as <samp>gdm</samp> you can choose
the settings from it).
</p>
<p>
NOTE: The symbol used for the Euro sign varies from Xfree 3.3.6 (standard X
server in Debian 2.2) to Xfree 4.1 (standard X server in Debian 3.0). In Xfree
3.3.6 you will have to use &quot;currency&quot; instead of &quot;EuroSign&quot;
as the symbol definition. This has changed in Xfree 4.1 which has built-in
support for the EuroSign character. If you use currency that same symbol in
Xfree 4.1, due to UTF support, it might not represent properly the Euro
character.
</p>
<hr>
<h4><a name="s3.4.1.1"></a>3.4.1.1 Xfree in Debian 3.0</h4>
<p>
If you are using Debian woody (3.0), which includes XFree86 4.1, you only need
to have it properly configured to a language in the euro zone, this is done in
the configuration file <code>/etc/X11/XF86Config-4</code>. Inputting the euro
symbol should work correctly (if not, please file a bug).
</p>
<p>
You can also make some changes to provide euro support if your system does not
work properly. You can change the Xkb extensions (at the files in
<code>/etc/X11/xkb/symbols</code>) to include Euro support with something along
the lines of:
</p>
<pre>
key &lt;AD03&gt; { [ e, E ],
[ EuroSign, cent ] };
</pre>
<p>
This, however, should already be provided in all the files of languages from
the Euro zone (es, de...)
</p>
<p>
Or, you can change your Xmodmap definition with:
</p>
<pre>
$ echo &quot;keycode 0x1A = e E EuroSign cent&quot; | xmodmap -
</pre>
<p>
If you are not using Xkb extensions you will have to change the definitions
available at the <code>/usr/share/xmodmap/</code> directory (the file name is
xmodmap.XXX with XXX the one appropriate to your language).
</p>
<p>
Since Xkb extensions is the default behavior the Xmodmap files provided by
Xfree86 4.1 might not be updated properly. Check that the line related to the
<samp>keycode 26</samp> (E character) looks like the following line:
</p>
<pre>
keycode 26 = e E EuroSign cent
</pre>
<hr>
<h4><a name="s3.4.1.2"></a>3.4.1.2 Xfree in Debian 2.2</h4>
<p>
If you are using versions equal to, or prior to Debian potato (2.2), the
language definition might not be properly defined. If an upgrade to a newer
version of XFree86 is not possible, you can use any of the previous approaches
to add support for the euro definition:
</p>
<p>
You can change the Xkb extensions (<code>/etc/X11/xkb/symbols</code>) to
include currency support with something along the lines of
</p>
<pre>
key &lt;AD03&gt; { [ e, E ],
[ currency, cent ] };
</pre>
<p>
Or, you can change your Xmodmap definition with:
</p>
<pre>
$ echo &quot;keycode 0x1A = e E currency cent&quot; | xmodmap -
</pre>
<p>
You can also use the definitions available at the
<code>/usr/share/xmodmap/</code> directory (change the file appropriate to your
language) if you are not using Xkb extensions. Check that the line related to
the <samp>keycode 26</samp> (E character) looks like the following line:
</p>
<pre>
keycode 26 = e E currency cent
</pre>
<p>
Debian 2.2 Xmodmap definitions of the languages in the euro zone contain the
euro character (using the currency symbol), so you can use the following
<samp>xmodmap /usr/share/xmodmap/xmodmap.XX</samp> (XX is the language you want
to use).
</p>
<hr>
<h3><a name="s-xfree86-fonts"></a>3.4.2 Font configuration</h3>
<p>
In order to represent the euro symbol in X you need to have appropriate fonts
to represent the ISO-8859-15 encoding (if not using UTF-8). You can see which
fonts could be used for this by doing:
</p>
<pre>
$ xlsfonts | grep 'iso8859-15$'
</pre>
<p>
In a default Debian installation, the only font that provides this encoding is
the fixed (misc) font, which might be proper for an xterm but might not show up
nice in many other applications. However, Debian 3.0 (woody) provides the
transcoded package fonts which include other ISO-8859-15 fonts. The packages
are <code>xfonts-base-transcoded</code>, <code>xfonts-75dpi-transcoded</code>,
<code>xfonts-100dpi-transcoded</code>, and you can install them by running
<samp>apt-get install 'xfonts.*transcoded'</samp>.
</p>
<p>
Some people might not want to install these packages because they are quite
large, around 15 Mb. There is a hacked version available, with all non-15
fonts removed which is less than 3Mb in size. You can find it at <code><a
href="http://sites.inka.de/W1752/reduced-xfonts/">http://sites.inka.de/W1752/reduced-xfonts/</a></code>.
Note that this is not part of the standard Debian distribution.
</p>
<p>
(FIXME if users really need this the transcoded packages should be broken in
two.)
</p>
<hr>
<h4><a name="s-potato"></a>3.4.2.1 Potato, XFree86 3.X</h4>
<p>
Please note that if you are using Debian 2.2 you cannot install these packages
without a system upgrade since they depend on XFree86 4.
</p>
<p>
The following packages also provide ISO-8859-15 fonts: xfonts-jmk,
xfonts-arphic-bsmi00lp, xfonts-arphic-gbsn00lp, xfonts-arphic-bkai00mp and
xfonts-arphic-gkai00mp.
</p>
<p>
The <code>xfonts-cyrillic</code> package provides also (in the XFree86 3.3.6)
some ISO-8859-15 fonts.
</p>
<p>
FIXME: Verify this last statement (seems to due to the data sent to me from
users of the euro-test program)
</p>
<p>
NOTE: Be sure you do not have a default definition for another font in your
<code>.Xdefaults</code> file. For example with
</p>
<pre>
*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16
</pre>
<p>
If you cannot find any suitable fonts, you can use the ISO10646-1 fonts which
are a superset of the different ISO8859-X fonts and are also provided in
Debian. Markus Kuhn provides a script called <samp>ucs2any.pl</samp> which
states:
</p>
<pre>
This Perl script allows you to generate from an ISO10646-1 encoded
BDF font other BDF fonts in any possible encoding. This way, you can
derive from a single ISO10646-1 master font a whole set of 8-bit
fonts in all ISO 8859 and various other encodings.
</pre>
<p>
There are Unicode fonts for X-windows available at <code><a
href="http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html">http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html</a></code>.
In ucs-fonts.tar.gz and ucs-fonts-75dpi100dpi.tar.gz there are Times,
Helvetica, Lucida, Utopia, New Century, Schoolbook, Courier... fonts that can
be used. You can also use the <samp>yudit</samp> program to change these
fonts.
</p>
<p>
There are Debian packages available to install the Kuhn's unicode fonts.
FIXME: What are the names for them?
</p>
<p>
There are other useful XFree86 3.3.6 ISO-8859-15 fonts at <code><a
href="http://linux.ee/~ville/vh-fonts-0.99.2.tar.gz">http://linux.ee/~ville/vh-fonts-0.99.2.tar.gz</a></code>,
even if provided mostly for Estonian users they are correct fonts and include
modified helvetica, times, courier and one font for terminal.
</p>
<hr>
<p>
[ <a href="ch-auto-config.en.html">previous</a> ]
[ <a href="index.en.html#contents">Contents</a> ]
[ <a href="ch-intro.en.html">1</a> ]
[ <a href="ch-auto-config.en.html">2</a> ]
[ 3 ]
[ <a href="ch-applications.en.html">4</a> ]
[ <a href="ch-FAQ.en.html">5</a> ]
[ <a href="ch-about.en.html">6</a> ]
[ <a href="ap-latex-enc.en.html">A</a> ]
[ <a href="ch-applications.en.html">next</a> ]
</p>
<hr>
<p>
Debian Euro HOWTO (Obsolete Documentation)
</p>
<address>
version 1.2, june 4th 2003.<br>
<br>
Javier Fern<72>ndez-Sanguino Pe<50>a <code><a href="mailto:jfs@computer.org">jfs@computer.org</a></code><br>
<br>
</address>
<hr>
</body>
</html>