Left-to-right mark
The left-to-right mark (LRM) is a control character (an invisible formatting character) used in computerized typesetting (including word processing in a program like Microsoft Word) of text that contains a mixture of left-to-right text (such as English or Russian) and right-to-left text (such as Arabic, Persian or Hebrew). It is used to set the way adjacent characters are grouped with respect to text direction.
Unicode
In Unicode, LRM is encoded U+200E LEFT-TO-RIGHT MARK (‎). UTF-8 is E2 80 8E
. Usage is prescribed in the Unicode Bidi (bidirectional) algorithm.
Example of use in HTML
Suppose the writer wishes to use some English text (a left-to-right script) into a paragraph written in Arabic or Hebrew (a right-to-left script) with non-alphabetic characters to the right of the English text. For example, the writer wants to translate, "The language C++ is a programming language used..." into Arabic. Without an LRM control character, the result looks like this:
لغة C++ هي لغة برمجة تستخدم...
With an LRM entered in the HTML after the ++, it looks like this, as the writer intends:
لغة C++ هي لغة برمجة تستخدم...
In the first example, without an LRM control character, a web browser will render the ++ on the left of the "C" because the browser recognizes that the paragraph is in a right-to-left text (Arabic) and applies punctuation, which is neutral as to its direction, according to the direction of the adjacent text. The LRM control character causes the punctuation to be adjacent to only left-to-right text – the "C" and the LRM – and position as if it were in left-to-right text, i.e., to the right of the preceding text.
Some software requires using the HTML code ‎
or ‎
instead of the invisible Unicode control character itself [citation needed]. Using the invisible control character directly could also make copy editing difficult.