Liste der Unicode-Eigenschaften

Der Unicode-Standard kodiert nicht nur eine sehr große Zahl von Zeichen, sondern legt zu jedem dieser Zeichen auch eine Reihe von Eigenschaften fest, die das Zeichen und sein Verhalten beschreiben. So kann man den Eigenschaften des Buchstaben Ä etwa entnehmen, dass es sich um einen Großbuchstaben handelt, dass der zugehörige Kleinbuchstabe das ä ist oder dass er sich in ein A mit Trema zerlegen lässt.

Allgemeines

Formal sind Unicode-Eigenschaften als Abbildungen von Codepunkten in einen bestimmten Wertebereich definiert. Die Daten werden in verschiedenen einfachen Textdateien sowie als XML-Datei zur Verfügung gestellt.

Werte

Je nach Eigenschaft sind verschiedene Wertebereiche möglich. Die meisten Eigenschaften sind aufzählende Eigenschaften, ihr Wertebereich besteht aus einer festgelegten Menge. Aufzählende Eigenschaften werden nochmals weiter unterteilt in Katalogeigenschaften und binäre Eigenschaften. Katalogeigenschaften zeichnen sich dadurch aus, dass mit neuen Unicode-Versionen die Menge der möglichen Werte schrittweise anwächst. Binäre Eigenschaften sind aufzählende Eigenschaften mit genau zwei Werten, wahr (Y) und falsch (N). Es wird also angegeben, ob die Eigenschaft auf dieses Zeichen zutrifft oder nicht.

Außerdem gibt es Stringeigenschaften, die jedem Zeichen eine Zeichenkette aus Unicode-Zeichen zuordnen, numerische Eigenschaften, die jedem Zeichen eine Zahl zuordnen und sonstige Eigenschaften, die sich keiner dieser Kategorien zuordnen lassen.

Standardwerte

Eigenschaften haben aus mehreren Gründen ein oder mehrere Standardwerte. Zum einen wird in den Tabellen oft der Standardwert ausgelassen, um diese übersichtlicher zu gestalten. Zum anderen müssen Programme auch mit Text umgehen können, der nach einer neueren Unicode-Version erstellt wurde, und daher auch Zeichen enthalten kann, die zu dem Zeitpunkt, als das Programm entwickelt wurde, noch nicht belegt waren. Für aufzählende Eigenschaften ist jeweils meist ein Wert festgelegt, der als Standard gilt, in wenigen Fällen gibt es mehrere Standardwerte, die je nach Block vergeben werden. Bei binären Eigenschaften ist der Standardwert immer N, also nicht zutreffend.

Bei Stringeigenschaften ist der Standardwert immer das Zeichen selbst.

Aliase

Viele Eigenschaften haben neben ihrem eigentlichen Namen auch einen oder mehrere Aliasnamen. Häufig handelt es sich dabei um Abkürzungen. Auch für die möglichen Werte aufzählender Eigenschaften sind oft kurze Aliase festgelegt.

Status

Viele Eigenschaften sind normativ, also verbindlich für Programme, die nach dem Unicode-Standard arbeiten und die Eigenschaft interpretieren. Andere Eigenschaften sind dagegen als informativ gekennzeichnet und dienen nur als Zusatzinformation ohne verbindlichen Charakter. Eine Gruppe von Eigenschaften ist als beisteuernd gekennzeichnet. Diese Eigenschaften sollten nicht für sich alleine verwendet werden, sondern wurden definiert, um andere Eigenschaften daraus abzuleiten. Sie kennzeichnen meist eine Ausnahmemenge von Zeichen, die ansonsten nicht erfasst würde. Als Letztes gibt es noch provisorische Eigenschaften, die zunächst unter Vorbehalt aufgenommen wurden, um zu sehen, ob sie sich in der Praxis bewähren.

Einige Eigenschaften sind zusätzlich als deprecated („überholt“) markiert, diese sollten aus unterschiedlichen Gründen nicht mehr verwendet werden, bleiben aber aus Gründen der Abwärtskompatibilität im Unicode-Standard vorhanden.

Stabilität

Um Abwärtskompatibilität zu gewährleisten, werden einige Eigenschaften, sobald sie einmal für ein Zeichen festgelegt sind, nicht oder nur in bestimmter vorher bekannter Weise geändert. So ist etwa festgelegt, dass der Name eines Zeichens nie geändert wird, selbst wenn er sich als falsch herausstellt.

Eigenschaften

