Über die Verwendung von Sonderzeichen im Internet

Inhalt

  1. Was sind Sonderzeichen?
  2. Was ist ein Zeichensatz?
  3. Der Unterschied zwischen Schriftzeichen (character) und Glyphe (glyphe)
  4. Der "American Standard Code for Information Interchange" (ASCII)
  5. "extended ASCII": Erweiterte Zeichensätze
    Der "Extended Binary Coded Decimal Interchange Code" (EBCDIC)
    Der ANSI-Zeichensatz
    ISO Latin-1
  6. Unicode
    UCS 2 (UTF-16)
    UTF-8
    UCS 4
    Die verschiedenen Unicode-Versionen
  7. Unicode im Internet
  8. Links zum Thema Sonderzeichen und Unicode

Was sind Sonderzeichen?

Im Zusammenhang dieses Aufsatzes werden unter Sonderzeichen alle druck- und darstellbaren alphanummerischen Schriftzeichen (also Zahlen, Buchstaben und Satzzeichen) verstanden, die in den Sprachen verwendet werden, die im lateinischen Alphabet geschrieben werden, sofern diese alphanummerischen Zeichen nicht zum "American Standard Code for Information Interchange" (ASCII) gehören.

Zu den Sonderzeichen in diesem Verständnis zählen insbesondere die diakritischen Zeichen. Unter "diakritischen Zeichen" versteht man Zusatzzeichen zu einem Buchstaben, die Aussprache oder Betonung näher bezeichnen. Ein Diakritikum (von Griech.: "diakritikós"; Dt.: "unterscheidend") ist ein Zusatz (wie Strich, Punkt, Wellenlinie oder Häkchen), der in, über, durch oder unter einen Buchstaben gesetzt wird, um dessen Aussprache oder Betonung näher zu bezeichnen. So zählen etwa die im Französischen verwendeten Akzente, die Punkte über deutschen Umlauten oder die im Spanischen Benutzte Tilde zu den diakritischen Zeichen. Diakritische Zeichen sind im ASCII nicht enthalten.

Sonderzeichen sind, vereinfachend gesagt, alle Textzeichen, die nicht zum ASCII gehören. Sonderzeichen im engeren Sinne sind die Textzeichen, die nicht zu ISO Latin-1 gehören.

Was ist ein Zeichensatz?

Ein Zeichensatz ist eine festgelegte Menge von Zeichen (Buchstaben, Ziffern, Satz- und Sonderzeichen sowie Steuerungszeichen), also eine Gruppierung von alphabetischen, numerischen und anderen Zeichen mit gemeinsamen Merkmalen. Die Bezeichnung "Zeichensatz" wird auf unterschiedliche Arten von Zeichen-Sets angewendet, nämlich auf:

Hier wird der Ausdruck "Zeichensatz" im Sinne von "Zeichenkodierungsschema" (Engl.: "Character Encoding Scheme"; CES) verwendet, sofern sich aus dem Zusammenhang nicht eine andere Verwendung ergibt. Ein Zeichensatz in diesem Sinne ist eine genormte Zuordnungsregel, die die Darstellung von Textzeichen in Form von binären Zahlen (Byte-Werten) ermöglicht, indem sie festlegt, welcher Byte-Wert als welches Zeichen dargestellt wird. Zeichensätze sind also im Wesentlichen Tabellen, die einem Textzeichen einen Byte-Wert zuordnen. Zeichencodierungen dienen dazu, Byte-Werte in lesbare Zeichen zu übersetzen, die sich zum Beispiel auf dem Bildschirm darstellen lassen. Für diese Zuordnung von Byte-Werten zu Textzeichen gibt es zahlreiche unterschiedliche, miteinander meist unvereinbare Konventionen. Es gibt also verschiedene miteinander inkompatible Zeichensätze.

