|
|
|
[README.unicode]
|
|
|
|
|
|
|
|
Konsole supports unicode, which means one can display up
|
|
|
|
to 64K different glyphs at the same time on one screen.
|
|
|
|
|
|
|
|
The enhancement is pretty complete and the main current
|
|
|
|
advantage should be more a smooth operation of konsole
|
|
|
|
within localed environments. At least the european locales
|
|
|
|
should be enabled to use their local scripts when running
|
|
|
|
konsole.
|
|
|
|
|
|
|
|
To fully install it, please get a complete set of unicode
|
|
|
|
enhanced fixed fonts from
|
|
|
|
|
|
|
|
<http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html>.
|
|
|
|
|
|
|
|
These fonts are expected to be distributed with the next X11
|
|
|
|
release. Konsole distributes one of this fonts for your
|
|
|
|
convenience. Please add the other fonts to your local
|
|
|
|
installation to make best use of the enhancement.
|
|
|
|
|
|
|
|
Though Asiatic supplements are also available from that
|
|
|
|
site, it is not clear at the time of writing, whether
|
|
|
|
the current implementation copes well with these scripts.
|
|
|
|
Since i like to support these scripts, too, any feed back
|
|
|
|
is appreachiated.
|
|
|
|
|
|
|
|
Also, a new linux console font has been converted for X11.
|
|
|
|
This font has iso10646-1 encoding and the usual vga glyphs.
|
|
|
|
|
|
|
|
|
|
|
|
* A more precise anatomy of unicode support within konsole
|
|
|
|
|
|
|
|
The internal character representation is uniquely 16 bit unicode.
|
|
|
|
|
|
|
|
All in- and output connections of konsole (beside the mouse)
|
|
|
|
are filtered through three different codecs (corresponding to
|
|
|
|
2 different codes):
|
|
|
|
|
|
|
|
1) Font Code - The renderer converts from unicode to the code of
|
|
|
|
the font to the degree that code is supported within Qt.
|
|
|
|
Non-iso10646 (unicode) codes are considered to be VT100
|
|
|
|
enhanced, meaning that 0x00 .. 0x1f contains the VT100
|
|
|
|
graphical characters.
|
|
|
|
|
|
|
|
2) Client Code - This is used for bytes from and to the pty.
|
|
|
|
Often, the clients code is identical with the locale setting.
|
|
|
|
|
|
|
|
Thus, unicode support mainly turns out to be a potter's wheel of
|
|
|
|
code conversions.
|
|
|
|
|
|
|
|
Beside these conversions, up to 2^16 diffent glyphs can be
|
|
|
|
displayed now. Though it is not possible to type each of these
|
|
|
|
codes, one can use utf-8 encoding on the clients side.
|
|
|
|
|
|
|
|
Please note that unicode support is still under development in
|
|
|
|
the freeware community and is not supported by terminal aware
|
|
|
|
applications, since ncurses does currently not provide wide
|
|
|
|
character operations.
|
|
|
|
|
|
|
|
Because utf-8 contains ascii-7 properly, one can work with utf-8
|
|
|
|
enabled as long as no international characters are used. Try to
|
|
|
|
cat 9x15.repertoire-utf8 from the test when having utf-8 encoding
|
|
|
|
enabled.
|
|
|
|
|
|
|
|
Utf-8 code is enabled and disabled by sending <ESC>%G or <ESC>%@.
|
|
|
|
The utf8.sh utility in the test directory does this.
|
|
|
|
|
|
|
|
Though utf8 properly contains ascii-7 note that the length of a
|
|
|
|
utf8 encoded string differs from the length of the string itself.
|
|
|
|
This confuses many length aware programs as soon as proper (non-
|
|
|
|
ascii-7 characters) are used, this may result in deviating cursor
|
|
|
|
positions, corruption of the utf8 encoding by newlines inserted
|
|
|
|
in the middle of a multibyte character, etc. This cannot be
|
|
|
|
handled within konsole, but requieres those applications to
|
|
|
|
become utf8 extended. Examples are readline, vi.
|
|
|
|
|
|
|
|
---
|
|
|
|
TODO: Example of non-locale client code
|
|
|
|
= Discontining Linux console support
|
|
|
|
|
|
|
|
As a nice side effect, the Linux console support can be reduced
|
|
|
|
to a konsole configuration example. See README.linux.console.
|
|
|
|
---
|