table of contents
other languages
other sections
UNICODE(7) | Linux-Programmierhandbuch | UNICODE(7) |
BEZEICHNUNG¶
Unicode - universeller ZeichensatzBESCHREIBUNG¶
Der internationale Standard ISO 10646 definiert den Universal Character Set (UCS). UCS enthält sämtliche Zeichen aller anderen Zeichensatz-Standards. Er garantiert auch round-trip compatibility, d.h. Konvertierungstabellen können so erstellt werden, dass beim Konvertieren einer Zeichenkette zwischen einer anderen Kodierung und UCS keinerlei Information verlorengeht.Kombinationszeichen¶
Einige Code-Punkte von UCS wurden sogenannten Kombinationszeichen (combining characters) 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. Den wichtigsten Zeichen mit Akzenten wurden eigene Codes im UCS zugewiesen. Mit dem Mechanismus der Kombinationszeichen können Akzente und andere diakritische Markierungen zu jedem beliebigen Zeichen hinzugefügt werden. Kombinationszeichen folgen immer dem Zeichen, das sie verändern. 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. Kombinationszeichen sind wesentlich zum Beispiel für die Codierung der Thai-Schrift, für den Satz mathematischer Formeln und Nutzer der internationalen Lautschrift.Implementierungsstufen¶
Da nicht erwartet wird, dass alle Systeme komplexere Mechanismen wie Kombinationszeichen unterstützen, beschreibt ISO 10646 die folgenden drei Implementierungsstufen für UCS:- Stufe 1
- Kombinationszeichen und Hangul-Jamo (eine Codierungsvariante der koreanischen Schrift, in der Zeichen für Hangul-Silben als zwei- oder dreistellige Vokal-/Konsonanten-Kombinationen codiert werden) werden nicht unterstützt.
- Stufe 2
- Zusätzlich zu Stufe 1 sind Kombinationszeichen jetzt für einige Sprachen, in denen sie unerlässlich sind (z. B. Thai, Lao, Hebräisch, Arabisch, Devanagari, Malayalam) erlaubt.
- Stufe 3
- Alle UCS-Zeichen werden unterstützt.
Unicode unter Linux¶
Unter GNU/Linux ist der C-Datentyp wchar_t ein vorzeichenbehafteter 32-Bit-Ganzzahl-Typ. Seine Werte werden von der C-Bibliothek immer (in allen Locales) als UCS-Codewerte interpretiert. Diese Konvention signalisiert die GNU-C-Bibliothek Anwendungen durch die Definition der Konstante __STDC_ISO_10646__, wie es im ISO-C99-Standard spezifiziert ist.Bereich für private Nutzung¶
In der BMP werden dem Bereich 0xe000 bis 0xf8ff niemals Zeichen vom Standard zugewiesen werden - er ist für private Nutzung 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 den Linux-Bereich von 0xf000 bis 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> koordiniert.Literatur¶
- *
- Information technology — Universal Multiple-Octet
Coded Character Set (UCS) — Part 1: Architecture and Basic
Multilingual Plane. International Standard ISO/IEC 10646-1, International
Organization for Standardization, Genf, 2000.
- *
- The Unicode Standard, Version 3.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN 0-201-61633-5.
- *
- S. Harbison, G. Steele. C: A Reference Manual. Fourth
edition, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
- *
- Technische Unicode-Berichte
- *
- Markus Kuhn: UTF-8 and Unicode FAQ for UNIX/Linux.
http://www.cl.cam.ac.uk/~mgk25/unicode.html
Bietet Informationen zum Abonnieren der Mailing-Liste linux-utf8. Dort
bekommen Sie am ehesten Rat für die Verwendung von Unicode unter
Linux.
- *
- Bruno Haible: Unicode HOWTO
FEHLER¶
Als diese Handbuchseite das letzte Mal überarbeitet wurde, war die Unterstützung der GNU-C-Bibliothek für UTF-8-Locales ausgereift und die Unterstützung durch XFree86 in einem fortgeschrittenen Stadium. Hingegen war aber die Arbeit an der Anpassung von Anwendungen (vor allem Editoren) für den Einsatz mit UTF-8-Locales noch voll im Gange. Die aktuelle allgemeine UCS-Unterstützung unter Linux bietet in der Regel CJK-Zeichen doppelter Breite und manchmal sogar einfach überlagernde Kombinationszeichen; die Unterstützung für Schriften mit der Schreibrichtung von rechts nach links oder spezielle Anforderungen an die Ersetzung von Ligaturen (Hebräisch, Arabisch oder die indischen Schriften) steht in der Regel noch aus. Diese Schriften unterstützen derzeit nur bestimmte GUI-Anwendungen (HTML-Betrachter und Textverarbeitung) mit ausgefeilten Text-Rendering-Engines.SIEHE AUCH¶
setlocale(3), charsets(7), utf-8(7)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Johnny Teveßen <j.tevessen@gmx.de> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.5. August 2012 | GNU |