Ein Zeichensatz (CES) definiert also einen Byte-Wert für jedes Textzeichen, löst jedoch nicht das Problem, wie diese Zeichen an einem Computer dargestellt werden können; denn er enthält keine Angaben darüber, wie das Zeichen zum Beispiel auf dem Bildschirm oder im Druck darzustellen ist. Für Bildschirmdarstellung und Druck des Zeichens müssen auf dem Computer die entsprechenden Schriftarten (Fonts) vorhanden sein, um den Byte-Wert in eine Glyphe umsetzen zu können. Fonts sind Beschreibungen von Schriftzeichen zum Zwecke ihrer Abbildung auf Ausgabegeräten wie Bildschirm oder Drucker. Ein Font ist also ein vollständiger Satz von Buchstaben, Ziffern, Satz- und Sonderzeichen in einer Schriftart und in einer Schriftgröße. Das einzelne Zeichen kann als Pixelgrafik (Bitmap) oder als Vektorgrafik vorliegen. Nur Schriftarten, die in vektorieller Darstellung vorliegen, können frei skaliert (vergrößert oder verkleinert) werden.

Der Unterschied zwischen Schriftzeichen (character) und Glyphe (glyphe)

Schriftzeichen (Engl.: "character") sind die kleinsten semantischen Einheiten eines Textes, zum Beispiel Buchstaben, Ziffern, Satzzeichen, Diakritika. Eine Glyphe ist die graphische Darstellung eines solchen Textzeichens. So sind etwa a, a, a drei verschiedene Glyphen für den gleichen Buchstaben. Umgekehrt kann - im Falle einer Ligatur - auch dieselbe Glyphe aus mehreren verschiedenen Buchstaben bestehen, zum Beispiel besteht die Glyphe Œ aus den Buchstaben O und E, die Ligatur æ besteht aus den Buchstaben a und e und so weiter. Ein Textzeichen (character) ist also eine semantische Text-Einheit, eine Glyphe ist hingegen eine graphische Text-Einheit. Der "Character" bleibt unabhängig vom Stil seiner graphischen Darstellung immer der gleiche, wohingegen die Glyphe sich je nach Schriftart (zum Beispiel "Times Roman", "Arial", "Garamond") und Schriftschnitt (zum Beispiel kursiv, fett, halbfett, Kapitälchen) verändert.

In einem Zeichensatz (Engl.: "Character Encoding Scheme") werden Textzeichen einem bestimmten, jeweils einmaligen Byte-Wert zugeordnet. Zeichensätze sind also Tabellen, in denen jedem Textzeichen eine eindeutige Zahl zugeordnet ist, zum Beispiel dem A der Wert 65. Damit sind die Textzeichen zwar definiert (kodiert), aber noch nicht darstellbar. Für die Darstellung der Textzeichen eines Zeichensatzes ("Character Encoding Scheme") benötigt man eine Schrift ("Typeface", "Font"), also einen Vorrat von graphischen Zeichen. Eine Schrift (ein Font) ist die Zuordnung von Schriftzeichen (characters) zu graphischen Symbolen (glyphes).

Der "American Standard Code for Information Interchange" (ASCII)

Der Zeichensatz, der im Internet seit seiner Entstehung und bis heute am meisten verwendet wird - und leider der einzige Zeichensatz, der in Client-Server-Systemen zuverlässig funktioniert - ist der "American Standard Code for Information Interchange" (ASCII; Dt.: "Amerikanischer Standard-Code für den Informationsaustausch").
Der ASCII ist ein Standardverfahren zur Kodierung alphabetischer und numerischer Schriftzeichen sowie von Steuerzeichen. Für jedes Zeichen gibt es einen eindeutigen Zahlen-Code. So trägt zum Beispiel die Ziffer 1 die Nummer 49, das große A die Nummer 65.
Im ASCII wird jedes Zeichen mit einem Byte kodiert. Da jedes Byte aus acht Bit besteht und jedes Bit zwei mögliche Zustände hat, sind theoretisch 2 hoch 8, also 256 verschiedene Zeichen möglich. Tatsächlich belegt jedes ASCII-Zeichen jedoch nur die ersten sieben der acht Bit eines jeden Bytes. Im ASCII sind daher nur 2 hoch 7, also 128 Zeichen möglich. Der ASCII ist also ein 7 Bit-Code für die Darstellung von insgesamt bis zu 128 Zeichen des lateinischen Alphabets - Buchstaben, Ziffern, Sonder- und Steuerzeichen.
Die ersten 32 Zeichen des ASCII werden als Kontrollzeichen benutzt, etwa für die Steuerung von Druckern. Diese Zeichen sind nicht anzeig- oder druckbar.
Die deutschen Sonderzeichen (wie Umlaute und das ß) sind nicht Teil des ASCII. Auch die Sonderzeichen anderer europäischer Länder sind nicht im ASCII enthalten.
Die meisten Datenübertragungsverfahren (Protokolle) im Internet basieren auf dem ASCII. In der Telekommunikation per E-Mail ist es daher auch heute noch unüblich, Sonderzeichen zu verwenden, da sie von anderen Systemen unter Umständen falsch interpretiert werden und dann zu Zeichenkauderwelsch beim Empfänger führen. Es gibt zwar verschiedene, durchaus zuverlässige Verfahren, um Sonderzeichen in ASCII-Zeichen umzukodieren und dann zu übertragen ("Multipurpose Internet Mail Extensions", "Quoted Printable"), aber man sollte sich nicht darauf verlassen, dass beim Empfänger einer Mail das De-Kodierungsverfahren zur Verfügung steht, das zum Kodierungsverfahren des Absenders passt - und nur unter dieser Bedingung kommen Nicht-ASCII-Zeichen korrekt beim Empfänger an.
Aus ähnlichen Gründen sollten in Web-Seiten nicht zum ASCII gehörende Sonderzeichen in ASCII-Zeichen umkodiert (maskiert) werden.

