Emacs' implementation of the bidirectional algorithm
Eli Zaretskii via Unicode
unicode at unicode.org
Sat Jul 1 13:19:45 CDT 2017
> Date: Sat, 1 Jul 2017 16:36:52 +0300
> From: Itai Berli via Unicode <unicode at unicode.org>
> Emacs claims to fully conform to the Unicode Bidirectional Algorithm
> 8.0.0 (see sections 22.19 'Bidirectional Editing' and 37.26
> 'Bidirectional Display' of the Emacs manual)
This is somewhat inaccurate. For the record, the actual text of
section 22.19 if the Emacs User manual is:
Emacs implements the Unicode Bidirectional Algorithm described in the
Unicode Standard Annex #9, for reordering of bidirectional text for
The actual text of section 37.26 of the Emacs Lisp Reference manual
In performing this “bidirectional reordering”, Emacs follows the
Unicode Bidirectional Algorithm (a.k.a. UBA), which is described in
Annex #9 of the Unicode standard (<http://www.unicode.org/reports/tr9/>).
Emacs provides a “Full Bidirectionality” class implementation of the
UBA, consistent with the requirements of the Unicode Standard v8.0.
The "Full Bidirectionality class" part refers to section 4.2 of UAX#9,
and specifically to the fact that all of the explicit directional
formatting characters are supported, including the isolates.
More information about the Unicode