1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) Markus Kuhn, 1995
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" 1995-11-26 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\" First version written
.\" 1998-03-11 Johnny Teveßen <j.tevessen@gmx.de>
.\" Translated to German
.\"
.TH UNICODE 7 "27. Dezember 1995" "Linux" "Verschiedenes"
.SH BEZEICHNUNG
Unicode \- der allumfassende 16bit-Zeichensatz
.SH BESCHREIBUNG
Der internationale Standard
.B ISO 10646
definiert das
.BR "Universal Character Set (UCS)" .
.B UCS
enthält sämtliche Zeichen sämtlicher anderen Zeichensatzstandards.
Es garantiert auch
.BR "round-trip compatibility" ,
d.h. es können Konvertierungstabellen auf eine Art erstellt werden,
dass beim Konvertieren eines Strings zwischen einer anderen
Kodierung und
.B UCS
keinerlei Information verlorengeht.
.B 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. Zurzeit 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
.B UCS
Standard (ISO 10646) beschreibt eine 31-bittige Zeichensatzarchitektur.
Bisher wurde jedoch erst den ersten 65534 Positionen (0x0000 bis
0xfffd), der
.BR "Basic Multilingual Plane (BMP)" ,
Zeichen zugewiesen, und es wird erwartet, dass nur sehr exotische
Zeichen (z.B. Hieroglyphen) für besondere wissenschaftliche Zwecke
jemals außerhalb dieser 16-Bit BMP platziert werden.
Die
.B UCS
Zeichen 0x0000 bis 0x007f sind mit denen des klassischen
.B US-ASCII
Zeichensatzes, und die Zeichen im Bereich von 0x0000
bis 0x00ff mit denen des
.B ISO 8859-1 Latin-1
Zeichensatzes identisch.
.SH KOMBINATIONSZEICHEN
Einige Stellen im
.B UCS
wurden so genannten
.BR "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
.BR 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
.B 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.
.SH IMPLEMENTATIONSSTUFEN
Da nicht erwartet werden kann, dass alle Systeme komplexere
Mechanismen wie Kombinationszeichen unterstützen können,
spezifiziert ISO 10646 die folgenden drei Implementationsstufen
für
.BR UCS:
.TP 0.9i
Stufe 1
Kombinationszeichen und Hangul Jamo-Zeichen (eine besondere,
kompliziertere Kodierung der koreanischen Schrift, in der
Hangul-Silben als zwei bis drei Unterzeichen kodiert werden)
werden nicht unterstützt.
.TP
Stufe 2
Wie Stufe 1, außer dass in einigen Schriften einige
Kombinationszeichen nicht erlaubt sind (z.B. in Hebräisch,
Arabisch, Devangari, Bengalisch, Gurmukhi, Gujarati, Oriya, Tamil,
Telugo, Kannada, Malayalam, Thai und Lao).
.TP
Stufe 3
Alle
.B UCS
Zeichen werden unterstützt.
.PP
Der vom Unicode Consortium veröffentlichte Unicode 1.1-Standard
enthält exakt die
.B 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.
.SH UNICODE UNTER LINUX
Unter Linux sollte im Moment nur
.B 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
.B wchar_t
ist in Linux ein 16-Bit unsigned int, und seine Werte werden als
.B UCS
Stufe 1
.B BMP
Codes interpretiert.
Die "locale"-Einstellung bestimmt, ob die Zeichenkodierung des
Systems beispielsweise
.B UTF-8
oder
.BR "ISO-8859-1"
ist.
Bibliotheksfunktionsn wie etwa
.BR wctomb,
.BR mbtowc
oder
.B wprintf
können benutzt werden, um die internen
.B wchar_t
Zeichen und Strings in die Zeichenkodierung des Systems und
zurück zu konvertieren.
.SH PRIVATBEREICH
Im
.BR 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.
.SH LITERATUR
.TP 0.2i
*
Information technology \- Universal Multiple-Octet Coded Character
Set (UCS) \- Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO 10646-1, International Organization
for Standardization, Genf, 1993.
Dies ist die offizielle Spezifikation von
.BR UCS .
Ziemlich offiziell, ziemlich dick und auch ziemlich teuer.
Informationen zur Bestellung gibt es auf http://www.iso.ch/.
.TP
*
The Unicode Standard \- Worldwide Character Encoding Version 1.0.
The Unicode Consortium, Addison-Wesley,
Reading, MA, 1991.
Unicode 1.1.4 ist bereits verfügbar. Die Änderungen gegenüber
dem 1.0er-Buch sind auf ftp://ftp.unicode.org/ erhältlich.
Unicode 2.0 wird 1996 erneut als Buch veröffentlicht werden.
.TP
*
S. Harbison, G. Steele. C \- A Reference Manual. Fourth edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Ein gutes Referenzbuch über die Programmiersprache C. Die vierte
Auflage behandelt jetzt auch das Amendment 1 von 1994 zum ISO
C-Standard (ISO/IEC 9899:1990), das eine große Anzahl neuer
C-Bibliotheksfunktionen zum Umgang mit Zeichensätzen von
mehr als 8 Bit pro Zeichen hinzufügt.
.SH BUGS
Zum Zeitpunkt der Erstellung dieser Manpage war die Unterstützung
von
.B UCS
durch die Linux libc weit entfernt davon, vollständig zu sein.
.SH AUTOR
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.SH ÜBERSETZUNG
Johnny Teveßen <j.tevessen@gmx.de>
.SH SIEHE AUCH
.BR utf-8 (7).
|