"extended ASCII": Erweiterte Zeichensätze

Um den Unzulänglichkeiten des ASCII hinsichtlich der nationalen Sonderzeichen abzuhelfen, wurden im Laufe der Zeit mehrere verschiedene, untereinander inkompatible, erweiterte Zeichensätze geschaffen, die unter der Sammelbezeichnung "extended ASCII" (erweiterter ASCII) zusammengefasst werden. Sie haben gemeinsam, dass sie zur Kodierung jedes Zeichens alle acht Bit eines Bytes verwenden, so dass sie 256 Zeichen umfassen können. Sie werden daher als 8 Bit-Zeichensätze bezeichnet.

Der "Extended Binary Coded Decimal Interchange Code" (EBCDIC)

Eine Sonderrolle unter den 8 Bit-Zeichensätzen nimmt der "Extended Binary Coded Decimal Interchange Code" (EBCDIC; Dt. etwa: "Erweiterter, binär codierter, dezimaler Austausch-Code") ein.Dabei handelt es sich um einen vom Büromaschinenhersteller IBM entwickelten Zeichensatz für Buchstaben, Zahlen, Satz-, Sonder- und Steuerungszeichen. Der EBCDIC wird vor allem auf Großrechnern (Mainframes) von IBM verwendet. Der EBCDIC ist zwar, wie gesagt, ein 8 Bit-Zeichensatz, aber von den rechnerisch möglichen 256 Zeichen sind 96 nicht definiert. Der EBCDIC enthält keine Sonderzeichen, ebensowenig wie der ASCII.
EBCDIC und ASCII sind untereinander unvereinbar (inkompatibel). Zum Beispiel sind im EBCDIC zuerst die Buchstaben, dann die Ziffern codiert, beim ASCII umgekehrt erst die Ziffern und dann die Buchstaben. Daher ist beim Datenaustausch zwischen ASCII- und EBCDIC-Systemen eine Code-Umsetzung erforderlich.
Heute spielt der EBCDIC nur noch in einigen Großrechenanlagen (Mainframe-Terminal-Systemen) eine Rolle; im Bereich der "Personal Computers" (PCs) wurde er durch den ANSI-Zeichensatz ersetzt.

Der ANSI-Zeichensatz

