ばけらの CSSリファレンス

書字方向

書字方向の指定 …… direction

Unicode 双方向アルゴリズムの上書き …… unicode-bidi

direction - 書字方向

レベル:2
値:ltr | rtl
初期値:ltr
適用対象:あらゆる要素に適用可能
継承:する
パーセント値:不可
適用メディア:視覚

direction プロパティは、書字方向を指定します。ltr が Left To Right すなわち左から右へ、rtl が Right To Left で左から右へ、という指定になります。残念なことに、縦書きの指定は CSS2 にはありません。

このプロパティがブロック要素に指定されているときは、その内容の基本書字方向を規定します。文字の並び方以外にも、書字方向は以下のようなものに影響します。

なお、このプロパティがインライン要素に指定されていても、通常は機能しません。インライン要素の direction が機能するのは、unicode-bidiが override もしくは embed となっているときだけです。

↑先頭へ

unicode-bidi - Unicode 双方向アルゴリズムの上書き

レベル:2
値:normal | embed | bidi-override
初期値:normal
適用対象:あらゆる要素に適用可能
継承:する
パーセント値:不可
適用メディア:視覚

英語は左から右に、ヘブライ語は右から左に書かれます。ヘブライ語の中に英語の固有名詞が現れるような場合、全体は右から左へ流れ、固有名詞の部分だけが左から右に書かれます。Unicode の双方向アルゴリズムに対応しているブラウザであれば、このようなヘブライ語と英語の混在した文書を、英語は左から右へ、ヘブライ語は右から左へと流れるようにうまく表示できます。

※なお、実際の文字符号化方式が何であれ、HTML の文字は ISO 10646 の文字として扱われますから、Unicode の双方向アルゴリズムは有効です。実際にそのような実装がされているかどうかは別の話ですが。

しかし中には、

などといったケースがあって、Unicode の双方向アルゴリズムがうまく働かない場合があります。そんなときには Unicode の双方向アルゴリズムを上書きして無効にすることが出来ます。unicode-bidi プロパティは、この Unicode の双方向アルゴリズムを制御します。

unicode-bidi の初期値は normal で、このときは Unicode の書字方向アルゴリズムに対しては全く干渉しません。

embed とすると、特定の書字方向の要素を「埋め込む」ことになります。要素の書字方向は、directionプロパティによって決まります。このとき、その要素の中で Unicode の双方向アルゴリズムは有効です。

bidi-override は、その名のとおり双方向アルゴリズムを「上書き」します。unicode-bidi: bidi-override とされた要素の中では、書字方向は direction プロパティの値に従い、Unicode の双方向アルゴリズムは無効となります。

↑先頭へ


ばけらのCSSリファレンス

HTML鳩丸倶楽部

水無月ばけら, MINAZUKI Bakera
E-mail: bakera@star.email.ne.jp