Unicode の BiDi 処理が流行りそう!?
ということで、
‫‬‭‮‪‫‬‭‮҉──の部分だけをコピペして使えば、文字が左右逆になる不思議な現象が再現できます。
҉←「文字の流れを左右逆にする特殊文字」のトリック
ここに出てきている文字実体参照は,Unicode の文字で,次の表のようになっています:
エンティティ | Unicode | 名称 |
---|---|---|
҉ | U+0489 | COMBINING CYRILLIC MILLIONS SIGN |
‪ | U+202A | LEFT-TO-RIGHT EMBEDDING |
‫ | U+202B | RIGHT-TO-LEFT EMBEDDING |
‬ | U+202C | POP DIRECTIONAL FORMATTING |
‭ | U+202D | LEFT-TO-RIGHT OVERRIDE |
‮ | U+202E | RIGHT-TO-LEFT OVERRIDE |
もっとも簡単に,文字の流れを変更するには,流れを変更したい文字列を RIGHT-TO-LEFT OVERRIDE と POP DIRECTIONAL FORMATTING で囲みます.たとえば,
あいうえお‮アイウエオ‬あいうえお
というコードで
あいうえおアイウエオあいうえお
このような結果が得られます.これは,次のような処理が行われた結果です.
- 日本語環境では,デフォルト状態が LEFT-TO-RIGHT である.
- 「あいうえお」を描画する
- RIGHT-TO-LEFT OVERRIDE によって,文字の流れの方向が RIGHT-TO-LEFT に上書きされる
- 「アイウエオ」を描画する
- POP DIRECTIONAL FORMATTING によって文字の流れの方向が元の LEFT-TO-RIGHT に戻される
- 「あいうえお」を描画する
もっと詳しい仕様については,Unicode の Specification をご覧ください.