Der ANSI-Zeichensatz ist ein genormter Satz von alphanumerischen Zeichen und Steuerzeichen, der in der Datenübertragung und Computer-Technik weit verbreitet ist. Er wird in den Windows-Betriebssystemen von Microsoft (bis einschließlich Windows 98) sowie im Amiga verwendet. Dieser Zeichensatz wurde vom "American National Standard Institute" (ANSI; Dt. etwa: "Amerikanisches Institut für nationale Standards") festgelegt. Dieses US-amerikanische Normungsgremium ist vergleichbar mit dem Deutschen Institut für Normung (DIN) und vertritt die USA bei der "International Standards Organization" (ISO).
Der ANSI-Zeichensatz trägt die offiziellen Bezeichnung ISO 6937/2. Dieser Zeichensatz enthält 256 fortlaufend (von 0 bis 255) durchnummerierte Zeichen. Zur Kodierung jedes Zeichens wird ein Byte verwendet, so dass rechnerisch 256 Zeichen (2 hoch 8) möglich sind, von denen allerdings 60 nicht definiert (vakant) sind. Auch der ANSI-Zeichensatz ist also ein 8 Bit-Zeichensatz. Der ANSI-Zeichensatz stimmt in den Zeichen Nummer 32 bis 127 mit dem ASCII überein, ist also sozusagen abwärtskompatibel. Der ANSI-Zeichensatz geht jedoch über den ASCII hinaus; er enthält auch Sonderzeichen, etwa die Umlaute. Der ANSI-Zeichensatz wird daher auch als "extended ASCII" (Dt.: "erweiterter ASCII") bezeichnet.
Die ersten 32 Zeichen des ANSI-Zeichensatzes (mit den Nummern 0 bis 31) sind Steuerbefehle (Engl.: "Control Characters"); es handelt sich dabei um nicht druck- oder darstellbare Zeichen. Die alphanummerischen Zeichen mit den Nummern 33 bis 127 stimmen, wie gesagt, zwischen ANSI-Zeichensatz und ASCII überein. Die ANSI-Zeichen mit den Nummern 128 bis 159 sind nicht definiert (vakant). Die ANSI-Zeichen mit den Nummern 160 bis 255 stimmen mit den des Unicode UCS-2-Skript "C1 Controls and Latin 1 Supplement" überein.
ANSI-Zeichensatz und EBCDIC sind zueinander inkompatibel.

ISO Latin-1

Die internationale Organisation für Normen (ISO) unternahm in den 1980er Jahren den Versuch, den Wildwuchs bei den 8 Bit-Zeichensätzen durch ihre Serie von ISO-8859-Standards zu beschränken. Weit verbreitet ist der Zeichensatz ISO 8859-1, der auch als ISO Latin-1 bekannt ist. Er umfasst die Textzeichen der meisten nord- und west-europäischen Sprachen. Dieser Zeichensatz umfasst also neben den lateinischen Buchstaben, den arabischen Ziffern und zahlreichen Interpunktionszeichen auch die meisten der in den romanischen und germanischen Sprachen gebräuchlichen Sonderzeichen. Allerdings ist der Zeichenvorrat nicht nach Sprachfamilien zwischen ISO Latin-1 und ISO Latin-2 aufgeteilt, sondern nach der politischen Geographie des Kalten Krieges. So sind zum Beispiel die Sonderzeichen für Rumänisch nicht in demselben Zeichensatz enthalten wie die anderer romanischer Sprachen, etwa Spanisch (Castellano), Portugiesisch oder Italienisch.
In den ersten 128 Zeichen stimmt ISO Latin-1 mit dem "American Standard Code for Information Interchange" (ASCII) überein, ist also abwärtskompatibel.
Während der Zeichensatz "ISO Latin-1" (ISO 8859-1) die in den west-europäischen Sprachen gebräuchlichen Buchstaben und Sonderzeichen umfasst, stellt "ISO Latin-2" (ISO 8859-2) die Buchstaben und diakritischen Zeichen für ost-europäische Sprachen zur Verfügung, die mit lateinischen Buchstaben geschrieben werden. Für europäische Sprachen wie Russisch, Serbisch, Bulgarisch und Griechisch, die nicht in lateinischer Schrift geschrieben werden, hat die ISO eigene Zeichensätze festgelegt.

Unicode

Wenn auch die 8 Bit-Zeichensätze die Kodierung von doppelt so vielen Zeichen ermöglichen wie der 7 Bit-ASCII, so genügen doch die möglichen 256 verschiedenen Zeichen allenfalls für die Kodierung der Sprachen, die im lateinischen Alphabet geschrieben werden, nicht aber für die Sprachen, die in anderen Alphabeten geschrieben werden, etwa dem griechischen, kyrillischen, arabischen, hebräischen oder thailändischen - von den Silben- und Piktogrammschriften wie Chinesisch (Kanjii) und Japanisch (Hiragana, Katakana) ganz zu schweigen. Deshalb wurden Zeichensätze eingeführt, die mehr als ein Byte für die Kodierung jedes Textzeichens verwenden. In den Zeichensätzen, die zwei Byte (16 Bit) zur Darstellung ihrer Zeichen nutzen, können immerhin 65.536 verschiedene Zeichen kodiert werden. Man bezeichnet sie als "Double Byte Character Set" (DBCS; Dt.: "Doppel-Byte-Zeichensatz").

