Technologie

 

Die Technologie mit der internationale Schriftzeichen dargestellt wird, nennt sich Unicode. Er basiert auf dem Ascii-Code. Ascii hat 7 Bit um 128 Zeichen zu codieren, aber das reicht gerade mal aus, um Englisch und ein paar westeuropäische Sonderzeichen unterzubringen. Später wurde dieser Code auf 8 Bit umgestellt, um Platz für weitere Sonderzeichen zu schaffen und auch grafische Symbole unterzubringen.

Um nun etwas besser mit fremden Sprachen zu arbeiten, wurden sogenannte Codepages entworden und für die meisten zeichenbasierten Sprachen angewendet. Das darstellende Programm oder Endgerät (Textverarbeitung, Tastaturtreiber, Internetbrowser u.s.w.) vorher auf die entsprechende Codepage eingestellt werden. Eine Codepage ist eine Übersetzungsliste, die den tatsächlich gedrückten Tastencode in das zur Sprache passende Schriftzeichen übersetzt.

Das ist ein enormer Aufwand der zwangsläufig zu vielen Problemen führte. Es wurde beispielsweise die Codepage 1251 für Kyrillisch entworden, aber in dieser Codepage fehlen einige Buchstaben die nötig sind um das mongolische Alphabet richtig darzustellen.

Um nun ein einheitliches System zu schaffen, wurde aus den lateinischen und fremdsprachigen Codepages zu einem 32 Bit Code zusammengefaßt, der aus einem Kernteil (16 Bit) und einer erweiterten Adressierung (32 Bit) besteht. Für lateinische Buchstaben wurde das Codepageprinzip beibehalten, aber für alle anderen Zeichen wurde Platz geschaffen um noch 254 weitere Zuordnungen machen zu können.

In diesem 16-Bit Kernteil wurden alle denkbaren Zeichensätze von Arabisch bis zum Zyprischen in einer definierten Reihenfolge hinterlegt. Dann kamen noch die asiatischen Sprachen dazu. Nun hat aber das Chinesische schon ca. 100.000 verschiedene Begriffe und Zeichen, und damit reichen die 16 Bit nicht aus - damit kann man lediglich 65536 Schriftzeichen adressieren. Für diese asiatischen Sprachen wurde dann eine 32-Bit Adressierung entworfen wobei die chinesischen, koreanischen, japanischen und alle anderen Schriftzeichen ebenso untergebracht werden konnten. Selbst für schon ausgestorbene Dialekte des Griechischen, gibt es Zeichensätze, wie z.B. für das Linear B das wie das Chinesische Silben verwendet und keine Einzelbuchstaben.

Wie genau funktioniert nun die Unicode Darstellung?

Am Anfang steht die Tastatur. Diese produziert für die normalen Sprachen Codes die auf der ersten, internationalen Sektion liegen und mit der Codepage 850 übersetzt werden.

Tippt also jemand den Buchstaben A ein, dann wird die Zeichenfolge 65 von der Tastatur an das Betriebsystem geschickt, und die Tastatur arbeitet grundsätzlich 8-bittig. Im Betriebsystem ist eine Sprache festgelegt, die auch bestimmt, aus welcher Sektion des gerade verwendeten Zeichensatzes gelesen wird. In unserem Beispiel ist nun Deutsch eingestellt, und das arbeitet mit lateinsichen Buchstaben die in der Sektion 0 liegen und deren Zeichenzuordnung über die Codepage 850 geregelt wurde.

Das Betriebsystem liest in dem gerade verwendeten Zeichensatz in Sektion 0 Zeichen 65 aus und stellt den entsprechenden Buchstaben auf dem Bildschirm dar. Der deutsche Buchstabe Ä ist aber schon das erste Problem: im Unicode hat er den Code 0 196, aber in den anderen Codepages war er auch schon unter dem Code 97 oder 129 anzutreffen. Da die Codepage aber irgendwo im System eingestellt wird und sich alle Programme (meist) daran halten gibts hier wieder keine Probleme solange man irgendeine Version von Windows verwendet.

Was passiert aber wenn kyrillische Zeichen verwendet werden? Diese sind in der kyrillischen Sektion 04 gespeichert. Das A entspricht 04 41, das kyrillische d ist 04 45

Damit das aber auch funktoniert, muß vorher eine entsprechende Tastaturbelegung geladen werden, die die richtigen Unicodes an das Betriebsystem sendet. Außerdem muß der Zeichensatz die angeforderten Zeichen enthalten und die Kette Tastatur - Betriebsystem - Textprogramm - Schriftart muß den richtigen Code komplett verarbeiten können.

