09.01.2019
Lesedauer: 5 Minuten

Unicode für Klingonen, oder: Wie kommen Sprachen in Unicode hinein?

In diesem Artikel

    Häufig wird Unicode als das Allheilmittel für und gegen alles angesehen, was bei Computerschriften schief gehen kann. Zum Beispiel wenn einzelne Zeichen falsch oder gar nicht dargestellt werden, oder wenn sie zwar richtig dargestellt werden, man sie aber nicht kopieren kann. Unicode verwendet, und auf einmal klappt alles so wie es soll. Wie aber kommen eigentlich alle Sprachen in den Unicode hinein? Das möchten wir hier einmal am Beispiel einer eher seltenen Sprache, nämlich Klingonisch, erläutern.

    UNICODE für Klingonen

    Viele Sprachen verwenden landesspezifische Sonderzeichen: man denke an die deutschen Umlaute (äöüß), die französischen Accents Grave, Aiguit, Circonflexe etc., tschechische Hacek und Krouzek oder polnische durchgestrichene Buchstaben. Darüber hinaus benötigt man Zeichen für ganz alltägliche Dinge, wie Währungen (€), Potenzen (m²), griechische Buchstaben (micrometer) und Mail-Adressen (@). Ein normaler Font oder Zeichensatz hat nur 256 Zeichen, da man ursprünglich von einem Durchnummerieren aller Zeichen mit 1 Byte ausgegangen ist. In dieser Situation kann man sich mit der gleichzeitigen Verwendung von mehreren Fonts behelfen.

    Wie funktioniert Unicode?

    Bessere Abhilfe schafft jedoch die Verwendung von Unicode, ein internationaler Standard, mit dem alle auf der Welt bekannten Textzeichen in einem Zeichensatz zusammengefasst werden. Ursprünglich wurden hier für die Nummerierung der Zeichen 2 Byte vorgesehen; inzwischen können auch 4 Byte verwendet werden. Theoretisch sind damit also mehr als 4 Mrd. Zeichen verwendbar. Unicode sorgt aber nicht nur für die Möglichkeit, mit nur einem Font alle Zeichen wiedergeben zu können. Unicode kennt auch sprechende Namen für alle diese Zeichen, z.B. „Latin Capital Letter A“ auf der Position Hex 41 bzw. U+0041 in Unicode. Für diesen Buchstaben hat sich also nichts geändert.

    Wie kommen die Sprachen, wie z.B. Klingonisch, in den Unicode hinein?

    Zunächst muss jede Sprache als solche registriert sein. Zuständig ist dafür die Organisation IANA. Diese hat Übung in solchen Aufgaben –  schließlich ist sie auch zuständig für die eindeutige Vergabe von IP Adressen. Für Klingonisch führte die IANA ursprünglich die Bezeichnung i-klingon ein. Später erfolgte die Registrierung in der ISO 639. Ab dem Normteil ISO 639-2 ist Klingonisch als tlh erfasst. Es ist im Übrigen ein weitverbreiteter Irrglaube, dass Klingonisch zwar eine sehr spezielle Lautsprache ist, es aber dazu keine Schriftsprache gibt, was die Aufnahme in den Unicode erübrigt hätte. Das Gerücht kommt daher, weil Klingonen für die Kommunikation mit Menschen eine Lautschrift mit dem lateinischen Zeichensatz verwenden.

    Für die Auflistung aller anerkannten Zeichen ist die ISO 10646 zuständig. Das Unicode Konsortium dagegen kümmert sich um das gesamte Regelwerk zu Unicode, dazu gehört auch das Aufnahmeverfahren. Der Antrag, klingonisch in den Unicode Zeichensatz aufzunehmen, wurde leider abgelehnt. Dazu muss man wissen: wurde ein Zeichen erst einmal in den Unicode aufgenommen, so wird es nie wieder gelöscht. Daher bedarf die Aufnahme eines Zeichens in den Standard einer äußerst sorgfältigen Prüfung, die sich über Jahre hinziehen kann. Klingonisch wurde mit der fadenscheinigen Begründung abgelehnt, dass es zu wenig geschriebene Kunstwerke in dieser Sprache gäbe.

    Immerhin hat Klingonisch im Unicode innerhalb der sogenannten „privat genutzten Bereiche“ Aufnahme gefunden, und zwar in der Kategorie konstruierte Sprachen – konkret die Adressen U+F8D0 bis F8FF – neben Erfindungen von Tolkien, Kunstsprachen aus Computerspielen und einer Taubstummensprache. Wenn das die Klingonen erfahren..! Die Ungerechtigkeit wird noch deutlicher, wenn man weiß, dass in der neuesten Unicode-Norm 9.0 86 SmartPhone Smileys aufgenommen wurden. U+1F61B kann man dazu nur sagen.

    Klingonisch als Schriftart

    Durch die Aufnahme in den „privat genutzten Bereich“ haben klingonische Zeichen ordnungsgemäße Unicode Namen bekommen, z.B. KLINGON-LETTER-A. Klingonische Sprachwissenschaftler haben auch ein Pangram für ihr Alphabet gefunden (d.h. einen Satz, der alle Buchstaben des Alphabets enthält):

    qajunpaQHeylIjmo’ batlh DuSuvqang charghwI’ ’It.

    “Wegen Ihrer offensichtlichen Kühnheit ist der depressive Eroberer bereit, mit Ihnen zu kämpfen.“

    Die Aufnahme in den Unicode Zeichensatz bringt aber noch keine graphische Darstellung für die jeweiligen Zeichen. Dazu bedarf es dann der üblichen Font bzw. Schriftart. Bekanntlich gibt es für viele Sprachen mitunter sehr unterschiedliche Schriften. Ein Deutscher ist dabei sehr leidensfähig und kann seine Sprache noch in amerikanischer Saloon-Schrift lesen. Fernöstliche Sprachen sind schon mit der Menge ihrer Zeichen genug beschäftigt und können ihre Zeichen nur in optisch sehr ähnlicher Form vertragen. Ob Klingonen auch eine solch große Palette an unterschiedlichen Schriften verwenden – und am Ende auch wieder Handy-Smileys in ihren Fonts haben – weiß man leider nicht.

    Der Standard-Font KLI pIqaD sieht so aus:

    Standardfont klingonisch

    (Quelle: http://www.dafont.com/klingon-font.font)

    Bei Bedarf hilft Google weiter mit der Suche nach sog. „plqaD“ -Fonts.

    Für einige wenige Schriften gibt es auch für irdische Rechentechnik angemessene Fonts. Für die windows-gerechte Eingabe steht u.a. eine hochwertige Tastatur von Cherry zur Verfügung.

    Kodierung des Unicodes

    Abschließend möchten wir noch auf die Kodierung des Unicodes eingehen. Eingangs haben wir bereits erwähnt, dass die Zeichen eines Fonts mit dem verfügbaren Zahlenraum von einem Byte durchnummeriert wurden. Für die Nummerierung aller pot. 4 Mrd. Unicodezeichen wäre nun aber die durchgängige Verwendung von 4 Byte eine Verschwendung. Schließlich befinden sich die meisten gängigen Zeichen des westlichen Sprachraums im Bereich von 32 – 127, also quasi „vorn“ im Unicode. Die Chance ist also groß, doch wieder mit nur einem Byte auszukommen. Die Kodierung über UTF-8 schafft deshalb den Spagat zwischen der Anforderung einer möglichst ressourcensparenden Kodierung und der Nutzung des gesamten Unicode Adressbereichs.

    Der Trick besteht darin, dass mehrere führende Bits als Steuersignale verwendet werden. Im einfachsten Fall ist das erste Bit 0 und man bewegt sich in der unteren Hälfte eines normalen Fonts. Werden die erste 2 Bit gesetzt, so ist das ein Signal dafür, dass insgesamt 2 UTF-8 Bytes den Datenstrom bilden, aus dem sich der Zahlenwert für das abzubildende Zeichen zusammensetzt. Analog werden die ersten 3 bzw. 4 Bits im 1. Byte gesetzt als Signal dafür, dass 3 oder 4 Bytes insgesamt zusammen gesetzt werden müssen. Dadurch kann man aber mit 4 Bytes nicht mehr 4 Mrd. Zeichen kodieren. Unicode wurde daher auf rund 1 Mio. Zeichen beschränkt. Dieser Bereich lässt sich mit der o.g. Methode adressieren. Um mit größeren Schritten in den Adressraum des Unicode hinein zu kommen, steht auch UTF-16 und UTF-32 zur Verfügung.

    Kommen wir nun wieder auf die Verwendung der klingonischen Zeichen zurück. Hier ist es natürlich uneffektiv, mit UTF-8 längere Byteketten aufzubauen, wenn bekannt ist, dass sowieso 4 Byte benötigt wird. Für Klingonen ist also die Verwendung von UTF-32 viel effektiver.

    SEAL Systems kümmert sich natürlich ebenfalls um dieses Thema und wird bei Bedarf Klingonisch unterstützen. Hier ein erstes Muster aus unserer Entwicklung:

    SEAL Systems klingonisch

    Wenn Ihr Unternehmen also im diesem Jahr erstmals Bestellungen aus Klingonien erhält, so seien Sie unbesorgt. Für Wartungskunden unserer bewährten SAP Transaktionen für die kombinierte Ausgabe von DVS-Dokumenten und SAP-Formularen können wir bei Bedarf sicher ein Update unseres SEAL-Unicode-Fonts zur Verfügung stellen, um über den Weg der SAPGOFU Konvertierung auch Rechnungen in Klingonisch ausgeben zu können.