## Das Unicode-System

| Allgemeines zu Unicode Aufbau des Unicode-Systems

## Allgemeines zu Unicode

Unicode ist ein System, in dem die Zeichen oder Elemente aller bekannten Schriftkulturen und Zeichensysteme festgehalten werden. Durch dieses System wird es möglich, einem Computer "weltweit" zu sagen, welches Zeichen man dargestellt bekommen will. Voraussetzung ist natürlich, dass der Computer bzw. das ausgeführte Programm das Unicode-System unterstützt.

Unicode strebt die möglichst vollständige Erfassung aller bekannten Zeichen aus gegenwärtigen und vergangenen Schriftkulturen an. Die Zeichen werden nach Klassen katalogisiert und erhalten einen Zeichenwert. Alle nur erdenklichen Zeichen und Zeichensorten werden erfasst. Für Steuerzeichen wie Silbentrennzeichen, erzwungene Leerzeichen oder Tabulatorzeichen gibt es Unicodes. Die Zeichen mathematischer Formeln fehlen ebenso wenig wie die Silben- oder Wortzeichen fernöstlicher Schriftkulturen. Auch Einzelteile von Zeichen, wie etwa die Doppelpunkte über den deutschen Umlauten, haben einen eigenen Unicode. Zeichen lassen sich auch dynamisch kombinieren - so gibt es zwar natürlich auch ein deutsches "ä", aber der gleiche Buchstabe lässt sich auch aus "a" und dem Element für Doppelpunkt über dem Zeichen erzeugen.

Neben der bloßen Adressierung eines Zeichens oder Elements ist im Unicode-System für jedes Zeichen auch ein Set von Eigenschaften definiert. Zur Eigenschaft eines Zeichens gehört z.B. die Schreibrichtung (bei arabischen Zeichen etwa ist die Schreibrichtung von rechts nach links). Insgesamt stecken hinter dem Unicode-System unzählige Forschungsergebnisse der weltweiten Sprachwissenschaft.

Das Unicode-Konsortium, das 1991 gegründet wurde und aus Linguisten und anderen Fachleuten besteht, ermittelt die aufzunehmenden Zeichen. Die vergebenen Zeichenwerte haben verbindlichen Charakter. Seit Version 2.0 ist das Unicode-System auch mit der internationalen Norm ISO/IEC 10646 synchronisiert. Das ist insofern wichtig, als HTML seit Version 4.0 und auch XML ab Version 1.0 auf der Norm ISO/IEC 10646 aufsetzen. Wenn Sie also wissen wollen, wie man ein bestimmtes Zeichen in HTML oder XML notieren soll, müssen Sie in den Unicode-Zeichentabellen nachsehen, welchen Zeichenwert das gewünschte Zeichen hat. Anschließend können Sie das gewünschte Zeichen durch eine numerische Notation wie z.B. `&#9871;` (dezimale Schreibweise) oder `&#x268F;` (hexadezimale Schreibweise mit `x`) im Quelltext der HTML- oder XML-Datei notieren.

Die Zeichenwerte der von Unicode erfassten Zeichen wurden bis vor kurzem noch ausschließlich durch eine zwei Byte lange Zahl ausgedrückt. Auf diese Weise lassen sich bis zu 65536 verschiedene Zeichen in dem System unterbringen (2 Byte = 16 Bit = 216 Kombinationsmöglichkeiten). In der Unicode-Vollversion 3.0 vom September 1999 wurden bereits 49.194 Zeichen aus aller Welt aufgelistet - die Grenze von 65536 war also schon zum Greifen nah. In der Version 3.1 vom März 2001 wurden dann nochmals 44.946 Zeichen neu aufgenommen, z.B. Zeichen aus historischen Schriften. Und so kennt die Version 3.1 also bereits 94.140 Zeichen, weshalb die Zwei-Byte-Grenze durchbrochen werden musste. Das Zwei-Byte-Schema, im Unicode-System als Basic Multilingual Plane (BMP) bezeichnet, wird deshalb von einem Vier-Byte-Schema abgelöst, wodurch sich die beruhigende Anzahl von 4.294.967.296 Zeichen (232 Kombinationsmöglichkeiten für Bits) adressieren lässt.

