検索条件
全1件
(1/1ページ)
大部分の言語ではテキストを左から右へ表示するけど、アラビア語やヘブライ語は右から左に表示するらしいです。しかしながら、それらの言語のテキスト中に数字や英語などの左から右へ表示されるテキストが含まれると、テキストが「左から右」と「右から左」の双方向性を持つことになってしまいます。そのため、双方向性を持つテキストをどう表示したら良いか曖昧性が生じます。(恐らくレンダリングエンジンが)よしなに表示してくれることもあるけど、それだけでは十分でないケースがあるため、方向性を制御できるように「Directional Formatting Characters」が必要になるっちゅうこっちゃ。
「Directional Formatting Characters」の一覧は以下の通り。
U+061C ARABIC LETTER MARK
U+2066 LEFT-TO-RIGHT ISOLATE
U+2067 RIGHT-TO-LEFT ISOLATE
U+2068 FIRST STRONG ISOLATE
U+2069 POP DIRECTIONAL ISOLATE
U+200E LEFT-TO-RIGHT MARK
U+200F RIGHT-TO-LEFT MARK
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
恐らく、99.9%ぐらいの日本語がメインのテキストではこれらのフォーマット文字は不要であると考えられるので、拙作のPerlモジュール「Lingua::JA::NormalizeText」ではこれらの文字を削除するオプションを用意しています。(Webアプリケーションでこられの文字を埋め込んでイタズラされちゃうおそれがあるため)
さらに詳しい情報は↓を参照されたし。 Unicode Standard Annex #9