|
|||||||
|
|
UNICODESection: Verschiedenes (7)Updated: 27. Dezember 1995 Index Return to Main Contents BEZEICHNUNGUnicode - der allumfassende 16bit-ZeichensatzBESCHREIBUNGDer internationale Standard ISO 10646 definiert das Universal Character Set (UCS). UCS enthält sämtliche Zeichen sämtlicher anderen Zeichensatzstandards. Es garantiert auch round-trip compatibility, d.h. es können Konvertierungstabellen auf eine Art erstellt werden, daß beim Konvertieren eines Strings zwischen einer anderen Kodierung und UCS keinerlei Information verlorengeht.UCS enthält Zeichen zur Repräsentation beinahe jeder bekannten Sprache. Das beinhaltet neben den vielen Sprachen, die Erweiterungen der lateinischen Schrift benutzen, auch die folgenden Schriften und Sprachen: Griechisch, Kyrillisch, Hebräisch, Arabisch, Armenisch, Gregorianisch, Japanisch, Chinesisch, Hiragana, Katakana, Koreanisch, Hangul, Devangari, Bengalisch, Gurmukhi, Gujarati, Oriya, Tamilisch, Telugu, Kannada, Malayam, Thai, Lao, Bopomofo und einige andere. Zur Zeit wird daran gearbeitet, weitere Schriften wie Tibetanisch, Khmer, Runen, Äthiopisch, Hieroglyphen, verschiedene Indo-Europäische Sprachen und viele andere ebenfalls zu erfassen. Bei den meisten der letzteren Schriften war bis zum Zeitpunkt der Veröffentlichung des Standards 1993 noch nicht geklärt, wie sie am besten kodiert werden könnten. Zusätzlich zu den von diesen Schriften benötigten Zeichen wurde auch eine große Anzahl von graphischen, typographischen, mathematischen und wissenschaftlichen Symbolen wie etwa denen von TeX, PostScript, MS-DOS, Macintosh, Videotext, OCR und vielen Textverarbeitungen integriert, außerdem spezielle Codes, die round-trip compability mit allen existierenden Zeichensätzen garantieren. Der UCS Standard (ISO 10646) beschreibt eine 31-bittige Zeichensatzarchitektur. Bisher wurde jedoch erst den ersten 65534 Positionen (0x0000 bis 0xfffd), der Basic Multilingual Plane (BMP), Zeichen zugewiesen, und es wird erwartet, daß nur sehr exotische Zeichen (z.B. Hieroglyphen) für besondere wissenschaftliche Zwecke jemals außerhalb dieser 16-Bit BMP plaziert werden. Die UCS Zeichen 0x0000 bis 0x007f sind mit denen des klassischen US-ASCII Zeichensatzes, und die Zeichen im Bereich von 0x0000 bis 0x00ff mit denen des ISO 8859-1 Latin-1 Zeichensatzes identisch. KOMBINATIONSZEICHENEinige Stellen im UCS wurden sogenannten combining characters (Kombinationszeichen) zugewiesen. Sie sind mit den Akzenttasten auf Schreibmaschinen vergleichbar, bei denen sich die Schreibposition nicht verändert. Ein Kombinationszeichen fügt dem vorhergehenden Zeichen einfach einen Akzent hinzu. Die wichtigsten akzentuierten Zeichen besitzen eigene Codes im UCS, doch der Mechanismus der Kombinationszeichen erlaubt es, Akzente und andere diakritische Markierungen zu jedem beliebigen Zeichen hinzuzufügen. Kombinationszeichen folgen immer demjenigen Zeichen, auf das sie sich auswirken sollen. Zum Beispiel kann das Deutsche "Ä" (oder "Latin capital letter A with diaeresis") entweder durch den festen UCS Code 0x00c4 oder alternativ als Kombination des normalen "A" ("Latin capital letter A") gefolgt vom Kombinationszeichen für "doppelt gepunktet" ("combining diaeresis") als 0x0041 0x0308 dargestellt werden.IMPLEMENTATIONSSTUFENDa nicht erwartet werden kann, daß alle Systeme komplexere Mechanismen wie Kombinationszeichen unterstützen können, spezifiziert ISO 10646 die folgenden drei Implementationsstufen für UCS:
Der vom Unicode Consortium veröffentlichte Unicode 1.1-Standard enthält exakt die UCS Basic Multilingual Plane auf Implementationsstufe 3, wie sie in ISO 10646 beschrieben ist. Unicode 1.1 fügt der Definition von ISO 10646 außerdem einige semantische Definitionen für einige Zeichen hinzu. UNICODE UNTER LINUXUnter Linux sollte im Moment nur BMP auf Implementationsstufe 1 benutzt werden, um die Komplexizität der Implementation von Kombinationszeichen gering zu halten. Die höheren Implementationsstufen sind eher für besondere Textverarbeitungsformate angebracht, jedoch nicht als universeller Systemzeichensatz. Der C-Typ wchar_t ist in Linux ein 16-Bit unsigned int, und seine Werte werden als UCS Stufe 1 BMP Codes interpretiert. Die "locale"-Einstellung bestimmt, ob die Zeichenkodierung des Systems beispielsweise UTF-8 oder ISO-8859-1 ist. Bibliotheksfunktionsn wie etwa wctomb, mbtowc oder wprintf können benutzt werden, um die internen wchar_t Zeichen und Strings in die Zeichenkodierung des Systems und zurück zu konvertieren.PRIVATBEREICHIm BMP werden dem Bereich 0xe000 bis 0xf8ff niemals Zeichen vom Standard zugewiesen werden - er ist für private Benutzung reserviert. Für die Linux-Gemeinde wurde dieser Privatbereich weiter unterteilt in den Bereich 0xe000 bis 0xefff, der vom Endbenutzer individuell benutzt werden kann, und dem Linux-Bereich von 0xf000 bix 0xf8ff, in dem koordiniert gemeinsame Erweiterungen aller Linux-User abgelegt werden. Die Registrierung der diesem Bereich zugeordneten Zeichen wird momentan von H. Peter Anvin <Peter.Anvin@linux.org>, Yggdrasil Computing, Inc. verwaltet. Sie enthält einige DEC VT100 Graphikzeichen, die in Unicode fehlen, ermöglicht direkten Zugriff auf die Zeichen im Fontbuffer der Console und enthält Zeichen, die von einigen weiteren Schriften wie Klingonisch benutzt werden.LITERATUR
BUGSZum Zeitpunkt der Erstellung dieser Manpage war die Unterstützung von UCS durch die Linux libc weit entfernt davon, vollständig zu sein.AUTORMarkus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>ÜBERSETZUNGJohnny Teveßen <j.tevessen@gmx.de>SIEHE AUCHutf-8(7).
Index
| ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man7". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |