878 lines
30 KiB
HTML
878 lines
30 KiB
HTML
<!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&</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 "include \"euro\"" >>es-euro.kmap
|
||
$ echo "altgr keycode 46 = cent" >>es-euro.kmap
|
||
$ gzip es-euro.kmap
|
||
$ kbdconfig
|
||
-----ANSWERS:
|
||
n
|
||
i386
|
||
qwerty
|
||
es-euro
|
||
y
|
||
y
|
||
$ zgrep "keycode 18" /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 > ~/.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 "currency" instead of "EuroSign"
|
||
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 <AD03> { [ 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 "keycode 0x1A = e E EuroSign cent" | 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 <AD03> { [ e, E ],
|
||
[ currency, cent ] };
|
||
</pre>
|
||
|
||
<p>
|
||
Or, you can change your Xmodmap definition with:
|
||
</p>
|
||
|
||
<pre>
|
||
$ echo "keycode 0x1A = e E currency cent" | 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>
|
||
|