Informationen zum Unicode-Konsortium finden Sie im Web auf der Homepage des Unicode-Konsortiums.

Das große Problem mit Unicode ist eigentlich nur, wie all die vielen Zeichen an einem Computer dargestellt werden sollen. Denn Unicode definiert nur Zeichenwerte und Eigenschaften von Zeichen, aber es enthält ebenso wenig wie herkömmliche Zeichensätze Angaben darüber, wie das Zeichen darzustellen ist. Dazu sind am Computer Schnittstellen wie Schriftarten erforderlich. Die klassischen Computerschriftarten sind dazu jedoch nicht geeignet, da sie sich weitgehend an bestimmten Zeichensätzen orientieren. Neue, Unicode-orientierte Schriftarten verbreiten sich allmählich. In Verbindung mit modernen Betriebssystemen und Anwendungen unterstützen solche Schriftarten zumindest die zwei-byte-breite Adressierung, also den BMP-Anteil des Unicode-Systems.

## Aufbau des Unicode-Systems

Bei neuen Unicode-Versionen wird das Buch The Unicode Standard, herausgegeben vom Unicode-Konsortium, neu aufgelegt. Im internationalen Buchhandel ist dieses Buch erhältlich. Darin sind alle Zeichen, Zeichenwerte, Zeichenklassen usw. genau aufgeschlüsselt und dargestellt. Dieses Buch ist das verbindliche Normwerk. Auf den Web-Seiten des Unicode-Konsortiums finden sich zum schnellen Nachschlagen aber immerhin PDF-Dateien mit den einzelnen Zeichenwert-Tabellen. Die Verweise in der Tabelle weiter unten führen direkt zu den entsprechenden PDF-Dateien. Um diese Dateien betrachten zu können, benötigen Sie den Acrobat Reader von Adobe (der Web-Browser allein reicht nicht).

Das Unicode-System ist in Zahlenbereiche aufgeteilt. Die Zahlen selbst werden in der Form U+XXXX notiert. Das U steht für Unicode, und die X für je eine hexadezimale Ziffer. Zeichenwerte sind in diesen Tabellen also hexadezimal dargestellt. Falls Sie für die Notation eines oder meherer Zeichen aus dem Unicode-Bereich in HTML oder XML eine dezimale Darstellung verwenden wollen, können Sie den Dezimal-Hexadezimal-Umrechner benutzen.

Die einzelnen Zeichen im Unicode-System sind nicht wahllos angeordnet. Das gesamte System ist in Zeichenbereiche aufgeteilt. Die Zeichenbereiche spiegeln jeweils eine bestimmte Schriftkultur oder ein Set von Sonderzeichen wider.

Im folgenden werden die einzelnen Unicode-Zeichenbereiche aufgelistet. Bei jedem Zeichenbereich finden Sie einen Verweis. Der Verweis führt jeweils zu einer PDF-Datei auf der Homepage des Unicode-Konsortiums. Darauf finden Sie zu dem betreffenden Zeichenbereich Hinweise sowie eine grafische Tabelle mit Abbildungen der einzelnen Zeichen des Bereichs und der zugehörigen Unicode-Zeichenwerte (hexadezimal).

### BMP-Teil des Unicode-Systems (mit zwei Byte breiten Zeichen darstellbar):

Basic Latin (ASCII-Zeichensatz)
Zeichenbereich (in hexadezimaler Angabe): U+0000 to U+007F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Latin-1
(in hexadezimaler Angabe): U+0080 to U+00FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Latin Extended-A
Zeichenbereich (in hexadezimaler Angabe): U+0100 to U+017F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Latin Extended-B
Zeichenbereich (in hexadezimaler Angabe): U+0180 to U+024F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