Einen Versuch, alle gebräuchlichen Schriftsysteme in einem Zeichensatz darstellbar zu machen, stellt der Unicode dar. Unicode (Dt. etwa: "Einheitsschlüssel") ist ein alphanumerischer Zeichensatz (CES), der weltweit alle bekannten Textzeichen (Buchstaben, Silbenzeichen, Piktogramme, Ideogramme, Satzzeichen, Sonderzeichen, Ziffern) zusammenfasst, also nicht nur die Buchstaben des lateinischen Alphabets, sondern etwa auch das griechische, kyrillische, arabische, hebräische, thailändische Alphabet und die verschiedenen japanischen (Katakana, Hiragana), chinesischen (Kanji) und koreanischen Schriften (Hangul). Außerdem können mathematische, kaufmännische und technische Sonderzeichen im Unicode kodiert werden. Das in Kalifornien ansässige "Unicode Consortium" hat den Unicode-Standard im Jahr 1991 veröffentlicht. Unicode ist im Jahre 1996 von der "International Organization for Standardization" (ISO) als ISO 10646 angenommen worden.

UCS 2 (UTF-16)

Der Unicode-Zeichensatz ist in mehrere Ebenen (Engl.: "Planes") unterteilt. Normalerweise wird nur die unterste Ebene verwendet, die "Basic Multilingual Plane" (BMP; Dt.: "Grundlegende mehrsprachige Ebene"). Während auf den höheren Ebenen des Unicode vier Byte für die Kodierung jedes Zeichens verwendet werden, werden auf der "Basic Multilingual Plane" zwei Byte (16 Bit) zur Kodierung jedes Zeichens verwendet; auf der "Basic Multilingual Plane" sind also 65.536 Zeichen möglich. Die Kodierung für Unicode-Zeichen der "Basic Multilingual Plane" wird als "Universal Character Set 2" (UCS-2; Dt.: "Universelle Schriftzeichen-Menge 2") bezeichnet, wobei die 2 darauf verweist, dass zwei Byte für die Kodierung jedes Zeichens verwendet werden. UCS-2 ist also ein "Double Byte Character Set". Wenn von "Unicode" gesprochen wird, ist meist der Zeichensatz UCS-2 gemeint.
UCS-2 wird auch als UTF-16 bezeichnet. UTF-16 steht für "UCS Transformation Format 16 Bit" (Dt. etwa: "Umwandlungsformat für die universelle Schriftzeichen-Menge mit 16 Bit").

Im UCS-2 (Unicode) sind zusammengehörige Zeichen in so genannten Skripten zusammengefasst: Auf das lateinische Alphabet folgen das griechische, kyrillische, hebräische, arabische und andere, dann folgen Satzzeichen und Symbole; weiter geht es mit den beiden japanischen Schriften Hiragana und Katakana und dem koreanischen Hangul. In den chinesischen, japanischen und koreanischen (CJK) Skripten werden etwa 31.000 Schriftzeichen verwendet. Da jedoch in der japanischen und chinesischen Sprache rund 10.000 Schriftzeichen (in der Schreibweise, wenn auch nicht unbedingt in der Bedeutung und Aussprache) übereinstimmen, brauchten im Unicode "nur" rund 21.000 ost-asiatische Schriftzeichen festgelegt zu werden.

UTF-8

In vielen gängigen Anwendungen und Protokollen sind Zeichensätze vorgesehen, in denen jedes Schriftzeichen mit einem Byte (also acht Bit) oder sogar, wie im ASCII, nur mit 7 Bit kodiert ist. Daher ist das "Universal Character Set" mit vielen gebräuchlichen Programmen und Datenübertragungsverfahren unvereinbar. Deswegen wurden mehrere "UCS Transformation Formats" (UTF; Dt.: "UCS-Umwandlungsformate") mit unterschiedlichen Eigenschaften entwickelt. Eines dieser Umwandlungsformate für das "Universal Character Set" ist UTF-8.

