/
286.txt
1912 lines (1652 loc) · 89 KB
/
286.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* 仕様書
[REFS[
- [44] [CITE@en[CSS Writing Modes Level 4]], [TIME[2020-09-05T23:08:25.000Z]], [TIME[2020-09-06T01:23:51.094Z]] <https://drafts.csswg.org/css-writing-modes/>
- [46] [CITE@en[CSS Writing Modes Level 4]], [TIME[2020-09-05T23:08:25.000Z]], [TIME[2020-09-06T01:54:08.790Z]] <https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode>
]REFS]
* 配置モデル
[FIG(short list)[ [45] [[CSS Writing Modes]]
- [[行内基底方向]]
- [[ブロックフロー方向]]
]FIG]
* [CODE['writing-mode']]
[SRC[>>46]]
* 歴史
** DSSSL
[54]
[[JIS X 4153:1998]] (ISO 1996)
- 4.17 [L[行進行方向 (line-progression-direction)]]
- 12.1 l) [L[機能 bidi]]: 「[L[表記方向左向き (right-to-left)]]」
- 12.1 m) [L[機能 vertical]]: 「[L[表記方法下向き (top-to-bottom)]]」
- 12.3.1 表記方法: 「[L[右向き (left-to-right), 左向き (right-to-left) 又は下向き (top-to-bottom) のいずれか]]」
- 12.3.2 「[L[段落が複数の表記モードを使う]]」 (横書き [[bidi]] のこと)
- いくつかの[[流し込みオブジェクト]]に[[特質]]
[CODE[writing-mode]]
があって、
[CODE[left-to-right]], [CODE[right-to-left]]
が指定でき、ものによっては
[CODE[top-to-bottom]]
も指定できる。
- 12.6.6 [CODE[implicit-bidi-method]]
** XSL モデル
[REFS[
- [55] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T10:21:49.000Z]], [TIME[2020-10-25T10:03:32.593Z]] <https://www.w3.org/TR/1998/WD-xsl-19980818>
]REFS]
- [CODE[writing-mode]], [CODE[[VAR[*]]-writing-mode]]
-- block-progression-direction
-- inline-progression-direction
-- escapement-direction
-- line-progression-direction
-- row-progression-direction
-- column-progression-direction
-- shift-direction
-- up-direction
-- [VAR[writing-mode-specifier]]
--- [CODE[lr-tb]] ([[既定値]])
--- [CODE[rl-tb]]
--- [CODE[tb-rl]]
--- [CODE[lr-bt]]
--- [CODE[rl-bt]]
--- [CODE[tb-lr]]
--- [CODE[bt-lr]]
--- [CODE[bt-rl]]
--- [CODE[lr-alternating-rl-tb]]
--- [CODE[lr-alternating-rl-bt]]
--- [CODE[lr-inverting-rl-tb]]
--- [CODE[lr-inverting-rl-bt]]
--- [CODE[tb-rl-in-rl-pairs]]
-- starting-edge, ending-edge
- [CODE[method-implicit-bidi]]
[56] このとき導入されたモデルが基本的にそのまま踏襲されたようです。
[[XSL]] → [[XSL 1.0]] ([[XSL-FO]]) → [[XSL 1.1]]
- [57] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T10:21:49.000Z]], [TIME[2020-10-25T10:13:24.595Z]] <https://www.w3.org/TR/1998/WD-xsl-19981216>
-- [58] [CODE[writing-mode]] 関連はやや整理が進むが基本は同じ
-- [59] [[bidi]] は [[Unicode Bidirectional Algorithm]] に
-- [62] start-edge, end-edge, before-edge, after-edge など
-- [76] up-direction に関係して
[CODE[vertical-roman-orientation]] = [CODE[vertical]]/[CODE[perpendicular]]
というのが出てくる
<https://www.w3.org/TR/1998/WD-xsl-19981216#fm-up-direction>
が、定義なし。
- [60] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T11:00:35.000Z]], [TIME[2020-10-25T10:15:31.897Z]] <https://www.w3.org/TR/1999/WD-xsl-19990421/>
-- [61] [CODE[fo:bidi-override]]
-- [63] [[CSS]] との統合が本格的に始まる
-- [77]
[CODE[reference-orientation]] に90度単位で向きを指定できる
<https://www.w3.org/TR/1999/WD-xsl-19990421/#reference-orientation>
-- [64] [CODE[i18n-format]] が指していたのはここ
[65] この少し前に
[[Microsoft]]
が
[[CSS]]
の追加機能として
[CODE[i18n-format]]
を提案していました。
[[書字方向]]指定は
[CODE['[[layout-flow]]']]
を使っていました。
そちらは
[[XSL]]
との統合で廃止され、
その後は
[[CSS]]
も
[CODE[writing-mode]]
を採用しました。
- [66] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T10:23:25.000Z]], [TIME[2020-10-26T08:47:18.476Z]] <https://www.w3.org/TR/2000/WD-xsl-20000112/#writing-mode>
- [71] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T10:23:25.000Z]], [TIME[2020-10-26T08:56:33.865Z]] <https://www.w3.org/TR/2000/WD-xsl-20000112/#writing-mode-add>
- [78] [CITE[Extensible Stylesheet Language (XSL)]], [TIME[2017-10-02T10:23:25.000Z]], [TIME[2020-10-26T09:44:15.652Z]] <https://www.w3.org/TR/2000/WD-xsl-20000112/#glyph-orientation-horizontal>
[67] 前の WD (>>60) では全バリエーションが定義されていましたが、
この WD から本体[[規定]]と附属書に分離されました。
- [68] 本体 (既存): [CODE[lr-tb]], [CODE[rl-tb]], [CODE[tb-rl]]
- [69] 本体 (新): [CODE[lr]] (= [CODE[lr-tb]]), [CODE[rl]] (= [CODE[rl-tb]]),
[CODE[tb]] (= [CODE[tb-rl]])
- [72] 追加: その他の既存値
[73] 追加の値は、
「for more extensive internationalization support」 [SRC[>>71]]
のための追加の値だと説明されていました。
[70]
選択の理由は
「covers the base writing-modes that are used as the official languages of the United Nations」
[SRC[>>66]]
と説明されました。
[[国際連合]]の[[公用語]]は
[[Arabic]], [[Chinese]], [[English]], [[French]], [[Russian]], [[Spanish]]
とされます。
[[国際連合]]が[[書字方向]]まで定めているのか不明ですが、
この各言語の現代の正式な[[書字方向]]は、
[CODE[lr-tb]] か [CODE[rl-tb]]
です。
([[Chinese]] が現[[国際連合]]加盟国である[[中華人民共和国]]の[[中文]]だとする場合。)
この理由付けからは [CODE[tb-rl]] が含まれた理由がよくわかりません。
;; [82]
[[W3C]] は[[国際連合]]の機関ではないですし、
[[XSL]] は[[国際連合]]の採用言語という話も聞いたことがありません。
スポンサーか何か[[政治的]]な事情があったのでしょうか?
[81]
[[XSL]] と何の関係があるのかわからない[[国際連合]]云々という基準で、
[[モンゴル文字]]で使われる [CODE[tb-lr]]
は追加の値に格下げされました。
[79]
向きの指定は
[CODE[glyph-orientation-horizontal]],
[CODE[glyph-orientation-vertical]]
で90度単位で指定できるようになりました。
I18N, CSS, SVG
と協同で議論中とありました。
[SRC[>>78]]
結局 [[XSL 2.0]] の最期までほぼそのままでした。
[CODE[reference-orientation]]
も残され、 [[XSL 2.0]] の最期まで存続しました。
[80]
[CODE[glyph-orientation-vertical]]
には
[CODE[auto]]
があり、
全角の漢字とラテン文字は 0、
それ以外は 90 とされました。
漢字用句読点とその他漢字的文字は[[横書き字形]]、[[縦書き字形]]の別があるとき[[縦書き字形]]を使うとされました。
回転する文字の決定は[[利用者エージェント]]依存で、
country, language, script, character properties, font, character context
によって複雑で、
[[UTR #11]],
[[JIS]],
その他[[国家標準]]に従うのが良いとされました。
-*-*-
[1] [[XSL 1.0]]
,値 ,行内部品・文の進行 ,ブロックの進行 ,シフト方向
,[CODE(XSL)[lr-tb]] ([CODE(XSL)[lr]]) ,→ ,↓ ,↑
,[CODE(XSL)[rl-tb]] ([CODE(XSL)[rl]]) ,← ,↓ ,↑
,[CODE(XSL)[lr-bt]] ,→ ,↑ ,↑
,[CODE(XSL)[rl-bt]] ,→ ,↑ ,↑
,[CODE(XSL)[lr-alternating-rl-bt]] ,→ (奇数) ← (偶数) ,↑ ,↑
,[CODE(XSL)[lr-alternating-rl-tb]] ,→ (奇数) ← (偶数) ,↓ ,↑
,[CODE(XSL)[lr-inverting-rl-bt]] ,→ (奇数) ← (偶数) ,↑ ,↑ (奇数) ↓ (偶数)
,[CODE(XSL)[lr-inverting-rl-tb]] ,→ (奇数) ← (偶数) ,↓ ,↑ (奇数) ↓ (偶数)
,[CODE(XSL)[tb-lr]] ,↓ ,→ ,←
,[CODE(XSL)[tb-rl]] ([CODE(XSL)[tb]]) ,↓ ,← ,→
,[CODE(XSL)[tb-lr-in-lr-pairs]] ,↓ ,← ,→
,[CODE(XSL)[bt-lr]] ,↑ ,→ ,←
,[CODE(XSL)[bt-rl]] ,↑ ,← ,→
''Formatting Properties 7.27.7 "writing-mode"'' <http://www.w3.org/TR/xsl/slice7.html#writing-mode>
''Internationalization A.1 Additional "writing-mode" values'' <http://www.w3.org/TR/xsl/sliceA.html#writing-mode-add>
- [2] 表で、シフト方向とは、[[基線]]類の調整方向。
- [3] 注意する必要があるのは [[Unicode]] の [[bidi]] 算法との関係 (横書き系の時に影響) と、[[グリフ]]の向きかな。
[REFS[
- [121] [CITE@ja[[[Antenna House]] によるXSL拡張仕様]],
Apr 24, 2003,
Rev Sep 8, 2003,
[TIME[2015-05-29T04:41:14.000Z]], [TIME[2020-10-28T07:48:55.406Z]]
<https://www.antenna.co.jp/XML/axf-extension/axf-extension.htm#writing-mode>
]REFS]
[122]
数少ない
[[XSL]]
の実装の中でもよく普及していたという
[[アンテナハウス]]の
[[XSL Formatter]]
は、
[CODE[writing-mode]]
を独自に拡張していました。
- [123] 標準の値:
[CODE[lr-tb]] = [CODE[lr]],
[CODE[rl-tb]] = [CODE[rl]],
[CODE[tb-rl]] = [CODE[tb]]
- [124] 独自の値:
[CODE[lr-bt]],
[CODE[rl-bt]],
[CODE[tb-lr]],
[CODE[bt-rl]],
[CODE[bt-lr]]
[125] 独自とはいっても附属書には入っていました。
[REFS[
- [74] [CITE@EN[Extensible Stylesheet Language (XSL) Version 1.1]], [TIME[2017-10-02T10:31:36.000Z]], [TIME[2020-10-26T09:26:37.124Z]] <https://www.w3.org/TR/2006/CR-xsl11-20060220/#writing-mode>
]REFS]
[75] その後の [[XSL 1.0]] [[W3C勧告]]や [[XSL 1.1]] 案は附属書と分離された状態のままでしたが、
[[XSL 1.1]] の [[CR]] でなぜか本体に再統合されました。
その後の版では統合されたままで、
[[XSL 2.0]] の最期に至りました。
- [47] [CITE@EN[Extensible Stylesheet Language (XSL) Version 2.0]], [TIME[2018-10-09T13:22:10.000Z]], [TIME[2020-10-23T12:51:15.244Z]] <https://www.w3.org/TR/xslfo20/#d2e425>
- [48] [CITE@EN[Extensible Stylesheet Language (XSL) Version 2.0]], [TIME[2018-10-09T13:22:10.000Z]], [TIME[2020-10-23T12:51:56.425Z]] <https://www.w3.org/TR/xslfo20/#writing-mode>
-
[49] [CITE@EN[Extensible Stylesheet Language (XSL) Version 2.0]], [TIME[2018-10-09T13:22:10.000Z]], [TIME[2020-10-23T12:54:36.278Z]] <https://www.w3.org/TR/xslfo20/#writing-mode-related>
-*-*-
[REFS[
- [86] [CITE@en[CSS3 module: text]], [TIME[2017-10-02T10:24:23.000Z]], [TIME[2020-10-27T11:13:02.631Z]] <https://www.w3.org/TR/2001/WD-css3-text-20010517/#TextLayout>
]REFS]
[87]
[[CSS]]
に提案されていた
[CODE[layout-flow]]
モデルは
[[XSL]]
との統合で破棄されました。
[[CSS Text]]
で
[[XSL]]
との統合モデルに基づく
[CODE[writing-mode]]
が導入されました。
これは
[[XSL]] (附属書含む) のサブセットになっていました。
- [88] [CODE[writing-mode]]:
[CODE[lr-tb]] = [CODE[lr]],
[CODE[rl-tb]] = [CODE[rl-tb]],
[CODE[tb-rl]] = [CODE[tb]],
[CODE[tb-lr]],
[CODE[bt-rl]],
[CODE[bt-lr]]
- [89] [[CSS2]] からあった [CODE[direction]] は統合されて再定義
- [90] [[縦中横]]は入れ子の要素の [CODE[writing-mode]] で記述
- [91] [CODE[glyph-orientation-vertical]], [CODE[glyph-orientation-horizontal]]
は [[XSL]] とほぼ同じ
- [92] [CODE[unicode-bidi]]
- [95] [[XSL]] と同じ start, end, before, after
[102]
[[XSL]] (附属書含む) の有り得そうな組合せ全部に比べると、
使わなそうな [CODE[writing-mode]]
は省かれていますが、
lr/rl と tb/bt は一応全組み合わせ用意されています。
[[XSL]] (本体のみ) のよくわからない選択基準よりは論理的なサブセットにみえます。
[93] [[XSL]] の [CODE[glyph-orientation-*]] は最初から最後まで90度単位でしたが、
[[CSS]] は実装に
- 0度だけ
- 90度単位
- 任意
... の[[実装水準]]の選択を許していました。
([[XSL]] も [[CSS]] も対応している直近の角度に丸めるとされていました。)
[103]
[[書字方向]]の記述に使わなそうな (装飾的な使い道はあるかもしれない)
任意の角度まで認めているのは
[[XSL]] より記述能力が高いですが、
実装してもしなくてもいいとは[[相互運用性]]ガン無視。
[94]
[[CSS]]
は
vertical:90,270、
horizontal: 0,180
のとき
[[Unicode Bidi algorithm]]
を適用するとしていました。
[126]
[[CSS]]
の
[[WD]]
の[[編集者]]に
[[MS]] の
[[Michel Suignard]]
と
[[W3C]]
の
[[Chris Lilley]]
の名前が挙がっていました。
[[Michel Suignard]]
は
[CODE[layout-flow]]
の
[[WD]]
[CODE[i18n-format]]
にも貢献者として挙がっていました
([CODE[i18n-format]] の[[編集者]]と貢献者は全員 [[MS]])。
おそらく
[CODE[writing-mode]]
にも
[[Michel Suignard]]
が主に関わったのでしょう。
-*-*-
[96]
[[IE]]
は
[[CSS]] [[WD]] モデルの
[CODE[writing-mode]]
の一部に対応していました。
従来の
[CODE[layout-flow]]
にも対応し続けました。
[[IE]]
の開発はその後凍結されており、
他の
[[Webブラウザー]]もなかなか追随できなかったため、
長らく
[[IE]] + [CODE[writing-mode]]/[CODE[layout-flow]]
が
[[Web]]
上で[[縦書き]]を実現する唯一の手法でした。
[4]
[[Firefox]] 2 は実装していません。
([[名無しさん]])
[5]
[[Opera]] 9 では [[SVG 1.1]] で定義されている値が使えます。
([[名無しさん]])
[6]
[[WinIE 6]] では [CODE(CSS)@en[[[lr-tb]]]] と
[CODE(CSS)@en[[[tb-rl]]]] が使えます。
([[名無しさん]])
[7]
テスト用
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20writing-mode%3A%20tb-rl%3B%0D%0A%7D%0D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20w%20(getComputedStyle%20(this.parentNode%2C%20null).writingMode)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20w%20(this.parentNode.currentStyle.writingMode)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element;i=html-div>
([[名無しさん]])
[8]
[[WinIE 6]] には [[DOM属性]] [CODE(DOMa)@en[[[writingMode]]]]
があります。
([[名無しさん]])
[9]
>>8 [CODE(DOMa)@en[[[currentStyle]]]]
で得られるのは[[指定値]] = [[算出値]] = [[使用値]]のようです。
([[名無しさん]])
[10]
[[Opera]] 9 には [[DOM属性]]がないようです。
[CODE(DOMm)@en[[[getComputedStyle]]]] や
[CODE(DOMa)@en[[[currentStyle]]]] では
[[DOM属性]]もなく、
[CODE(DOMm)@en[[[getPropertyValue]]]] でも[[空文字列]]しか得られません。
[11] [CITE@ja[縦書きHTML/CSSに関するメモ - 血統の森 web実験小屋]] ([TIME[2009-02-02 01:40:26 +09:00]] 版) <http://momdo.s35.xrea.com/web-html-test/vertical-text/index.html>
-*-*-
[321] [[SVG]] 開発前に提出された案のうち、
[[PGML]] は[[縦書き]]対応していませんでした ([[bidi]] は曖昧) が、
[[VML]] は
[CODE[layout-flow]]
モデルでした。
[[SVG 1.0]] の最初の [[WD]] は[[書字方向]]を扱っていませんでした。
[323] [TIME[1999-04-12]]の第2次 [[WD]] [SRC[>>322]]
は、独自の新設の [[CSS]]
[[特性]]を定義していました。
- [324] [CODE[text-direction]]
-- [CODE[natural]]: natural text direction from the font
-- [CODE[l-to-r]], [CODE[r-to-l]], [CODE[t-to-b]], [CODE[b-to-t]]
- [325] [CODE[orient-to-path]]:
[CODE[true]]: glyph/symbol が path の垂線方向に回転,
[CODE[false]]
[327] [TIME[1999-07-30]] [[WD]] で前者は
[[CSS2]] [CODE[direction]], [CODE[unicode-bidi]]
に置き換えられました。 [SRC[>>326]]
縦書きは消失。
[328] [TIME[1999-12-03]] [[WD]] [SRC[>>329]]
で [[XSL]] モデルに完全に置き換わりました。
- [330] [CODE[writing-mode]]
-- [CODE[lr-tb]] = [CODE[lr]]
-- [CODE[rl-tb]] = [CODE[rl]]
-- [CODE[tb-rl]] = [CODE[tb]]
- [331] [CODE[glyph-orientation-vertical]],
[CODE[glyph-orientation-horizontal]]:
角度は90度単位,
角度によっては [[Unicode Bidirectional Algorithm]] 対象
- [332] [CODE[direction]]: [[CSS2]] 参照 + glyph-orientation
- [333] [CODE[unicode-bidi]]: [[CSS2]] 参照
[334]
[[XSL]] は参照せず同様の規定がありました。
この前後の [[XSL]] と [[CSS]] の [[WD]]
と見比べると、時期的にも内容的にもほぼ中間的な形でした。
[336] その後 1.0 [[W3C勧告]]に至るまでの改訂で基本的な構造は変わっていませんが、
規定は細かくなっていました [SRC[>>335]]。詳しくは要検証。
[[SVG 1.1]] では変更なし (細部は要検証)。
[[SVG Tiny 1.2]] ([[黒歴史]]) では [CODE[direction]] と [CODE[unicode-bidi]]
だけ残してあとは抹消されていました [SRC[>>335]]。
[340] [[SVG2]] で新モデルに更新されました (>>339)。
[REFS[
- [322] [CITE[Text]], [TIME[1999-04-12T05:12:26.000Z]], [TIME[2020-11-01T08:26:32.440Z]] <https://www.w3.org/TR/1999/WD-SVG-19990412/text.html#TextOnAPath>
- [326] [CITE[Text]], [TIME[1999-07-31T02:01:30.000Z]], [TIME[2020-11-01T08:31:01.255Z]] <https://www.w3.org/1999/07/30/WD-SVG-19990730/text.html>
- [329] [CITE[Text]], [TIME[1999-12-03T17:13:29.000Z]], [TIME[2020-11-01T08:40:04.452Z]] <https://www.w3.org/TR/1999/WD-SVG-19991203/text.html>
- [335] [CITE[Text - SVG 1.0 - 20010904]], [TIME[2001-09-01T01:37:36.000Z]], [TIME[2020-11-01T08:46:50.065Z]] <https://www.w3.org/TR/2001/REC-SVG-20010904/text.html#TextLayout>
- [337] [CITE@en[Scalable Vector Graphics (SVG) Tiny 1.2 Specification]], [TIME[2008-12-22T23:20:34.000Z]], [TIME[2020-11-01T08:53:00.736Z]] <https://www.w3.org/TR/2008/REC-SVGTiny12-20081222/single-page.html#text-TextLayout>
]REFS]
-*-*-
[262]
[[TTML]] は、
[TIME[2003-05-15]]の最初に公開された要件 [[WD]]
の時点で、既に
visual style parameter
の1つとして
「block progression dimension」
「inline progression dimension」
「line stacking strategy」
「reference orientation」
「writing mode」
を採用することを決めていました。
[SRC[>>263]]
[[XSL 1.0]] と [[CSS2]]
を参照していたものの、
こうした概念があるのは
[[XSL 1.0]] の方だけでした。
[265]
[TIME[2004-11-01]]の最初の [[WD]]
は
[DFN[[CODE[tts:writing-mode]]]]
を規定していました。
値は
[CODE[lr-tb]],
[CODE[rl-tb]],
[CODE[tb-rl]],
[CODE[tb-lr]],
[CODE[lr]],
[CODE[rl]],
[CODE[tb]]
でした。
block progression direction,
inline progression direction
を指定するものとされていました。
それ以上の詳細は [[XSL 1.0]] が参照されていました。
[SRC[>>264]]
[266]
その後名前は
[DFN[[CODE[tts:writingMode]]]]、
値は
[CODE[lrtb]]
などハイフンなしと改められましたが、
[[TTML 1.0]] は最後までほぼそのままでした。
[[XSL]] に [CODE[direction]],
[CODE[unicode-bidi]]
が導入されたのを踏まえて
[[TTML 1.0]]
にも同義の
[CODE[tts:direction]],
[CODE[tts:unicodeBidi]]
が追加されていました。
[SRC[>>51]]
[267]
[[TTML2]] は [[XSL]] モデルに [[CSS]] の [CODE[text-orientation]]
を追加しました (>>268)。
[REFS[
- [263] [CITE@en[Timed Text (TT) Authoring Format 1.0 Use Cases and Requirements]], [TIME[2018-10-09T13:18:23.000Z]], [TIME[2020-11-01T01:46:03.632Z]] <https://www.w3.org/TR/2003/WD-tt-af-1-0-req-20030515/#R306>
- [264] [CITE@en[Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP)]], [TIME[2020-11-01T01:50:02.000Z]], [TIME[2004-11-05T06:58:54.342Z]] <https://web.archive.org/web/20041105065833/http://www.w3.org/TR/2004/WD-ttaf1-dfxp-20041101/#style-attribute-writing-mode>
-[51] [CITE@en-us[Timed Text Markup Language 1 (TTML1) (Third Edition)]], [TIME[2020-08-20T18:38:18.000Z]], [TIME[2020-10-23T14:35:14.528Z]] <https://www.w3.org/TR/ttml1/#style-attribute-writingMode>
]REFS]
-*-*-
[295] [[SMIL]]
は、
[TIME[2006-12-20]] [[WD]]
で
[[XSL 1.1]] [CODE[direction]]
からコピーした
[CODE[textDirection]]
を追加しました。
この時点では
[[DFXP]] (後の [[TTML]])
にある
[CODE[writingMode]] と [CODE[unicodeBidi]]
は意図的に不採用とされました。
[SRC[>>294]]
(詳細は規定はなく [[XSL 1.1]] を参照。)
[297]
[TIME[2008-01-15]] [[CR]]
で
[CODE[textDirection]]
に
[CODE[ltro]], [CODE[rtlo]]
が追加されました。
[SRC[>>296]]
(なぜか [CODE[unicode-bidi]] ではなく新しい値。)
[298]
同時に
[[XSL 1.1]] [CODE[writing-mode]]
からコピーした
[CODE[textWritingMode]]
が追加されました。
値は
[CODE[lr-tb]] = [CODE[lr]],
[CODE[rl-tb]] = [CODE[rl]],
[CODE[tb-lr]],
[CODE[tb-rl]]。
[SRC[>>296]]
(値の選択基準は [[DFXP]] とされました。なぜか [CODE[tb]] は除外。)
[REFS[
- [294] [CITE@en[Synchronized Multimedia Integration Language (SMIL 3.0)]], [TIME[2006-12-20T17:48:21.000Z]], [TIME[2020-11-01T03:28:12.312Z]] <https://www.w3.org/TR/2006/WD-SMIL3-20061220/smil30.html#smil-text-adef-textDirection>
- [296] [CITE@en[Synchronized Multimedia Integration Language (SMIL 3.0)]], [TIME[2008-01-11T09:24:54.000Z]], [TIME[2020-11-01T03:31:51.476Z]] <https://www.w3.org/TR/2008/CR-SMIL3-20080115/smil30.html#smil-text-adef-textDirection>
]REFS]
[354]
[[OpenDocument]]
はかなり変則的な
[[XSL]]
モデルを採用していました。
1.0 から 1.3 までほぼ同内容です。
- [358]
[CODE[style:writing-mode]]
は [[XSL]] を参照,
[CODE[lr-tb]] = [CODE[lr]],
[CODE[rl-tb]] = [CODE[rl]],
[CODE[tb-rl]] = [CODE[tb]],
[CODE[tb-lr]]。
独自の値 [CODE[page]]。
[SRC[>>357, >>361, >>29, >>364, >>367]]
- [359]
[CODE[style:writing-mode-automatic]]
は編集時に
[CODE[style:writing-mode]]
を再計算するかどうか。
[SRC[>>357, >>361, >>29, >>364, >>367]]
- [355] [CODE[style:direction]] は[[表]]の[[こま]]に指定できる。
[CODE[ltr]] (左から右),
[CODE[ttb]] (上から下、 stacked but not rotated)
[SRC[>>353, >>360, >>362, >>366]],
1.2 以降は [CODE[ltr]] は [CODE[style:writing-mode]] の方向、ともあり
(左から右、と矛盾しているが)。
- [356] [CODE[style:glyph-orientation-vertical]] は[[表]]の[[こま]]に指定できる。
[CODE[auto]],
[CODE[0]] (無効)
[SRC[>>353, >>360, >>363, >>365]],
1.2 以降は 0 に単位をつけられるように、
1.2 以降は [[SVG]] を参照するように
- [368] [CODE[text-combine]] は [[CSS]] からのコピー (参照なし)、
後に[[縦中横]]に置き換えられる前の[[組み文字]]と[[割注]]用
[REFS[
- [353] [CITE[OASIS Open Office Specification - OpenDocument-v1.0-os.pdf]], [TIME[2005-05-17T16:27:56.000Z]], [TIME[2020-11-01T12:23:19.006Z]] <https://docs.oasis-open.org/office/v1.0/OpenDocument-v1.0-os.pdf#page=607>
- [357] [CITE[OASIS Open Office Specification - OpenDocument-v1.0-os.pdf]], [TIME[2005-05-17T16:27:56.000Z]], [TIME[2020-11-01T12:26:27.853Z]] <https://docs.oasis-open.org/office/v1.0/OpenDocument-v1.0-os.pdf#page=591>
- [360] [CITE@en-US[OASIS Open Office Specification]], [TIME[2006-10-25T15:43:00.000Z]], [TIME[2020-11-01T12:29:10.591Z]] <http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1-html/OpenDocument-v1.1.html#outline%3A15.11.3.Direction>
- [361] [CITE@en-US[OASIS Open Office Specification]], [TIME[2006-10-25T15:43:00.000Z]], [TIME[2020-11-01T12:29:55.066Z]] <http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1-html/OpenDocument-v1.1.html#outline%3A15.5.36.Writing_Mode>
- [362] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]], [TIME[2011-09-29T04:00:00.000Z]], [TIME[2020-11-01T12:30:33.902Z]] <http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#property-style_direction>
- [363] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]], [TIME[2011-09-29T04:00:00.000Z]], [TIME[2020-11-01T12:32:32.279Z]] <http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#property-style_glyph-orientation-vertical>
-
[29] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]]
([TIME[2011-09-29 13:00:00 +09:00]] 版)
<http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a20_394style_writing-mode>
- [364] [CITE[Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 3: OpenDocument Schema]], [TIME[2019-12-25T17:00:00.000Z]], [TIME[2020-11-01T12:33:53.190Z]] <https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/part3-schema/OpenDocument-v1.3-cs01-part3-schema.html#property-style_writing-mode>
- [366] [CITE[Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 3: OpenDocument Schema]], [TIME[2019-12-25T17:00:00.000Z]], [TIME[2020-11-01T12:35:53.294Z]] <https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/part3-schema/OpenDocument-v1.3-cs01-part3-schema.html#__RefHeading__1419958_253892949>
- [365] [CITE[Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 3: OpenDocument Schema]], [TIME[2019-12-25T17:00:00.000Z]], [TIME[2020-11-01T12:35:27.620Z]] <https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/part3-schema/OpenDocument-v1.3-cs01-part3-schema.html#__RefHeading__1420026_253892949>
- [367] [CITE[Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 3: OpenDocument Schema]], [TIME[2019-12-25T17:00:00.000Z]], [TIME[2020-11-01T12:36:18.256Z]] <https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/part3-schema/OpenDocument-v1.3-cs01-part3-schema.html#property-style_writing-mode>
]REFS]
** CSS3 CR モデル
[REFS[
- [97] [CITE@en[CSS3 Text Module]], [TIME[2017-10-02T10:26:32.000Z]], [TIME[2020-10-27T11:37:31.703Z]] <https://www.w3.org/TR/2003/CR-css3-text-20030514/#TextLayout>
]REFS]
[98]
[[XSL]] モデルを若干整理したもの。
- [100] [CODE[direction]]: [CODE[ltr]], [CODE[rtl]]
- [101] [CODE[block-progression]]: [CODE[tb]], [CODE[rl]], [CODE[lr]]
- [99] [CODE[writing-mode]]:
[CODE[lr-tb]], [CODE[rl-tb]], [CODE[tb-rl]], [CODE[tb-lr]]
-- [CODE[direction]], [CODE[block-progression]] の [[shorthand]]
- [104] [CODE[glyph-orientation-vertical]]
-- 角度: 90度単位に丸められる
-- [CODE[auto]]:
全角漢字、全角ラテン文字: 0度。
漢字句読点など: [[縦書きグリフ]]。
モンゴル文字: 0度。
その他: 90度。
-- [CODE[upright]]:
0度、ただし[[縦書きグリフ]]。 (詳細[[利用者エージェント]]依存)
-- [CODE[inline]]:
[[Unicode Bidirectional Algorithm]] の [[embedding level]] により決める。
全角漢字、、全角ラテン文字: 0度。
漢字句読点など: [[縦書きグリフ]]。
モンゴル文字: 0度。
その他、
[[embedding level]] 偶数: 90度、奇数: -90度。
(つまりすべて上から下に並べる)
-- [CODE[auto]] と90度が実装必須。
- [107] [CODE[glyph-orientation-horizontal]]
-- 角度: 90度単位に丸められる
全角漢字、、全角ラテン文字: 0度。
漢字句読点など: [[横書きグリフ]]。
モンゴル文字: 90度。
その他: 0度。
-- [CODE[inline]]:
[[Unicode Bidirectional Algorithm]] の [[embedding level]] により決める。
全角漢字、、全角ラテン文字: 0度。
漢字句読点など: [[横書きグリフ]]。
その他、
[[embedding level]] 偶数: 0度、奇数: 180度。
(つまりすべて左から右に並べる)
-- [CODE[auto]] と0度が実装必須。
- [105] [CODE[unicode-bidi]]
- [106] [[縦中横]]は入れ子の要素に [CODE[writing-mode]]
[127]
[[CR]]
の[[編集者]]は
[[MS]]
の
[[Michel Suignard]]
でした。
[129]
この
[[CR]]
は実装困難として再検討されることになりました。
この当時の
[[CSS WG]]
の議事は非公開で、
断片的な情報しかありませんが、
[TIME[西暦2004年][year:2004]]には書き直しが始まり、
[TIME[西暦2005年][year:2005]]には新しい
[CITE[CSS3 Text Effects Module]] [[WD]] が公開されました
(が[[書字方向]]関係は
[CITE[Text Layout]] module
に分離するとして、
削除されていました)。
[SEE[ [[CSS Text]] ]]
[130]
[TIME[2005-06-27]]の
[CITE[CSS3 Text Effects Module]]
[[WD]]
の[[編集者]]は
[[fantasai]]
でした。
[[fantasai]]
は
[TIME[2004-10-20]]に、
[CITE[CSS3 Text]]
の改訂作業中で[[縦書き]]の扱いを検討していると書いていました
[SRC[>>83]]。
この当時はまだ分離する決定がなされていなかったのでしょう。
[133]
[[fantasai]]
は
[[CR]]
当時から技術的な懸念を指摘していました。
[REFS[
- [131] [CITE@en[Re: CSS3 Text: Multi-Directional Scripts in Vertical Inline Progression]], [[fantasai]], [TIME[2003-04-16 06:44:04 +09:00]], [TIME[2016-05-02T14:27:07.000Z]], [TIME[2020-10-29T06:12:46.196Z]] <https://lists.w3.org/Archives/Public/www-style/2003Apr/0116.html>
- [132] [CITE@en[Re: [css3-text] Before It Becomes a PR]] ([[fantasai]] 著, [TIME[2003-07-14 13:03:15 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2003Jul/0146.html>
]REFS]
[134]
分離後の CSS3 Text Layout
は、
非公開の
[[CSS WG]]
内部案が
<https://www.w3.org/Style/Group/css3-src/css3-text-layout/>
にあったとされます。その内容は不明ですが、
[TIME[2007-12-15]]に
[[fantasai]]
が仕切り直しに当時の版を
[[CVS]]
に追加したものが公開されています [SRC[>>116]]。
[[CR]]
と比べると:
- [135] [CODE[writing-mode]] に [CODE[bt-rl]], [CODE[bt-lr]] 追加
- [136] [CODE[glyph-orientation-*]] 削除
-- 廃止なのかどこか他に移動されたのか不明
[137]
[[編集者]]は
[[MS]]
の
[[Paul Nelson]]
とされていました。
[[fantasai]]
の検討は反映されなかったのでしょうか。
** fantasai モデル
[139]
[[fantasai]]
は
[[CSS]]
の[[縦書き]]モデルを再検討し、
[TIME[西暦2004年][year:2004]]から[TIME[2005年][year:2005]]にかけて、
[[CSS]]
と
[[Unicode]]
の関係者に向けた[[論文]]として発表しました。
[[Unicode Consortium]]
では
[DFN[UTN #22]]
と呼ばれています。
[140]
本論文は[[縦書き]]と[[横書き]]の混植事例を分析し、
適度に一般化した形で整理した上で、
これを [[CSS]] で実現する手法を提案していました。
[141]
縦横混植を[[言語]]や[[用字系]]によらない一般化したモデルで記述し、
現実的に実現可能な手法を示したのは初めてかもしれません。
これより前に公開されたものは見当たりません。
現在からみても非常に優れた分析です。
[142] Logical Text Layout [SRC[>>138]]:
- [144] 必要な script 情報
-- script の horizontal directionality: ltr, rtl, none
-- script の vertical directionality: ttb, btt, none
-- script の orientational category: horizontal, vertical
([[蒙古文字]]など), bi-orientational ([[漢字]], [[Ogham]] など)
-- 縦書き script の bi-orientational transformation:
rotate ([[蒙古文字]]、[[Ogham]] など),
translate ([[正立]]。 [[CJK]])
- [145] block of text の設定
-- what block progression to use
-- how to orient non-native text: rotate right, rotate left, stay upright
[146]
基本は [[script]] 本来の性質から導かれる自然な方向に組んでいき、
混在時の扱いなど2点だけ指定されたものに従えばいい。
(このモデルが導出された根拠は本文参照。)
[143] 実装案 [SRC[>>138]]:
- [[Unicode]] の制御文字、 [[HTML]] [CODE[dir=""]], [[CSS]] [CODE[direction]]:
既存 [CODE[ltr]], [CODE[rtl]] + 新
[CODE[ttb]],
[CODE[ltr-ttb]], [CODE[ltr-btt]]
- [CODE[block-progression]]: [CODE[TB]], [CODE[RL]], [CODE[LR]]
- [CODE[text-orientation-vertical]]:
[CODE[natural]], [CODE[left]], [CODE[right]], [CODE[upright]]
- [CODE[text-orientation-horizontal]]: 同様
[147] これを [[Unicode Bidirectional Algorithm]] といかに統合するかも述べていました。
[[bidi]] アルゴリズムとの関係性もこれまでのどの仕様案より踏み込んで検討していました。
[148]
[[縦中横]]には言及しておらず、どう考えていたのか不明です。
CSS3 CR にも[[縦中横]]の例はあったので、
[[fantasai]]
も存在は知っていたはずです。
本[[論文]]は一次元に文字が並ぶ行を扱っていて、
[[縦中横]]以外にも[[割注]]、[[ルビ]]、[[数式]]といった構造には言及していませんでした。
[REFS[
- [83] [CITE@en[CSS3, Unicode BIDI, and Vertical Text Layout]], [[fantasai]], [TIME[2004-10-21 03:18:24 +09:00]], [TIME[2016-05-02T14:27:15.000Z]], [TIME[2020-10-27T09:48:26.849Z]] <https://lists.w3.org/Archives/Public/www-style/2004Oct/0083>
- [84] [CITE@en[Robust Vertical Text Layout]], [TIME[2010-09-28T12:16:48.000Z]], [TIME[2020-10-27T09:50:31.868Z]] <http://fantasai.inkedblade.net/style/discuss/vertical-text/>
- [85] [CITE@en[Robust Vertical Text Layout]], [TIME[2009-04-13T23:27:34.000Z]], [TIME[2020-10-27T09:52:27.241Z]] <http://fantasai.inkedblade.net/style/discuss/vertical-text/paper>
- [128] [CITE[fantasai 26: CSS and Multi-Script Text]],
2005-02-14,
[TIME[2019-05-13T04:14:51.000Z]], [TIME[2020-10-29T05:48:02.718Z]] <http://fantasai.inkedblade.net/weblog/2005/international-text/>
- [138] [CITE@en-us[UTN #22: Robust Vertical Text Layout]],
April 25, 2005,
[TIME[2005-04-26T00:29:12.000Z]], [TIME[2020-10-29T06:25:03.741Z]] <https://www.unicode.org/notes/tn22/>
]REFS]
** 再始動
[151]
[[UTN #22]]
の提案はその後
[[Unicode]]
側では進展しなかったようです。
[[CSS]]
側も、
[[fantasai]]
が
[[CSS 2.1]]
など他の課題に取り組んでおり、
長らく手つかずでした。
その間[[書字方向]]は
[CITE[CSS3 Text Layout]]
として分離され別の[[編集者]]が割り当てられましたが、
ほとんど進展しませんでした (>>134)。
[152]
[TIME[2007-12-15]]、
[[fantasai]]
は
[[CSS WG]]
の公開
[[CVS]]
で
[[ED]]
を公表しました [SRC[>>116]]。
[TIME[2008-10-08]]、
[CODE[block-progression]]
が
[CODE[block-flow]]
に改称されました
[SRC[>>174]] (その後[TIME[2010年][year:2010]]に巻き戻った後再改称)。
おそらく
[[UTN #22]]
モデルに合わせて整理しようと試みていたのでしょうが、
ほとんど進んでいませんでした。
[153]
[TIME[西暦2010年][year:2010]]、
[[CSS]]
を使った
[[EPUB]]
の[[日本語]]対応に関与していた[[アンテナハウス]]の関係者が改善を要望しました
[SRC[>>12]]。これを契機に
[[fantasai]]
と共に[[アンテナハウス]]の関係者が[[編集者]]に加わりました。
[TIME[2010年9月][2010-09]]、
[[fantasai]]
は[[日本]]滞在中に[[アンテナハウス]]社を訪問し、
全面的な改訂に着手しました [SRC[>>115, >>118, >>149]]。
[180]
[[EPUB]]
の日本企業の関係者らは、
この間の[TIME[6月][2010-06]]に、
当時の案から
[CODE[writing-mode]] の [CODE[lr-tb]], [CODE[tb-rl]]
への対応が
([[EPUB]] の[[日本語]]対応には)
必要であるとしていました
[SRC[>>179]]。
[154] 再始動してからの一連の作業が反映された[TIME[2020-12-02]] [[WD]]:
- [155] block flow direction: horizontal writing mode (downward/upward),
vertical writing mode (leftward/rightward)
- [156] line orientation: under/over
-- [157] glyph orientation
- [158] [CODE[direction]]. [CODE[unicode-bidi]]
- [159] [CODE[writing-mode]]:
[CODE[horizontal-tb]],
[CODE[vertical-lr]],
[CODE[vertical-rl]]
-- [160] [[SVG 1.1]] compat:
[CODE[lr]], [CODE[lr-tb]], [CODE[rl]] = [CODE[horizontal-tb]];
[CODE[tb]], [CODE[tb-rl]] = [CODE[vertical-rl]]
- [161] [CODE[text-orientation]]
-- [162] [CODE[vertical-right]]:
vertical writing mode:
非縦 script: [[時計回りに90°回転]]。
それ以外: [[縦書きグリフ]]があれば採用。
-- [163] [CODE[upright]]:
vertical writing mode:
非縦 script: [[正立]]、[[孤立形]]。
それ以外: [[縦書きグリフ]]があれば採用。
(すべて[[強LTR]]扱い。)
-- [164] [CODE[rotate-right]]:
vertical writing mode:
[[時計回りに90°回転]]。
[[横書きグリフ]]。
-- [165] [CODE[rotate-left]]:
vertical writing mode:
[[反時計回りに90°回転]]。
[[横書きグリフ]]。
-- [166] [CODE[rotate-normal]]:
[CODE[vertical-rl]] なら [CODE[rotate-right]],
[CODE[vertical-lr]] なら [CODE[rotate-left]]。
-- [167] [CODE[auto]]:
[[SVG 1.1]]: [CODE[glyph-orientation-horizontal]],
[CODE[glyph-orientation-vertical]] に従う。
それ以外: [CODE[vertical-right]]。
- [168] [CODE[text-combine]]: [CODE[none]], [CODE[horizontal]] <number>?:
vertical writing mode:
1文字分の大きさで横書き。
[[縦中横]]用。
[169] 旧 [CODE[writing-mode]] ([CODE[direction]] と [CODE[block-flow]]
の [[shorthand]])
は破棄されました。
[CODE[block-flow]] は新 [CODE[writing-mode]] に改称されました。
[CODE[writing-mode]] と [CODE[direction]] (および [[bidi]])
は分離され、
[CODE[writing-mode]] の特性値が一新されましたが、
[[SVG 1.1]] が既に旧 [CODE[writing-mode]]
を使っていたので、
block flow direction 部分だけを読み取って読み替えることにしました。
(結果的に [[IE]] の [CODE[writing-mode]] との互換性も保たれましたが、
意図的にそうしたのか不明。)
[175]
この [[WD]] 以前の [[ED]] に一時
[CODE[[[block-flow]]: [[bt]]]] [SRC[>>174]],
[CODE[[[writing-mode]]: [[horizontal-bt]]]]
がありましたが、削除されました。
完全性のために追加したものの、
実用性から削除したといったところでしょうか。
過去の [[CSS]] 案になく、
[[XSL]] モデルに相当するものがあるくらいです。
[178]
[[下から上の縦書き]] (具体例は [[Ogham]]) は未対応とされました。
[CODE[text-orientation]] で一応表示させられないことはありません。