IPA Extensions
Zeichenbereich (in hexadezimaler Angabe): U+0250 to U+02AF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Spacing Modifier Letters
Zeichenbereich (in hexadezimaler Angabe): U+02B0 to U+02FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Combining Diacritical Marks
Zeichenbereich (in hexadezimaler Angabe): U+0300 to U+036F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Greek
Zeichenbereich (in hexadezimaler Angabe): U+0370 to U+03FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Cyrillic
Zeichenbereich (in hexadezimaler Angabe): U+0400 to U+04FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Armenian
Zeichenbereich (in hexadezimaler Angabe): U+0530 to U+058F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Hebrew
Zeichenbereich (in hexadezimaler Angabe): U+0590 to U+05FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Arabic
Zeichenbereich (in hexadezimaler Angabe): U+0600 to U+06FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Devanagari
Zeichenbereich (in hexadezimaler Angabe): U+0900 to U+097F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Bengali
Zeichenbereich (in hexadezimaler Angabe): U+0980 to U+09FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Gurmukhi
Zeichenbereich (in hexadezimaler Angabe): U+0A00 to U+0A7F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Gujarati
Zeichenbereich (in hexadezimaler Angabe): U+0A80 to U+0AFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Oriya
Zeichenbereich (in hexadezimaler Angabe): U+0B00 to U+0B7F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Tamil
Zeichenbereich (in hexadezimaler Angabe): U+0B80 to U+0BFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Telugu
Zeichenbereich (in hexadezimaler Angabe): U+0C00 to U+0C7F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Kannada
Zeichenbereich (in hexadezimaler Angabe): U+0C80 to U+0CFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Malayalam
Zeichenbereich (in hexadezimaler Angabe): U+0D00 to U+0D7F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Thai
Zeichenbereich (in hexadezimaler Angabe): U+0E00 to U+0E7F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Lao
Zeichenbereich (in hexadezimaler Angabe): U+0E80 to U+0EFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Tibetan
Zeichenbereich (in hexadezimaler Angabe): U+0F00 to U+0FBF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Georgian
Zeichenbereich (in hexadezimaler Angabe): U+10A0 to U+10FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Hangul Jamo
Zeichenbereich (in hexadezimaler Angabe): U+1100 to U+11FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Latin Extended Additional
Zeichenbereich (in hexadezimaler Angabe): U+1E00 to U+1EFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Greek Extended
Zeichenbereich (in hexadezimaler Angabe): U+1F00 to U+1FFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

General Punctuation
Zeichenbereich (in hexadezimaler Angabe): U+2000 to U+206F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Superscripts and Subscripts
Zeichenbereich (in hexadezimaler Angabe): U+2070 to U+209F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Currency Symbols
Zeichenbereich (in hexadezimaler Angabe): U+20A0 to U+20CF
Genaue Code-Tabelle mit grafischer Zeichendarstellung
Hier ist auch das Eurozeichen-Symbol mit dabei - es hat den Wert `U+20AC`.
In HTML dezimal notiert: `&#8364;` oder einfacher: `&euro;`.

Combining Diacritical Marks for Symbols
Zeichenbereich (in hexadezimaler Angabe): U+20D0 to U+20FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Letterlike Symbols
Zeichenbereich (in hexadezimaler Angabe): U+2100 to U+214F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Number Forms
Zeichenbereich (in hexadezimaler Angabe): U+2150 to U+218F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Arrows
Zeichenbereich (in hexadezimaler Angabe): U+2190 to U+21FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Mathematical Operators
Zeichenbereich (in hexadezimaler Angabe): U+2200 to U+22FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Miscellaneous Technical
Zeichenbereich (in hexadezimaler Angabe): U+2300 to U+23FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Control Pictures
Zeichenbereich (in hexadezimaler Angabe): U+2400 to U+243F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Optical Character Recognition
Zeichenbereich (in hexadezimaler Angabe): U+2440 to U+245F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Enclosed Alphanumerics
Zeichenbereich (in hexadezimaler Angabe): U+2460 to U+24FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Box Drawing
Zeichenbereich (in hexadezimaler Angabe): U+2500 to U+257F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Block Elements
Zeichenbereich (in hexadezimaler Angabe): U+2580 to U+259F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Geometric Shapes
Zeichenbereich (in hexadezimaler Angabe): U+25A0 to U+25FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Miscellaneous Symbols
Zeichenbereich (in hexadezimaler Angabe): U+2600 to U+26FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Dingbats
Zeichenbereich (in hexadezimaler Angabe): U+2700 to U+27BF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

