summaryrefslogtreecommitdiffstats
path: root/konsole/README.unicode
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /konsole/README.unicode
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konsole/README.unicode')
-rw-r--r--konsole/README.unicode84
1 files changed, 84 insertions, 0 deletions
diff --git a/konsole/README.unicode b/konsole/README.unicode
new file mode 100644
index 000000000..bf8134674
--- /dev/null
+++ b/konsole/README.unicode
@@ -0,0 +1,84 @@
+[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.
+---