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, Englisch 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 Unicode-Bidi-Algorithmus beeinflusst und die Schreibrichtung somit korrigiert werden.

Zeichencodierung 

Während das Links-nach-rechts- und das Rechts-nach-links-Zeichen in verschiedenen Zeichensätzen vorhanden sind, kommen die anderen Steuerzeichen nur in Unicode vor. Bis auf das ALM aus dem Unicodeblock Arabisch befinden sich alle Zeichen im Unicodeblock Allgemeine Interpunktion.

Das Links-nach-rechts- (LEFT-TO-RIGHT MARK), das Rechts-nach-links- (RIGHT-TO-LEFT MARK) und das arabische Buchstaben-Zeichen (ARABIC LETTER MARK) werden als implizite Steuerzeichen bezeichnet, die anderen als explizite.

Für das Links-nach-rechts- und das Rechts-nach-links-Zeichen gibt es in HTML benannte Entitäten: &lrm; und &rlm;. Die anderen Zeichen sollten gemäß einer Empfehlung des Unicode-Konsortiums auf Internetseiten nicht verwendet werden, stattdessen ist das dir-Attribut mit den Werten "ltr" oder "rtl" vorgesehen sowie die Tags <bdi> und <bdo>.

Die Wirkung der expliziten Steuerzeichen kann auch mit einer Tiefe von bis zu 125 Ebenen verschachtelt werden, ferner endet ihre Wirkung auch ohne die Zeichen PDF bzw. PDI am Absatzende.

Textstellen, die von Steuerzeichen zum Einbetten oder Überschreiben eingefasst sind, haben auf ihre Nachbarzeichen in etwa den Einfluss von Zeichen mit der entsprechenden Schreibrichtung, während die mit Unicode 6.3 neu eingeführten Steuerzeichen zum Isolieren den eingeschlossenen Text von seiner Umgebung getrennt halten, und dieser damit auf seine Umgebung keinen Einfluss ausübt.

Beispiel 
Ein arabischer Text über die Programmiersprache 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. Auch die Steuerzeichen LRI oder FSI vor und PDI nach dem C++ können verwendet werden. Die Darstellung ist in all diesen Fällen identisch; wenn der Text aber noch weitere schwache Zeichen enthalten würde, so hätte die Wahl der Steuerzeichen auch einen möglichen Einfluss auf deren Darstellung.

Weblinks 
 Bidi-Algorithmus im Anhang des Unicode Standards (englisch)

Einzelnachweise 

Typografie
Unicode
Steuerzeichen