Jump to content

Right-to-left mark

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by ClueBot NG (talk | contribs) at 09:05, 6 July 2015 (Reverting possible vandalism by 50.153.109.24 to version by 90.183.56.98. False positive? Report it. Thanks, ClueBot NG. (0) (Bot)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The right-to-left mark (RLM) is a non-printing character used in the computerized typesetting of bi-directional text containing mixed left-to-right scripts (such as English and Cyrillic) and right-to-left scripts (such as Persian, Arabic, Syriac and Hebrew). It is used to change the way adjacent characters are grouped with respect to text direction.

Unicode

In Unicode, the RLM character is encoded at U+200F RIGHT-TO-LEFT MARK (‏). In UTF-8 it is E2 80 8F. Usage is prescribed in the Unicode Bidirectional Algorithm.

Example of use in HTML

Suppose the writer wishes to inject a run of Arabic or Hebrew (i.e. right-to-left) text into an English paragraph, with an exclamation point at the end of the run on the left hand side. "I enjoyed staying -- really! -- at his house." With the "really!" in Hebrew renders as follows:

I enjoyed staying -- באמת! -- at his house.

(Note that in a computer's memory, the order of the Hebrew characters is ‎ב‎,‎א‎,‎מ‎,‎ת‎.)

With an RLM added after the exclamation mark, it renders as follows:

I enjoyed staying -- באמת!‏ -- at his house.

(Standards-compliant browsers will render the exclamation mark on the right in the first example, and on the left in the second.)

This happens because the browser recognizes that the paragraph is in a LTR script (Latin), and applies punctuation, which is neutral as to its direction, in coordination with the surrounding (left-to-right) text. The RLM causes the punctuation to be surrounded by only RTL text - the Hebrew and the RLM - and hence be positioned as if it were in right-to-left text, i.e., to the left of the preceding text.

See also