Perhaps instead of Unicode there could have been an established way to change character encoding mid-string? Regarding and treating control characters as normal characters, as this article demonstrates we do with the mirror character at least, is nonsensical. Maybe a string could have a primary encoding, and tags could be placed around sections which use an alternate.
Under such a scheme, in an english string any cryllic sections would be surrounded by "tag" bits. The viewing program could then handle the cryllic part according to its capability and known environment:
- An english terminal might render as nonsense english characters.
- A capable viewing program could render proper cryllic glyphs according to the cryllic encoding.
- A good browser could render the cryllic glyphs but highlight them, display them in a different color, or even remove them.
Likewise, right-to-left languages would be implicitly rendered as such according to the capability of the viewing program.
But this has no-doubt already been suggested and rejected by somebody...