Wer viel mit unterschiedlichen Sprachen arbeitet, möchte beim Abfassen von Schriften und Dokumenten häufig Schriftzeichen aus anderen Schriftsystemen in den Computer eingeben, seien es nun arabische Schriftzeichen, aus der lateinischen Schrift entwickelte Sonderzeichen, afrikanische Schriftsysteme wie Adlam oder Bamum, äthiopische Schriftzeichen oder meroitische Hieroglyphen. Dies ist jedoch nicht immer einfach, da die vorinstallierten Softwarestandards auf vielen Geräten auf solche Anforderungen zumeist nicht eingerichtet sind. Der seit 1991 entwickelte Unicode-Standard zur universalen Kodierung von Zeichen und Symbolen bietet hier hilfreiche Wege zur digitalen Darstellung nicht-europäischer Schriftzeichen.
Die Vielfalt der Schriften und ihre Digitalisierung
In den USA wurde seit 1963 (zuletzt aktualisiert 1986) für die lateinischen Schriften der “American Standard Code for Information Interchange (ASCII)“ benutzt, der ursprünglich 128 Zeichen umfasste. ASCII war zunächst vor allem für englischsprachige Nutzer entwickelt worden, sollte aber bald zur Darstellung anderer (auch vieler europäischer) Sprachen weitere Sonderzeichen einführen, und wurde deshalb 1981 auf 256 Zeichen erweitert.
Trotz solcher Möglichkeiten der Einbettung von diakritischen und anderen Sonderzeichen war ASCII im Grunde nicht für Schriftsysteme außerhalb des europäischen und US-amerikanischen Bereiches konzipiert. Das System stieß wegen seiner begrenzten Anzahl möglicher Kodierungen schnell an seine Grenzen, wenn es um die Darstellung außereuropäischer Schriftsysteme ging. Einige Länder, wie zum Beispiel Japan, entwickelten stattdessen ihre eigenen Computerkodierungen für ihre Schriftsysteme. Das Problem war allerdings, dass solche Lösungen international mit anderen Systemen oft nicht kompatibel waren.
Nicht zuletzt deshalb versuchte die „International Organization for Standardization (ISO)“, international gültige Standards („ISO-Standards“) für Zeichenkodierungen festzulegen. Mit der Unicode-Initiative wurde nun vor einigen Jahren ein umfassender Versuch der internationalen Standardisierung der digitalen Kodierung von Schriftsystemen auf den Weg gebracht, der auch im Einklang mit den ISO-Vorgaben steht. Die neuste Unicode Version 11.0.0 von 2018 etwa ist mit der Änderung 1 zu ISO/IEC 10646:2017 (der fünften Fassung von ISO/IEC 10646) abgestimmt und enthält auch einige Zeichen der Änderung 2. Unicode geht jedoch in manchen Aspekten über die ISO-Festlegungen hinaus.
Unicode – Ein Versuch der Standardisierung
Das 1991 gegründete Unicode-Konsortium besteht vor allem aus Mitgliedschaften bekannter Unternehmen wie Microsoft, Apple, IBM, Google, Adobe Systems usw., aber auch aus Einzelpersonen und assoziierten Mitgliedern. Trotz der kommerziellen Basis der Firmen, die seine Hauptmitglieder sind, ist das Konsortium „eine gemeinnützige Körperschaft und ist nicht auf irgendjemandes privaten Gewinn ausgerichtet“; sie dient allein dem Zweck, eine öffentliche standardisierte Zeichenkodierung zu fördern, die in Zukunft die Nutzung von Computern in allen Sprachen der Welt ermöglichen soll:
This Corporation is a nonprofit Public Benefit Corporation and is not organized for the private gain of any person. It is organized under the Nonprofit Public Benefit Corporation Law for public and charitable purposes. This Corporation’s specific purpose shall be to enable people around the world to use computers in any language, by providing freely-available specifications and data to form the foundation for software internationalization in all major operating systems, search engines, applications, and the World Wide Web. An essential part of this purpose is to standardize, maintain, educate and engage academic and scientific communities, and the general public about, make publicly available, promote, and disseminate to the public a standard character encoding that provides for an allocation for more than a million characters.
Diesen gemeinnützigen Zielen sind auch die Verfahrensweisen und Grundsätze des Unicode-Konsortiums untergeordnet (siehe auch die Richtlinien des Konsortiums bei Interessenkonflikten und der möglichen Aufdeckung von Missständen).
Obwohl auch die Entwicklung von Unicode anfangs vor allem auf lateinische Schriftsysteme konzentriert war, änderte sich das rasch. Schritt für Schritt wird der Standard auf mehr und mehr nicht-europäische Sprachen und Schriftsysteme ausgeweitet. Der Prozess geht immer noch weiter, und daher gibt es mittlerweile eine regelrechte „Geschichte“ der verschiedenen Unicode-Versionen. Im August 2018 kam nun die neueste Unicode Version 11.0.0 heraus. Ziel des kontinuierlich in Weiterentwicklung befindlichen Projekts ist die weltweite Standardisierung aller alten und neuen europäischen und nicht-europäischen Schriftzeichen und Symbole in einem einzigen universalen Code – dem „Unicode“.
Der Unicode-Zeichensatz: Binäre und dezimale Zeichencodes
Warum muss man überhaupt Schriftzeichen und Symbole noch einmal verschlüsseln? Die Antwort ist: man muss sie in Zahlencodes verwandeln, damit der Computer sie überhaupt lesen und verarbeiten kann. Denn Computer können eigentlich nur binäre Codes verarbeiten (also solche, die auf Kombinationen von Nullen und Einsen beruhen). Wie soll man aber dem Computer das visuelle Bild einer Glyphe, mit all ihren Rundungen, Strichen, oder Häkchen, in Form von Nullen und Einsen „mitteilen“?
Wesentlich einfacher als grafische Abbildungen können Zahlen in binäre Codes umgewandelt werden. Wenn man nun alle bekannten Schriftzeichen der Welt in einem Zeichensatz „sammelt“, und anschließend der Reihe nach „durchnummeriert“, dann erhält man für jedes Zeichen eine „Positionsnummer“, die von einer Zahl repräsentiert wird. Diese Zahl kann man dann problemlos in Binärcodes hin- und rück- „umwandeln“. Der Computer kann mit diesen Codes arbeiten, und hinterher wieder eindeutig auf das gewünschte Zeichen zurückverweisen.
Da im europäisch-nordamerikanischen Raum das Dezimalsystem (das Zehnersystem mit den Ziffern 0-9) am gängigsten ist, „nummerierte“ man also alle „gesammelten“ Schriftzeichen der Welt, für die bis dahin schon digitale grafische Darstellungen oder Abbildungen verfügbar waren, im Dezimalsystem aufsteigend von 0 bis (derzeit) über 137.000 „durch“. Für jedes Zeichen mit einer bestimmten Positionsnummer hinterlegte man dann eine digitale grafische Abbildung als Beispiel, das als abstrakt gedachtes „Idealbild“ stellvertretend für viele andere gezeichnete, gemalte, in Stein gemeißelte, gedruckte oder digitalisierte Darstellungen desselben Zeichens stand. (Die Darstellung vereinfacht etwas; oft setzen sich Schriftzeichen in Unicode auch aus einer Abfolge mehrerer einzelner Zeichen oder Zeichenteile zusammen, die jeweils eine eigene Positionsnummer haben können, siehe Unicode 11.0.0, S. 23, 29, 38.) Die (Beispiel-) Abbildungen der Zeichen findet man in den verschiedenen Unicode-Tabellen, und jedem der Zeichen zugeordnet steht dann auch die zugehörige Positionsnummer.
Unicode im Dezimalsystem: Die Positionsschlüssel der Zeichen
Die „Nummerierungen“ der Positionen der einzelnen Zeichen in festgelegter Reihenfolge, die als Dezimalcodes verwendet werden, sind also gewissermaßen Verzeichnisschlüssel, anhand derer man Zeichen auffinden und eindeutig identifizieren kann. Die große Zahl der gesammelten Zeichen macht das Memorieren der vergebenen Dezimalcodes natürlich nicht leicht. Daher empfahl es sich, nach Möglichkeit Schriftzeichen vorsortiert in Blöcken von verschiedenen Schriftsystemen, wie „Lateinisch“, „Griechisch“ oder „Arabisch“, anzuordnen und, besser noch, sie intern in gut erinnerbarer Reihenfolge anzulegen, wie etwa in alphabetischer Anordnung der Buchstaben A bis Z.
Die Unicode-Schlüssel folgen dieser Logik. In Unicode sind beispielsweise die Positionen von 0 bis 31 mit Systembefehlen belegt. Die folgenden Positionen von 32 bis 879 enthalten dann verschiedene Arten von lateinischen (oder aus dem Lateinischen abgeleiteten) Schriftzeichen und Sonderzeichen, wie diakritische Zeichen oder das internationale phonetische Alphabet (IPA). In den höheren Positionsbereichen finden sich dann die nicht-europäischen Schriftsysteme, die jeweils in zusammenhängenden „Blöcken“ organisiert sind, wie etwa Hebräisch mit den Dezimalcodes 1424-1535, oder „Äthiopisch“ mit den Dezimalcodes 4608-4991.
Beispiel: Die Positionen 65 bis 122 sind vom lateinischen Basisalphabet belegt, beginnend mit dem Großbuchstaben „A“ auf der Position 65, und endend mit dem Kleinbuchstaben „z“ auf der Position 122. Großbuchstaben werden dabei von Kleinbuchstaben unterschieden; sie haben jeweils einen eigenen Dezimalcode.
Obwohl die verschiedenen Schriftsysteme prinzipiell in Blöcken angeordnet sind, können Zeichen desselben Schriftsystems gelegentlich dennoch in unterschiedlichen Positionsbereichen auftauchen. Das liegt daran, dass die Eingabe in Unicode vor allem am Anfang in der Praxis chronologisch erfolgte, also vom Zeitpunkt der Aufnahme der Schriftzeichen in das Unicode-System abhing. Während nun in einigen Schriftsystem-Blöcken vorausschauend Positionen für künftig noch hinzukommende Zeichen freigehalten wurden (neu hinzukommende Zeichen werden dort dann jeweils passend „einsortiert“ – zur neueren Praxis des „Einsortierens“ siehe Unicode 11.0.0, S. 46-47), waren andere Schriftsystem-Blöcke bereits voll und die nachfolgenden Nummerierungen schon vergeben. In diesen Fällen machte man für die Ergänzungen an späterer Stelle einen neuen Block auf, der oft als „Zusatz“ oder „Erweiterung“ betitelt wurde (zum Beispiel „Griechisch“ mit den Dezimalcodes 880-1023, plus „Griechisch Erweitert“ mit den Dezimalcodes 7936-8191). Für manche Schriftsysteme gibt es gleich mehrere solcher Ergänzungsblöcke.
Beispiel: Die Arabische Schrift ist in Unicode auf mehrere, einander ergänzende Blöcke verteilt: „Arabic“ mit den Dezimalcodes 1536-1791, „Arabic Supplement“ mit den Dezimalcodes 1872-1919, „Arabic Extended-A“ mit den Dezimalcodes 2208-2303, „Arabic Presentation Forms-A“ mit den Dezimalcodes 64336-65023, „Arabic Presentation Forms-B“ mit den Dezimalcodes 65136-65278, sowie weitere Blöcke, die numerische und mathematische Symbole enthalten.
Kennt man diese Dezimalcodes, kann man die betreffenden Zeichen auf dem eigenen Computer über die Tastatur eingeben.
Hier geht es weiter zum Beitrag Unicode – Schriftzeichen (Teil 2).