Opened 16 years ago

Closed 16 years ago

#2250 closed defect (fixed)

Outdated text in 7.6. Configuring the Linux console

Reported by: alexander@… Owned by: DJ Lucas
Priority: normal Milestone: 6.4
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

The following text is outdated:

Linux-2.6.26.5 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.

The reality is that the kernel patch that we had in LFS-6.2 and rejected in 6.3 is now merged, and the "-m" option to setfont now affects keymap translation in UTF-8 mode. So, we need to document this, reword the note (it still applies to Greek, because of the non-representable ' + α = ά composition rule), give an example (e.g., the last example from LFS 6.2 without the BROKEN_COMPOSE line), and remove lines 79-91 from the console bootscript. Suggested text for the book, as the last sentence about $FONT:

In UTF-8 mode, the kernel uses the application character map for conversion of composed 8-bit key codes in the keymap to UTF-8, and thus the argument of the "-m" parameter should be set to the encoding of the composed key codes in the keymap.

Suggested rewording of the note:

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-2.6.26.5 interprets dead keys and composition rules in the keymap correctly only when the source characters to be composed together are not multibyte. This deficiency doesn't affect keymaps for European languages, because there accents are added to unaccented ASCII characters, or two ASCII characters are composed together. However, in UTF-8 mode it is a problem, e.g., for the Greek language, where one sometimes needs to put an accent on the letter ALPHA. The solution is either to avoid the use of UTF-8 when key composition has to be done with non-ASCII characters, or to install the X window system that doesn't have this limitation in its input handling.

Also, the statement "There is no pre-made UTF-8 Russian keymap" is now wrong. It can be removed together with the example, because the last example from LFS-6.2 does illustrate the $LEGACY_CHARSET variable (although it illustrates too much and thus may be too complex to understand).

Change History (8)

comment:1 by DJ Lucas, 16 years ago

Owner: changed from lfs-book@… to DJ Lucas
Status: newassigned

comment:2 by DJ Lucas, 16 years ago

Bootscript fixed in r8695 (and lsb-v3 r8696).

comment:3 by DJ Lucas, 16 years ago

Alexander, I believe the page at http://www.linuxfromscratch.org/~dj/LFS-MANDB/chapter07/console.html addresses all of the issues raised above, verbatim. However, I would certainly appreciate a once over to make certain before committing it. In particular, the description of the last example from 6.2 does not fit well after the preceding paragraph because of the "keymap autoconversion" mention (I temporarily left it separate so that it stands away from that paragraph).

Thanks.

-- DJ Lucas

comment:4 by DJ Lucas, 16 years ago

Additionally, did you want the literal 'α' or 'Α' character, or spelled out as in the text above?

comment:5 by alexander@…, 16 years ago

The autoconversion example should go as a separate bullet, before the Greek problem:

  • The following example illustrates keymap autoconversion...
  • Some keymaps have dead keys... (the whole sentence exists only because Randy thinks that the concept needs to be explained, feel free to move). Linux-2.6.26.5 interprets dead keys and composition rules...

And I did want α, but this may lead to PDF-related problems. Be sure to check printing on a real PostScript printer before committing.

comment:6 by DJ Lucas, 16 years ago

Fixed in r8697. Leaving ticket open until postscript output is validated.

comment:7 by DJ Lucas, 16 years ago

It breaks PDF output. Changed the text to read "..Greek character `alpha'."

comment:8 by DJ Lucas, 16 years ago

Resolution: fixed
Status: assignedclosed

Fixed in r8702.

Note: See TracTickets for help on using tickets.