You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/konsole/README.unicode

85 lines
3.2 KiB

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