- Bidirektionales Steuerzeichen
-
In Unicode sind verschiedene bidirektionale Steuerzeichen definiert, also Steuerzeichen, die die Schreibrichtung beeinflussen. Sie werden im Computersatz bei bidirektionalem Text verwendet, also bei Text, der sowohl Zeichen aus von links nach rechts geschriebenen Schriften (wie Deutsch oder Russisch) als auch Zeichen aus von rechts nach links geschriebenen Schriften (wie Arabisch und Hebräisch) enthält.
In Unicode wird jedem Buchstaben seine Schreibrichtung zugeordnet, während etwa Satzzeichen an die Schreibrichtung des umgebenden Textes angepasst werden. Treffen nun Texte mit verschiedenen Schreibrichtungen an einem solchen Zeichen aufeinander, kann der Algorithmus, der die Schreibrichtung für die Anzeige bestimmen soll, fehlschlagen. In diesem Fall kann mit den entsprechenden Steuerzeichen der Algorithmus beeinflusst und die Schreibrichtung somit korrigiert werden.
Inhaltsverzeichnis
Zeichencodierung
Die Zeichen liegen alle im Unicode-Block Allgemeine Interpunktion.
Kodierung in Unicode Unicode-Nummer Beschreibung Offizielle Bezeichnung Abkürzung Bedeutung U+200E (8206) Links-nach-rechts-Zeichen LEFT-TO-RIGHT MARK LRM wird wie ein Buchstabe einer von links nach rechts geschriebenen Schrift behandelt U+200F (8207) Rechts-nach-links-Zeichen RIGHT-TO-LEFT MARK RLM wird wie ein Buchstabe einer von rechts nach links geschriebenen Schrift behandelt U+202A (8234) Links-nach-rechts-Einbettung LEFT-TO-RIGHT EMBEDDING LRE alle folgenden Zeichen werden von links nach rechts ausgegeben U+202B (8235) Rechts-nach-links-Einbettung RIGHT-TO-LEFT EMBEDDING RLE alle folgenden Zeichen werden von rechts nach links ausgegeben U+202C (8236) Richtungsformatierung zurücksetzen POP DIRECTIONAL FORMATTING PDF beendet die Wirkung eines der Zeichen LRE, RLE, RLO, LRO U+202D (8237) Links-nach-rechts-Zwang LEFT-TO-RIGHT OVERRIDE LRO alle folgenden Zeichen werden wie Zeichen einer von links nach rechts geschriebenen Schrift behandelt U+202E (8238) Rechts-nach-links-Zwang RIGHT-TO-LEFT OVERRIDE RLO alle folgenden Zeichen werden wie Zeichen einer von rechts nach links geschriebenen Schrift behandelt Für das Links-nach-rechts- und das Rechts-nach-links-Zeichen gibt es in HTML benannte Entitäten:
‎
und‏
. Die anderen Zeichen sollten gemäß einer Empfehlung des Unicode-Konsortiums auf Internetseiten nicht verwendet werden, stattdessen ist dasdir
-Attribut mit den Werten"ltr"
oder"rtl"
vorgesehen.[1]Die Wirkung der Zeichen LRE, RLE, LRO und RLO kann auch mit einer Tiefe von bis zu 61 Ebenen verschachtelt werden[2], ferner endet ihre Wirkung auch ohne das Zeichen PDF am Absatzende.
Beispiel
Ein arabischer Text über C++ könnte etwa (von rechts nach links) anfangen mit
لغة C++ هي لغة برمجة تستخدم…
Das ++, das selbst keine festgelegte Schreibrichtung besitzt, steht hier zwischen dem C (ein Zeichen einer von links nach rechts geschriebenen Sprache) und dem arabischen Text. Der Webbrowser orientiert sich daher an der Hauptschreibrichtung des Absatzes und stellt das ++ damit von rechts nach links geschrieben dar, also fälschlicherweise links vom C.
Fügt man hinter dem ++ ein Links-nach-rechts-Zeichen ein, so wird das ++ von zwei Zeichen umgeben, die beide als von links nach rechts geschrieben werden, sodass der Browser auch das ++ von links nach rechts und damit rechts vom C anzeigt:
لغة C++ هي لغة برمجة تستخدم…
Alternativ könnte man auch vor dem C ein LRE und hinter dem ++ ein PDF einfügen, um zu kennzeichnen, dass C++ ein in den arabischen Text eingebetteter, von links nach rechts geschriebener Begriff ist.
Weblinks
Einzelnachweise
- ↑ Mark Davis: UAX #9: Unicode Bidirectional Algorithm. 2. Directional Formatting Codes. 27. September 2010, abgerufen am 16. November 2011 (englisch).
- ↑ Mark Davis: UAX #9: Unicode Bidirectional Algorithm. 3.1 Definitions. 27. September 2010, abgerufen am 16. November 2011 (englisch).
Wikimedia Foundation.