@@ -1127,14 +1127,10 @@ <h3 id="text-orientation">
11271127 and sets the orientation of the line. Current values only
11281128 have an effect in vertical writing modes.
11291129
1130- < p id =grapheme-cluster > In this section only, the term < dfn > character</ dfn >
1131- is defined as < em > extended grapheme cluster</ em > per [[!UAX29]]. It is
1132- roughly equivalent to what a language user considers to be a character
1133- or a basic unit of the script (which might not be a single Unicode
1134- codepoint).
1135- The UA may further tailor the definition as allowed by Unicode.
1136- See < a href ="#character-properties "> Character Properties</ a > for detailed
1137- information on determing character properties.
1130+ < p > For readability, the term < i > character</ i > is used in place of
1131+ < em > extended grapheme cluster</ em > in this section.
1132+ See < a href ="#character-properties "> Characters and Properties</ a >
1133+ for further details.
11381134
11391135 < p > Values have the following meanings:</ p >
11401136
@@ -1217,6 +1213,21 @@ <h3 id="text-orientation">
12171213 (writing-mode is vertical-rl)</ p >
12181214 </ div >
12191215
1216+ < p > The orientation of characters belonging to the Common, Inherited, and Unknown
1217+ script categories may be UA- or font-dependent in vertical typographic
1218+ modes:
1219+ < ul >
1220+ < li > < p > If the font and font system support mixed-orientation typesetting
1221+ (e.g. the OpenType font used has the < code > vrt2</ code > ), the
1222+ UA should rely on that feature to set ''vertical-right'' text. Similarly
1223+ if the font and font system support upright typesetting
1224+ (e.g. the OpenType font used has the < code > vert</ code > feature) then the
1225+ UA should rely on that feature to set ''upright'' text.
1226+ < li > < p > If the UA needs to synthesize such features,
1227+ then the settings in < a href ="#vertical-typesetting-details "> Appendix C</ a >
1228+ are recommended.
1229+ </ ul >
1230+
12201231 < div class ="example ">
12211232 < p > In the following example, the root element of a horizontal-only document
12221233 is set to use ''sideways''. In the rest of the document, the author
@@ -1230,32 +1241,6 @@ <h3 id="text-orientation">
12301241 </ pre >
12311242 </ div >
12321243
1233- < h4 id ="vertical-typesetting ">
1234- Vertical Typesetting</ h4 >
1235-
1236- < p > In vertical typographic modes, any character belonging to a
1237- vertical script < em > must</ em > be set using its base character's
1238- intrinsic orientation. (See < a href ="#script-orientations "> Appendix B</ a > .)
1239- Characters belonging to horizontal-only scripts must set sideways
1240- (for ''vertical-right'') or set upright (for ''upright'') depending on the
1241- 'text-orientation' property.
1242-
1243- < p > The orientation of characters belonging to the Common, Inherited, and Unknown
1244- script categories may be UA- or font-dependent in vertical typographic
1245- modes:
1246-
1247- < ul >
1248- < li > < p > If the font and font system support mixed-orientation typesetting, the
1249- UA should rely on that feature to set ''vertical-right'' text. Similarly
1250- if the font and font system support upright typesetting then the UA should
1251- rely on that feature to set ''upright'' text.
1252-
1253- < li > < p > If the UA needs to synthesize such features (e.g. if an OpenType font
1254- has only the < code > vert</ code > but not the < code > vrt2</ code > feature),
1255- then the settings in < a href ="#vertical-typesetting-details "> Appendix C</ a >
1256- are recommended.
1257- </ ul >
1258-
12591244< h2 id ="abstract-box ">
12601245Abstract Box Terminology</ h2 >
12611246
@@ -2228,6 +2213,38 @@ <h2 id="bidi-html" class=no-num>
22282213{ unicode-bidi: isolate; }
22292214 </ pre >
22302215
2216+ < h2 id ="character-properties " class ="no-num "> Appendix Q
2217+ Characters and Properties</ h2 >
2218+
2219+ < p > Unicode defines three character-level properties that are referenced
2220+ in CSS Writing Modes:
2221+ < dl >
2222+ < dt > < a href ="http://www.unicode.org/reports/tr11/#Definitions "> East Asian width</ a >
2223+ < dd > Defined in [[!UAX11]] and given as the East_Asian_Width property.
2224+ < dt > < a href ="http://www.unicode.org/reports/tr44/#General_Category_Values "> General Category</ a >
2225+ < dd > Defined in [[!UAX44]] and given as the General_Category property.
2226+ < dt > < a href ="http://www.unicode.org/reports/tr24/#Values "> Script property</ a >
2227+ < dd > Defined in [[!UAX24]] and given as the Script property. (UAs should
2228+ include any ScriptExtensions.txt assignments in this mapping.)
2229+ </ dl >
2230+
2231+ < p id =grapheme-cluster > In several sections (as noted), the term
2232+ < dfn > character</ dfn > is defined as < em > extended grapheme cluster</ em >
2233+ per [[!UAX29]]. It is roughly equivalent to what a language user
2234+ considers to be a character or a basic unit of the script (which
2235+ might not be a single Unicode codepoint).
2236+ The UA may further tailor this definition as allowed by Unicode.
2237+
2238+ < p > Unicode defines properties for characters, but for 'text-orientation' and
2239+ < a href ="vertical-typesetting-details "> Vertical Typesetting Synthesis</ a > ,
2240+ it is necessary to determine the properties of a grapheme cluster.
2241+ For the purposes of CSS Writing Modes, the properties of a grapheme
2242+ cluster are given by its base character—except in one case:
2243+ grapheme clusters formed with an Enclosing Mark (Me) of the Common
2244+ script are considered to be Other Symbols (So) in the Common script.
2245+ They are assumed to have the same Unicode properties as the
2246+ Replacement Character U+FFFD.
2247+
22312248< h2 class ="no-num " id ="script-orientations "> Appendix B:
22322249Bi-orientational Transformations</ h2 >
22332250 < p > < em > This section is normative.</ em > </ p >
@@ -2277,6 +2294,14 @@ <h2 id="vertical-typesetting-details" class="no-num">Appendix C:
22772294
22782295 < p > < em > This appendix is non-normative.</ em > </ p >
22792296
2297+ < p > This section defines an algorithm for automatic typesetting of
2298+ vertical text.
2299+
2300+ For readability, the term < i > character</ i > is used in place of
2301+ < em > extended grapheme cluster</ em > in this section.
2302+ See < a href ="#character-properties "> Characters and Properties</ a >
2303+ for further details.
2304+
22802305 < p class ="issue "> This section needs careful review.</ p >
22812306
22822307 < p > When 'text-orientation' is either ''vertical-right'' or ''upright'',
@@ -2296,7 +2321,7 @@ <h2 id="vertical-typesetting-details" class="no-num">Appendix C:
22962321 font settings if possible).
22972322 < li > Set any other characters that are assigned to a script
22982323 (i.e. do not belong to the Common, Inherited, or Unknown scripts)
2299- < a href =" #vertical-typesetting " > as required by 'text-orientation'</ a > .
2324+ as required by 'text-orientation' and < a href =" #script-orientations " > Appendix B </ a > .
23002325 </ ol >
23012326
23022327 < p > When 'text-orientation' is ''vertical-right'', the following settings
@@ -2352,30 +2377,6 @@ <h2 id="vertical-typesetting-details" class="no-num">Appendix C:
23522377 If any of these are present, the font is considered to have vertical
23532378 font settings available.
23542379
2355- < h2 id ="character-properties " class ="no-num "> Appendix Q
2356- Characters and Properties</ h2 >
2357-
2358- < p > Unicode only defines properties for characters, but in the definition
2359- of 'text-orientation' and in
2360- < a href ="vertical-typesetting-details "> Vertical Typesetting Synthesis</ a > ,
2361- it is necessary to determine the properties of a grapheme cluster.
2362- For the purposes of CSS Writing Modes, the properties of a grapheme
2363- cluster are given by its base character—except in one case:
2364- grapheme clusters formed with an Enclosing Mark (Me) of the Common
2365- script are considered to be Other Symbols (So) in the Common script
2366- having the same Unicode properties as the Replacement Character U+FFFD.
2367-
2368- < p > Unicode defines three properties that are referenced here:
2369- < dl >
2370- < dt > < a href ="http://www.unicode.org/reports/tr11/#Definitions "> East Asian width</ a >
2371- < dd > Defined in [[UAX11]] and given as the East_Asian_Width property.
2372- < dt > < a href ="http://www.unicode.org/reports/tr44/#General_Category_Values "> General Category</ a >
2373- < dd > Defined in [[UAX44]] and given as the General_Category property.
2374- < dt > < a href ="http://www.unicode.org/reports/tr24/#Values "> Script property</ a >
2375- < dd > Defined in [[UAX24]] and given as the Script property. (UAs should
2376- include any ScriptExtensions.txt assignments in this mapping.)
2377- </ dl >
2378-
23792380< h2 id ="intrinsic-sizing " class ="no-num "> Appendix D:
23802381Intrinsic Dimensions</ h2 >
23812382
0 commit comments