From 49451499883213a0b10decc312d41b1285900903 Mon Sep 17 00:00:00 2001 From: Matthew Burgess Date: Wed, 4 Oct 2006 17:38:45 +0000 Subject: Update the description of UTF-8 support in Linux-2.6.18 git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7818 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter07/console.xml | 61 +++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 33 deletions(-) (limited to 'chapter07') diff --git a/chapter07/console.xml b/chapter07/console.xml index ee34edcb9..6a30057d9 100644 --- a/chapter07/console.xml +++ b/chapter07/console.xml @@ -92,31 +92,12 @@ For many keyboard layouts, there is no stock Unicode keymap in the Kbd package. The console bootscript will convert an available keymap to UTF-8 on the fly if this variable is - set to the encoding of the available non-UTF-8 keymap. Note, however, - that dead keys (i.e., keys that don't produce a character by - themselves, but put an accent onto a character procuced by the next - key; there are no dead keys on the standard US keyboard) and composing - (i.e., pressing Ctrl+. A E in order to produce the Æ character) - will not work in UTF-8 mode without the special kernel patch. - This variable is useful only in UTF-8 mode. - - - - - BROKEN_COMPOSE - - Set this to 0 if you are going to apply the kernel patch in - Chapter 8. Note that you also have to add the character set expected - by composition rules in your keymap to the FONT variable after the - -m switch. This variable is useful only in UTF-8 mode. + set to the encoding of the available non-UTF-8 keymap. - Support for compiling the keymap directly into the kernel has been - removed because there were reports that it leads to incorrect results. - Some examples: @@ -152,8 +133,8 @@ EOF - The following is a Unicode-enabled example for Bulgarian, where a stock - UTF-8 keymap exists and defines no dead keys or composition rules: + The following is a Unicode-enabled example for Bulgarian, where a + stock UTF-8 keymap exists: cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console @@ -186,23 +167,37 @@ EOF - The following example illustrates keymap autoconversion from - ISO-8859-15 to UTF-8 and enabling dead keys in Unicode mode: + There is no pre-made UTF-8 Russian keyamp, therefore it has to be + produced by converting the existing KOI8-R keymap as illustrated + below: cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console UNICODE="1" -KEYMAP="de-latin1" -KEYMAP_CORRECTIONS="euro2" -LEGACY_CHARSET="iso-8859-15" -BROKEN_COMPOSE="0" -FONT="LatArCyrHeb-16 -m 8859-15" +KEYMAP="ru_ms" +LEGACY_CHARSET="koi8-r" +FONT="LatArCyrHeb-16" # End /etc/sysconfig/console EOF + + Some keymaps have dead keys (i.e., keys that don't produce a + character by themselves, but put an accent on the character produced + by the next key) or define composition rules (such as: press + Ctrl+. A E to get Æ in the default keymap). + Linux-&linux-version; in UTF-8 keyboard mode assumes that accented + characters produced via dead keys or composing are in the Latin-1 range + of Unicode, and it is impossible to change this assumption. Thus, + accented characters needed for, e.g., the Czech language, can't be typed + on Linux console in UTF-8 mode (but files containing these characters can + be displayed correctly). The solution is either to avoid the use of + UTF-8, or to install the X window system that doesn't have this + limitation in its input handling. + + For Chinese, Japanese, Korean and some other languages, the Linux console cannot be configured to display the needed characters. Users @@ -216,10 +211,10 @@ EOF - The /etc/sysconfig/console file only controls the - Linux text console localization. It has nothing to do with setting the proper - keyboard layout and terminal fonts in the X Window System, with ssh sessions - or with a serial console. + The /etc/sysconfig/console file only controls the Linux text console localization. It has nothing to do with setting the + proper keyboard layout and terminal fonts in the X Window System, with ssh + sessions or with a serial console. In such situations, limitations mentioned + in the last two list items above do not apply. -- cgit v1.2.3-54-g00ecf