Leider ist dies zufriedenstellend erst in Windows XP gelöst worden, obwohl auch die älteren Windows-Versionen zum Teil in der Lage sind, Unicode darzustellen. Aber das Bearbeiten der Texte ist dann ein weiteres Problem, und meistens klemmt es im Tastaturtreiber der trotz Unicode-Fähigkeit bei der Darstellung das erste Byte verschluckt und nur 8 Bit Codes an das Betriebsystem sendet. Das glaubt dann es muß auf der Sektion 0 arbeiten.... hierfür sind lange Jahre Spezialprogramme verkauft worden, die Insellösungen darstellen. Unter Windows NT4 und 2000 hilft dann ein Zeichensatz weiter, der 8-bittig programmiert wurde und einfach die entsprechenden Zeichen ersetzt.

Wer nun Internetseiten erstellt muß zusätzlich darauf achten, daß das Programm zum Erstellen der Intetnetseiten ebenso Unicode vollständig unterstützt denn in HTML werden die Unicodezeichen mit &#xxxx; codiert wobei die xxxx den entsprechenden Dezimalcode enthalten. Beim Editieren im MSKLC wird hingegen im Hexadezimalcode gerechnet so daß hex. 0441 in Dezimalschreibung 1089 herauskommen (4*256+4*16+1).

Wenn man ältere Zeichensätze wie z.B. im Windows 2000 zur Darstellung verwendet, kann das Problem haben daß zwei mongolische Buchstaben und (die sonst nur im Altgriechischen vorkommen) als Quadrate dargestellt werden weil der Zeichensatz zwar fürs Russiche vorbereitet wurde, aber die Zeichen nicht alle vorhanden sind. Das kommt beispielsweise auch im Russischen vor, wird aber in der aktuellen Sprache nicht mehr verwendet und das gar nicht.

. Hier kann man sich aber behelfen in dem die beiden Buchstaben durch andere erstetzt werden die in den westeuropäischen Sonderzeichen-Vorrat vorhanden sind. Siehe auch www.tv5.mn

Einige Email-Anbieter mit Web-Frontends wie z.B. Hotmail, GMX oder MSN unterstützen das nur teilweise oder nur mit speziellen Webbrowsern. Wer sichergehen will daß die Email auch tatsächlich richtig gesendet wird, muß zum Versenden als auch zum Empfangen unicode-taugliche Programme verwenden. Anwendungen mit denen das funktioniert sind beispielsweise der Mozilla Thunderbird und Microsoft Outlook (die neueren Versionen ab 2002)

Um mit dem MSKLC die Tastaturbelegung zu editieren, muß man in einem geeigneten Textverarbeitungsprogramm auf Einfügen/Sonderzeichen gehen und da im Zeichensatz Arial sich den passenden Unicode-Zeichencode herraussuchen. Im MSKLC muß man nun den zu generierenden Code eingeben. Beim Erstellen der Tastaturdatei muß man einen eindeutigen Bezeichner aus 8 Buchstaben oder Zahlen verwenden damit das Betriebsystem hinterher den Zeichensatz identifizieren kann. mnquertz und mnquerty sind von mir verwendet worden. Beim Erstellen wird zwar geprüft ob auf dem eigenen PC dieser Name schon verwendet wurde, aber damit es hinterher nicht zu einer bunten Mischung kommt muß man darauf achten, eindeutige und neue Bezeichner zu verwenden.

Auf Notebooks kann es vorkommen, daß einige Tasten anders belegt sind. Hier muß man dann etwas aufpassen und entsprechende Tests vornehmen. Auf einem IBM Thinkpad 390 funktioniert die Datei mnquertz einwandfrei.

Wegen dieser Problematik wird im Internet gerne auf eine lateinische Umschrift zurückgegriffen, was dazu führt daß viele Mongolen auf Rechtschreibung verzichten sondern eher umgangssprachlich schreiben. Dadurch werden diese Texte für Nicht-muttersprachler leider teilweise unverständlich.

Wenn die Darstellung einwandfrei funktioniert dann steht hier in kyrillischen Buchstaben Mongol hel : монгол хэл

Ach ja, damit niemand böse wird: Windows XP, Windows 2000 u.s.w. ist eingetragenes Markenzeichen von Microsoft (www.microsoft.com)

 

Created and maintained by Andreas Goretzky (11/2006) - < goretzky at ito dot uni-stuttgart dot de >