In Unicode hat jedes Zeichen einen 16 Bit-Code. Die ersten 256 Zeichen im Unicode entsprechen dem "ISO Latin-1"-Zeichensatz. Dabei stellt sich jedoch das Problem, dass die Zeichen aus ISO Latin-1 mit je 8 Bit, die aus UCS-2 hingegen mit je 16 Bit kodiert sind. Bei den Unicode-Zeichen werden nicht benutzte Bit-Stellen durch Leerstellen aufgefüllt, die in Latin-1 keinen Sinn ergeben und zu Zeichenkauderwelsch führen. So ist der Buchstabe A in ASCII in Hexadezimalschreibweise "41"; in Unicode wird das große A hingegen in Hexadezimal-Schreibweise als "0041" wiedergegeben. Um den Unicode abwärtskompatibel mit ISO Latin-1 zu halten, wurde das "UCS Transformation Format 8 Bit" (UTF-8; Dt. etwa: "Umwandlungsformat für die universelle Schriftzeichen-Menge mit 8 Bit") eingeführt. UTF-8 kann jedes Unicode-Zeichen als Abfolge von Datenwörtern von je 8 Bit Länge ausdrücken. Durch Umkodierung mit Hilfe des Transformationsformats UTF-8 kann man die mit 16 Bit kodierten Unicode-Zeichen auch in einer 8 Bit-Umgebung verwenden. Durch die Transformation werden keine zusätzlichen ASCII-Zeichen erzeugt. UTF-8 ermöglicht also die Umwandlung von 16 Bit- in 8 Bit-kodierte Schriftzeichen.

UTF-8 ist im "Request For Comments" (RFC) Nr. 2279 beschrieben.

UFT-8 hat gegenüber UTF-16 (UCS-2) den Vorzug, weitgehend mit herkömmlichen Datei-Systemen, Parsern und anderen Programmen kompatibel zu sein.

UCS 4

Die Kodierung für Unicode-Zeichen der höheren Ebenen des Unicode wird als "Universal Character Set 4" (UCS-4; Dt.: "Universelle Schriftzeichen-Menge 4") bezeichnet, wobei die 4 darauf verweist, dass vier Byte (32 Bit) für die Kodierung jedes Zeichens verwendet werden. Die UCS-4-Kodierung ermöglicht es, jedes beliebige Unicode-Zeichen, gleichgültig welcher Ebene des Unicode, in einem 32 Bit langen Datenwort dazustellen. Diese Kodierung wird mit Rücksicht auf ihren hohen Speicherplatz-Bedarf nur dann verwendet, wenn tatsächlich Unicode-Zeichen verwendet werden sollen, die zu einer höheren Ebene als der "Basic Multilingual Plane" gehören; andernfalls genügt UCS-2.
UCS-4 wird auch als UTF-32 bezeichnet. UTF-32 steht für "UCS Transformation Format 32 Bit" (Dt. etwa: "Umwandlungsformat für die universelle Schriftzeichen-Menge mit 32 Bit").

Die verschiedenen Unicode-Versionen

Unicode-Version 1.0 kam im Jahr 1991 heraus, Version 1.1 stammt aus dem Jahre 1993, Version 2.0 von 1996, Version 2.1 von 1998 und Version 3.0 aus dem Jahr 1999. In der Unicode-Version 3.0 wurden bereits 49.194 Zeichen von 65.536 möglichen Zeichen zugewiesen. In die Version 3.1 vom März 2001 sollten nochmals 44.946 Zeichen, zum Beispiel aus historischen Schriften (etwa Runen oder Hieroglyphen), zusätzlich aufgenommen werden, so dass der Unicode 94.140 Zeichen umfasst. So viele Zeichen sind in 16 Bit pro Zeichen jedoch nicht mehr darstellbar; deswegen werden in den Unicode-Ebenen oberhalb des "Basic Multilingual Plane" vier Byte (32 Bit) pro Zeichen verwendet, was 4.294.967.296 verschiedene Zeichen ermöglicht.

Sonderzeichen im Internet

Unicode im Internet

