[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]
The main directory of the package contains a very simple Makefile
— its main purpose is to invoke the sub-Makefile
s in the
directories Fonts
and Keyboard
.
Only 256 (or 512) glyphs can be used in the console fonts. Because of that it is impossible to use one universal font suitable for all languages. So we have to support different font collections for the different languages.
Maintaining many different font collections has some obious disadvantages. First, the look of the console will depend on the character set. Second, it is difficult to follow the quality and the purpose of so many different fonts. The solution is to maintain common fonts in BDF format for all languages and translate them to many fonts in PSF format for the different character sets.
The new console fonts are named after the scheme CHARSET-FONTFACE.psf, CHARSET may be for example Arabic, CyrAsia or Lat38 (see Character Sets, Section 2.2) and FONTFACE can be for example Fixed16. The number in FONTFACE represents the number of scan lines in the font.
The traditional approach for the keyboard support of Linux is not flexible enough. All keyboard tables are fixed so even small customizations of the keyboard layouts require completely new keyboard definition. As a result for many of the keyboard layouts there are many variants that differ only a bit.
Another disadvantage is that the keyboard mappings are not completely encoding independent. The kernel does not have knowledge for all Unicode symbols and can not translate between Unicode and the legacy 8-bit encodings.
In order to circumvent we use the ckbcomp
utility which is able to
translate the keyboard definitions used in X Window to keyboard definitions
suitable for loadkeys. See The ckbcomp
Utility, Chapter 5.
The compose_translator
program generates the compose sequences
from the console. Invocation:
./compose_translator --acm acm/ENCODING.acm locale/X_ENCODING/Compose
Here the file in the acm
directory defines the encoding of the
generated compose sequences and the file in the locale
defines the
compose sequences in X Window. The locale
directory is a copy of
the X directory /usr/X11R6/lib/X11/locale
.
describe_unicodes
The main directory contains the utility describe_unicodes
. This
utility is never invoked automatically. Its purpose is to make files
containing many Unicodes more human-readable. The following transcript
illustrates its usage:
$ cat foo U+FFFD U+003F U+2015 U+2014 U+02C9 U+00AF $ ./describe_unicodes foo $ cat foo U+FFFD U+003F # U+FFFD: REPLACEMENT CHARACTER # U+003F: QUESTION MARK U+2015 U+2014 # U+2015: HORIZONTAL BAR # U+2014: EM DASH U+02C9 U+00AF # U+02C9: MODIFIER LETTER MACRON # U+00AF: MACRON
This utility is idempotent, i.e. you can use it as many times as necessary on one and the same file in order to update the comments.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]
The Hackers Guide for console-setup
Anton Zinovievanton@lml.bas.bg