Unicodeの落とし穴:右から左の装飾文字がレイアウトを壊す

The footgun of right-to-left decorative characters

Unicodeの落とし穴:右から左の装飾文字がレイアウトを壊す

ブログの装飾に使ったマニ教のフルーロン(𐫱)が、予期せぬ場所に表示される問題を発見。原因はUnicodeの双方向アルゴリズムで、この文字がR(右向き)タイプのため、周囲の数字の並びを逆順にしてしまうことだった。解決策として、HTMLの<bdi>タグやCSSのunicode-bidiプロパティで方向性を分離する方法を紹介。Unicodeの複雑さと、視覚的な装飾がもたらす思わぬ罠を解説する。

Unicodeは非常に複雑なため、双方向アルゴリズムの仕様書は約2万語と51回の改訂を要する。

この日のほかの記事

2026-07-11