Unicode definiert zwar einen Byte-Wert für alle gängigen (und etliche seltene) Textzeichen, löst jedoch nicht das Problem, wie diese Zeichen an einem Computer dargestellt werden können, denn Unicode enthält keine Angaben darüber, wie das Zeichen zum Beispiel auf dem Bildschirm oder im Druck darzustellen ist. Herkömmliche Computer-Schriftarten reichen dazu nicht aus und neue, zum Unicode passende Schriftarten verbreiten sich erst allmählich.
Der Unicode-Standard wird zwar von führenden Computer-Unternehmen wie Apple, Hewlett-Packard, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase und Unisys unterstützt, setzt sich aber gleichwohl nur langsam durch. Manche modernen Betriebssysteme und Anwendungen unterstützen Unicode-Zeichen nach der "Basic Multilingual Plane":
Sowohl die plattform-übergreifende Programmiersprache Java als auch das Microsoft-Betriebssystem Windows NT arbeiten intern mit Unicode. NT enthält mit "Lucida Sans Serif" einen immerhin 1.300 Zeichen umfassenden Font für Unicode-Zeichen. "Arial Unicode MS" ist ein nicht frei verfügbarer Font, der alle Unicode-Zeichen der Unicode-Version 2 darstellen kann, also auch die Zeichen vieler asiatischer Schriften. Das Apple-Betriebssystem MacOS gestattet Dateinamen in Unicode. Unicode ist anwendbar in ECMAScript (JavaScript), im "Lightweight Directory Access Protocol" (LDAP) und "Common Object Request Broker Architecture" (CORBA) ab Version 3.0.

Im Internet ist die Verwendung von Unicode-Zeichen nur eingeschränkt möglich, obwohl das "World Wide Web Consortium" (W3C) den Unicode in den Standard von HTML 4.0 aufgenommen hat. Seit Version 2.0 ist Unicode auf die internationale Norm ISO/IEC 10646 abgestimmt, der auch die "HyperText Markup Language" (HTML) seit Version 4.0 und die "eXtensible Markup Language" (XML) seit Version 1.0 folgen. Dadurch ist es relativ einfach, jedes beliebige Unicode-Zeichen in einem HTML- oder XML-Dokument zu verwenden. Dazu schlägt man in den Unicode-Zeichentabellen nach, welchen Byte-Wert (welche laufende Nummer) das gewünschte Zeichen hat. Dann kann das betreffende Unicode-Zeichen als numerische Notation (in dezimaler oder hexadezimaler Schreibweise) in den Quelltext der HTML- oder XML-Datei eingefügt werden. Neuere Browser können Web-Seiten darstellen, in denen Unicode-Zeichen verwendet werden, wenn beim Client ein geeigneter Font zur Wiedergabe der Zeichen installiert ist. Auch in der "Wireless Markup Language" (WML), in der Internet-Seiten für mobile Kleingeräte (zum Beispiel Mobiltelefone) kodiert werden, können Unicode-Zeichen verwendet werden.

Wer über einen Unicode-fähigen Browser wie den Netscape Communicator 4.0 (oder höher) oder den Microsoft Internet Explorer 4.0 (oder höher) verfügt sowie ein Betriebssystem benutzt, das mit Unicode umgehen kann (MS Windows 95; 98; NT 4.0; 2000), kann sich zumindest die meisten Unicode-Zeichen aus folgenden Skripten anzeigen lassen:

Die meisten gängigen Browser können zwar viele, aber nicht alle Sonderzeichen darstellen, und zwar selbst dann nicht, wenn der betreffende Browser grundsätzlich Unicode-fähig ist. Das liegt vermutlich daran, dass der Zeichenvorrat des Browsers (Font) zu klein ist, um jedes Unicode-Schriftzeichen (character) in ein graphisches Textzeichen (Glyphe) umzusetzen. Das Problem, dass die Browser die nötigen Fonts zur Anzeige der Unicode-Zeichen nicht haben, kann man möglicherweise durch "downloadable fonts" lösen. Leider gibt es keinen einheitlichen Standard für herunterladbare Schriftarten, sondern nur zwei miteinander inkompatible technische Lösungen, nämlich:

  1. Truedoc» von Bitstream» und das
  2. "Web Embedding Fonts Tool" (WEFT) von Microsoft»

