* 仕様書 [REFS[ - [11] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-01-09 07:29:06 +09:00]] 版) ]REFS] * CSS における bidi [19] [[CSS]] では [CODE(CSS)@en['[[unicode-bidi]]']] と [CODE(CSS)@en['[[direction]]']] の2つの[[特性]]が [[bidi]] に関わります。 [[Unicode]] の [[bidi]] に関する[[文字]]と合わせて、 [[Unicode]] の [[bidi]] アルゴリズムに従って[[レンダリング]]されます。 * HTML における bidi ** 双方向アルゴリズム書式付け文字 [21] [[HTML]] でいう[DFN[[RUBYB[双方向アルゴリズム書式付け文字]@en[bidirectional-algorithm formatting characters]]]]は、 [[Unicode]] の [CODE[[[Bidi_Char]]]] のうち [[Implicit Directional Formatting Characters]] 3文字を除いた9文字とされています [SRC[>>11]]。いずれも [[Unicode]] の [[bidi]] アルゴリズムで動作が定義されている[[文字]]です。 [REFS[ - [20] [CITE@en[Character set "$html:bidirectional-algorithm-formatting-characters"]] ([TIME[2014-01-13 09:06:21 +09:00]] 版) ]REFS] ** 双方向アルゴリズム書式付け文字範囲 [22] [DFN[[RUBYB[[[双方向アルゴリズム書式付け文字範囲]]]@en[bidirectional-algorithm formatting character ranges]]]]とは、次の各範囲です [SRC[>>11]]。 [FIG[ - [23] [[HTML要素]]の[[null名前空間]]の[[属性]]それぞれ - [24] [[HTML要素]]の[[子供]]の [CODE(DOMi)@en[[[Text]]]] を連結し次のように分割した範囲それぞれ -- [25] [CODE(HTMLe)@en[[[br]]]] [[要素]]があればそこで範囲を分割する -- [26] [[語句内容]]でない[[フロー内容]]である[[HTML要素]]があればそこで範囲を分割する ]FIG] ** 著者に対する要件 [27] [[双方向アルゴリズム書式付け文字範囲]]においては、[[双方向アルゴリズム書式付け文字]]は次のように対になっていなければ[['''なりません''']] [SRC[>>11]]。 [FIG[ - [28] [CODE(charname)@en[[[LRE]]]] / [CODE(charname)@en[[[RLE]]]] があれば、対応する [CODE(charname)@en[[[PDF]]]] があること - [29] [CODE(charname)@en[[[LRO]]]] / [CODE(charname)@en[[[RLO]]]] があれば、対応する [CODE(charname)@en[[[PDF]]]] があること - [30] [CODE(charname)@en[[[LRI]]]] / [CODE(charname)@en[[[RLI]]]] / [CODE(charname)@en[[[FSI]]]] があれば、対応する [CODE(charname)@en[[[PDI]]]] があること ]FIG] ** 処理モデル [13] [[HTML]] の[[レンダリング]]における [[bidi]] の扱いに関しては、 [CODE(CSS)@en['[[unicode-bidi]]']], [CODE(CSS)@en['[[direction]]']], [CODE(CSS)@en['[[content]]']] といった [[CSS]] の[[特性]]を介して [[Unicode]] の [[bidi]] アルゴリズムに従うものとして定義されています [SRC[>>11]]。 [14] [[利用者エージェント]]は、 - [15] [[CSS]] を実装し、 >>13 や[[著者]]による指定に従う - [16] >>13 の[[利用者エージェントスタイルシート]]に対応しているかのように実装するものの、 [[著者]]による [[CSS]] の指定には対応しない - [17] [[CSS]] 以外の[[スタイル言語]]で、同等のものを実装する ... のいずれかの形で実装することを求められています [SRC[>>11]]。 [18] [[HTML]] の中では、 [CODE(HTMLa)@en[[[dir]]]] [[属性]]、 [CODE(HTMLe)@en[[[bdi]]]] [[要素]]、 [CODE(HTMLe)@en[[[bdo]]]] [[要素]]、 [CODE(HTMLe)@en[[[br]]]] [[要素]]、[CODE(HTMLe)@en[[[pre]]]] [[要素]]、[CODE(HTMLe)@en[[[textarea]]]] [[要素]]、 [CODE(HTMLe)@en[[[wbr]]]] [[要素]]について [[bidi]] に関わる[[レンダリング]]の規定があります。 * 歴史 [1] [CITE[Authoring HTML for Middle Eastern Content]] ([[名無しさん]] [sage]) [2] [CITE[Exploring Better Source Editing for Bidirectional XHTML and XML]] ([[名無しさん]] [sage]) [3] [CITE[Hebrew characters in XML and XHTML]] ([[名無しさん]]) [4] [CITE[Authoring HTML for Middle Eastern Content]] ([[名無しさん]] [WEAK[2006-12-20 23:31:24 +00:00]]) [5] [CITE@en-US[Internationalization Best Practices: Handling Right-to-left Scripts in XHTML and HTML Content -- (Editors' copy)]] ([TIME[2006-07-27 02:17:07 +09:00]] 版) [6] [CITE[Revision of UBA for improved display of URL/IRIs - Google Docs]] ( ([TIME[2011-07-23 14:30:01 +09:00]] 版)) (cache [7] [CITE@en[Web Applications 1.0 r5754 Define conformance criteria around bidi formatting characters]] ( ([TIME[2011-01-10 18:55:00 +09:00]] 版)) [8] [CITE@en[Web Applications 1.0 r7783 Update HTML in preparation for Unicode 6.3]] ( ([TIME[2013-03-30 08:20:00 +09:00]] 版)) [9] [CITE[Widget Interface]] ( ([TIME[2013-10-29 00:58:56 +09:00]] 版)) [10] [CITE@en-US[Additional Requirements for Bidi in HTML]] ([TIME[2010-03-05 16:28:54 +09:00]] 版) [12] [CITE[IRC logs: freenode / #whatwg / 20101111]] ( ([TIME[2010-11-19 23:02:05 +09:00]] 版))