Die folgenden Listen führen alle Unicode-Eigenschaften auf, gruppiert wie in der offiziellen Dokumentation, zum Stand Unicode 6.3. Angegeben ist jeweils der Name der Eigenschaft, ein abkürzender Alias-Name (falls vorhanden), der Status der Eigenschaft, die Art des Wertebereichs und eine Beschreibung.

Allgemein

Die allgemeinen Eigenschaften geben einen groben Überblick über das Zeichen. Verwendung finden sie unter anderem in regulären Ausdrücken, wenn diese etwa wie in Perl die Abfrage von Unicode-Eigenschaften unterstützen.

* 
Neben einzelnen Zeichen haben auch einige Zeichenfolgen einen eigenen Namen.

Allgemeine Kategorie

Die Eigenschaft General_Category ist eine der grundlegenden Eigenschaften, die sowohl im Unicode-Standard selbst als auch in vielen anderen technischen Dokumentationen verwendet wird. Sie unterteilt alle Zeichen nach ihrer Hauptverwendung in Buchstaben, Zahlen, Interpunktion und weitere. Die folgende Tabelle listet die möglichen Werte auf.

Groß-/Kleinschreibung

Viele Eigenschaften beschäftigen sich mit der Groß-/Kleinschreibung. Sie legen fest, ob ein Zeichen ein Groß- oder Kleinbuchstabe ist, welches der Kleinbuchstabe zu einem gegebenen Großbuchstaben ist und umgekehrt und weiteres. Um Zeichenketten schreibweisenunabhängig zu vergleichen, wird eine als case fold bezeichnete Normalform definiert. Verwendet werden diese Eigenschaften unter anderem von den verschiedenen Unicode-Casing-Algorithmen.

Numerisch

Die folgenden Eigenschaften beschäftigen sich mit numerischen Eigenschaften von Zeichen, besonders den Zahlzeichen in Unicode.

Normalisierung

Eine Reihe von Eigenschaften behandelt die verschiedenen Arten der Normalisierung von Unicode-Texten.

Darstellung

Die folgenden Eigenschaften spielen eine Rolle bei der Darstellung von Text.

Bidi

Für die Darstellung von bidirektionalem Text stehen folgende Eigenschaften zur Verfügung.

Bezeichner

Die folgenden Eigenschaften sind eine Möglichkeit, die erlaubten Zeichen in Bezeichnern festzulegen. Im Gegensatz zu klassischen Programmiersprachen, die nur ASCII-Zeichen erlauben, sind in Sprachen, die diese Eigenschaften verwenden, ein Großteil der Unicode-Zeichen in Bezeichnern zulässig. Ein Beispiel für eine Sprache, deren Syntax weitgehend diesen Umfang zulässt, ist JavaScript.

CJK

Einige Eigenschaften betreffen CJK-Zeichen. Zusätzlich gibt es noch eine Reihe weiterer Eigenschaften, siehe den Abschnitt Unihan.

Sonstiges

Einige Eigenschaften dienen hauptsächlich der Information über ein Zeichen, ohne dass sie für spezielle Anwendungen vorgesehen sind.

Beisteuernde Eigenschaften

Diese Eigenschaften werden nicht alleine verwendet, sondern werden benutzt, um andere Eigenschaften daraus abzuleiten. Meist handelt es sich um Ausnahmemengen, die durch die allgemeine Kategorie nicht abgedeckt werden.

Unihan

Für CJK-Zeichen, die im Zuge der Han-Vereinheitlichung in Unicode aufgenommen wurden, existiert eine eigene Datenbank, die Eigenschaften speziell für diese Zeichen bereitstellt. Die Angaben zur Quelle bezeichnen dabei die Zeichenkodierung in verschiedenen nationalen Zeichensätzen. Neben den hier aufgeführten Eigenschaften gibt es eine Reihe weiterer provisorischer Eigenschaften, die weitere Hinweise zur Aussprache, Bedeutung, alternativen Kodierungen etc. liefern.

Quellen

  • Mark Davis, Ken Whistler: Unicode Standard Annex #44: Unicode Character Database. (online)
  • John H. Jenkins, Richard Cook, Ken Lunde: Unicode Standard Annex #38: Unicode Han Database. (online)
  • Ken Whistler, Asmus Freytag: Unicode Technical Report #23: The Unicode Character Property Model. (online)
  • Eric Muller: Unicode Standard Annex #42: Unicode Character Database in XML. (online)

Einzelnachweise

Uses material from the Wikipedia article Liste der Unicode-Eigenschaften, released under the CC BY-SA 4.0 license.