Das TrueDoc-Verfahren von Bitstream wird vom Netscape Navigator seit Version 4.01 unterstützt, WEFT vom Microsoft Internet Explorer ab der Version 4.0. Für jede der beiden Lösungen ist eine spezielle Software erforderlich, die es ermöglicht, herkömmliche Schriftarten wie TrueType- oder Adobe-Schriftarten in das neue Dateiformat - '.pfr' ("Portable Font Resource") bei TrueDoc und '.eot' ("Embedded OpenType File") bei WEFT - zu konvertieren. Mit der Software können darüber hinaus auch einzelne, benötigte Zeichen in die zu erstellende Download-Schriftart übernommen werden.

Damit eine Website weiterhin mit beiden wichtigen Browser-Typen, dem Netscape Navigator wie dem MS Internet Explorer, benutzbar bleibt,

Die WEFT-Technologie ist auf den Internet Explorer beschränkt, kann also von Anwendern mit anderen Browsern nicht genutzt werden.

Informationen über das "Font Embedding" mit WEFT findet man auf der Microsoft-Website unter MSDN Home > MSDN Library > HTML and Dynamic HTML > Overviews/Tutorials > About Font Embedding».

TrueDoc-Schriftarten werden - anders als herkömmliche Fonts - nicht beim Anwender installiert und sind dann dort "verfügbar", sondern sie werden entweder direkt in die Web-Seite eingebunden oder darin referenziert. Ein TrueDoc-fähiger Browser erkennt solche Schriftarten und lädt sie zusammen mit den anzuzeigenden Daten eines Dokuments. Ein Web-Browser, der das TrueDoc-Verfahren unterstützt, stellt dann die Web-Seite in der gewünschten Schriftartauf dem Bildschirm des Anwenders dar. Soweit ich verstanden habe, werden die Fonts also gewissermaßen server-seitig und nicht client-seitig ausgeführt.

Benötigt wird also ein Font (eine Schrift), der zugleich die Sonderzeichen vieler verschiedener europäischer Sprachen darzustellen vermag. Die Auswahl unter Unicode-fähigen Fonts ist recht beschränkt. Folgende Fonts kommen möglicherweise in Betracht:

"Overview of European Diacritics"
http://www.tiro.com/di_intro.html»
by John Hudson; Tiro.com. Übersicht über die Benenunng der einzelnen Diakritika und über die diakritischen Zeichen, die in bestimmten europäischen Sprachen verwendet werden.

ISO 8859-2 Character Set
http://nl.ijs.si/gnusl/cee/charset.html»
Der ISO-Zeichensatz für die (ost-)europäischen Sprachen: Albanisch, Bosnisch, Deutsch, Englisch, Finnisch, Irisch (Gälisch), Kroatisch, Polnisch, Rumänisch, Serbisch (lateinische Transkription), Slowakisch, Slovenisch, Sorbisch (Lusatian), Tschechisch, Ungarisch.

Font.org: Mittel- und osteuropäische Zeichen in HTML
http://studweb.euv-frankfurt-o.de/twardoch/f/de/comp/net/ce-html.html»
Über die korrekte Kodierung ost-europäischer Sonderzeichen in HTML.

Gymel.com: Zeichentabellen
http://www.gymel.com/charsets/»
DOS-Zeichensätze, Windows-Zeichensätze, ISO-8859-Zeichensätze, Bibliothekarische Zeichensätze.

Stefan Münz (SelfHTML): HTML-Zeichenreferenz
http://selfhtml.teamone.de/html/referenz/zeichen.htm»
Tabelle über die HTML-Maskierung von Sonderzeichen.

Unicode.org: Unicode Character Name Index
http://www.unicode.org/charts/charindex.html»
Hier kann man nachschlagen, in welchem Unicode-Zeichensatz (Skript) man ein bestimmtes Zeichen findet.

Unicode.org: Code Charts (PDF Version)
http://www.unicode.org/charts/»
Die einzelnen Unicode-Scripte und ihre Zeichen als PDF-Dateien.

Alan Wood's Unicode Resources
http://www.alanwood.net/unicode/»
Unicode and Multilingual Support in HTML, Fonts, Web Browsers and Other Applications.


Seitenanfang