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>
|
|||
|
|