CJK Symbols and Punctuation
Zeichenbereich (in hexadezimaler Angabe): U+3000 to U+303F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Hiragana
Zeichenbereich (in hexadezimaler Angabe): U+3040 to U+309F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Katakana
Zeichenbereich (in hexadezimaler Angabe): U+30A0 to U+30FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Bopomofo
Zeichenbereich (in hexadezimaler Angabe): U+3100 to U+312F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Hangul Compatibility Jamo
Zeichenbereich (in hexadezimaler Angabe): U+3130 to U+318F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Kanbun
Zeichenbereich (in hexadezimaler Angabe): U+3190 to U+319F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Enclosed CJK Letters and Months
Zeichenbereich (in hexadezimaler Angabe): U+3200 to U+32FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

CJK Compatibility
Zeichenbereich (in hexadezimaler Angabe): U+3300 to U+33FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

CJK Unified Ideographs
Zeichenbereich (in hexadezimaler Angabe): U+4E00 to U+9FA5
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Hangul Syllables
Zeichenbereich (in hexadezimaler Angabe): U+AC00 to U+D7A3
Genaue Code-Tabelle mit grafischer Zeichendarstellung

High Surrogates
Zeichenbereich (in hexadezimaler Angabe): U+D800 to U+DB7F

Private Use High Surrogates
Zeichenbereich (in hexadezimaler Angabe): U+DB80 to U+DBFF

Low Surrogates
Zeichenbereich (in hexadezimaler Angabe): U+DC00 to U+DFFF

Private Use Area
Zeichenbereich (in hexadezimaler Angabe): U+E000 to U+F8FF

CJK Compatibility Ideographs
Zeichenbereich (in hexadezimaler Angabe): U+F900 to U+FAFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Alphabetic Presentation Forms
Zeichenbereich (in hexadezimaler Angabe): U+FB00 to U+FB4F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Arabic Presentation Forms-A
Zeichenbereich (in hexadezimaler Angabe): U+FB50 to U+FDFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Combining Half Marks
Zeichenbereich (in hexadezimaler Angabe): U+FE20 to U+FE2F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

CJK Compatibility Forms
Zeichenbereich (in hexadezimaler Angabe): U+FE30 to U+FE4F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Small Form Variants
Zeichenbereich (in hexadezimaler Angabe): U+FE50 to U+FE6F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Arabic Presentation Forms-B
Zeichenbereich (in hexadezimaler Angabe): U+FE70 to U+FEFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Halfwidth and Fullwidth Forms
Zeichenbereich (in hexadezimaler Angabe): U+FF00 to U+FFEF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Specials
Zeichenbereich (in hexadezimaler Angabe): U+FFF0 to U+FFFF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

### Erweiterter Bereich des Unicode-Systems (mit vier Byte breiten Zeichen darstellbar):

Old Italic
Zeichenbereich (in hexadezimaler Angabe): U+10300 to U+1032F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Gothic
Zeichenbereich (in hexadezimaler Angabe): U+10330 to U+1034F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Deseret
Zeichenbereich (in hexadezimaler Angabe): U+10400 to U+1044F
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Byzantine Musical Symbols
Zeichenbereich (in hexadezimaler Angabe): U+1D000 to U+1D0FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

Mathematical Alphanumeric Symbols
Zeichenbereich (in hexadezimaler Angabe): U+1D400 to U+1D7FF
Genaue Code-Tabelle mit grafischer Zeichendarstellung

CJK Unified Ideographs Extension B
Zeichenbereich (in hexadezimaler Angabe): U+20000 to U+2A6D6
Genaue Code-Tabelle mit grafischer Zeichendarstellung

| Downloadbare Schriftarten
| Zeichensätze (iso-8859-Familie und andere)

© 2001 selfhtml@teamone.de