Names.php includes RTL control characters in the names of some languages. This is needed for correct display of punctuation; see for example T28208.
But this also introduces some problems. Most importantly, this affects the sorting order of language names. Also:
- The code of Names.php is ugly.
- Mixing Unicode invisible control characters with HTML bidi markup is a bad practice according to W3C.
Unfortunately, immediately removing these control characters is problematic, because the correct display of language names in many parts of the code depends on it. One example is language selection dropdowns. This will be probably a kind of a tracking bug for removing such problems.