Skip to content

Commit dbac0d1

Browse files
committed
Redo Appendix C to handle latest update to UTR50.
1 parent fe168a2 commit dbac0d1

2 files changed

Lines changed: 277 additions & 218 deletions

File tree

css3-writing-modes/Overview.html

Lines changed: 147 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,8 +1657,7 @@ <h3 id=text-orientation><span class=secno>5.1. </span> Orienting Text: the
16571657
set sideways, i.e. 90&deg; clockwise from their standard orientation in
16581658
horizontal text. Characters from vertical scripts are set with their
16591659
intrinsic orientation. This corresponds to the "mixed" orientation mode
1660-
<em>that will be defined</em> in <a href="#UTR50"
1661-
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>.
1660+
in <a href="#UTR50" rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>.
16621661

16631662
<p>This value is typical for layout of primarily vertical-script text.
16641663

@@ -1669,7 +1668,7 @@ <h3 id=text-orientation><span class=secno>5.1. </span> Orienting Text: the
16691668
rendered upright, i.e. in their standard horizontal orientation.
16701669
Characters from vertical scripts are set with their intrinsic
16711670
orientation and shaped normally. This corresponds to the "stacked"
1672-
orientation mode <em>that will be defined</em> in <a href="#UTR50"
1671+
orientation mode in <a href="#UTR50"
16731672
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>
16741673

16751674
<p>For the purposes of bidi reordering, this value causes all characters
@@ -3605,6 +3604,9 @@ <h2 class=no-num id=script-orientations>Appendix B: Vertical Scripts in
36053604
The script classification of Unicode characters is given by <a
36063605
href="#UAX24" rel=biblioentry>[UAX24]<!--{{!UAX24}}--></a>.
36073606

3607+
<p class=note>Note that <code>ScriptExtensions.txt</code> is expected to be
3608+
used.
3609+
36083610
<table class=data>
36093611
<caption>Vertical Scripts in Unicode</caption>
36103612

@@ -3690,6 +3692,11 @@ <h2 class=no-num id=script-orientations>Appendix B: Vertical Scripts in
36903692
scripts will be treated as horizontal-only. A future version of CSS may
36913693
define proper handling of bottom-to-top scripts.
36923694

3695+
<p class=note>Note that for vertical-only scripts (Mongolian, Phags Pa),
3696+
the glyphs in the Unicode code charts are shown in their vertical
3697+
orientation. In horizontal text, they are typeset in a 90&deg;
3698+
counter-clockwise rotation from this orientation.
3699+
36933700
<h2 class=no-num id=vertical-typesetting-details>Appendix C: Vertical
36943701
Typesetting Synthesis</h2>
36953702

@@ -3707,129 +3714,168 @@ <h2 class=no-num id=vertical-typesetting-details>Appendix C: Vertical
37073714
which orientation category affects how text is rendered by default,
37083715
particularly codepoints in punctuation and symbol ranges such as <a
37093716
href="http://unicode.org/cldr/utility/list-unicodeset.jsp?a=\p{Block%3DGeneral+Punctuation}%26[%3AGeneral_category%3DPo%3A]%0D%0A&amp;g=">U+2016&ndash;U+205F</a>
3710-
range. This requires careful review and feedback is requested. (The CSSWG
3711-
is collecting its notes and analysis on the <a
3712-
href="http://wiki.csswg.org/spec/utr50">CSS wiki</a>. Unicode discussion
3713-
on UTR50 takes place in the <a
3717+
range. This requires careful review and feedback is requested. Unicode
3718+
discussion on UTR50 takes place in the <a
37143719
href="http://www.unicode.org/forum/viewforum.php?f=35">PRI 307 forum</a>)
37153720

3716-
<p>For vertical typesetting, using <a href="#UTR50"
3717-
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a> and the rules below,
3718-
characters are assigned into one of five categories:
3721+
<p class=issue> The expected categorization of Unicode characters is given
3722+
below. This is expected to merge with <a href="#UTR50"
3723+
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>. In any cases where they
3724+
differ, further investigation is needed. The CSSWG is collecting its notes
3725+
and analysis on the <a href="http://wiki.csswg.org/spec/utr50">CSS
3726+
wiki</a>.
3727+
3728+
<p>For vertical typesetting, characters are assigned into one of four
3729+
categories:
37193730

37203731
<dl>
3721-
<dt>upright (U)
3732+
<dt id=typeset-upright>Upright (SVO=U &amp; MVO=U) or Transforming
3733+
(SVO=MVO=T)
37223734

37233735
<dd>These characters are upright in both &lsquo;<a
37243736
href="#mixed-right"><code class=css>mixed-right</code></a>&rsquo; and
37253737
&lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo; text
3726-
orientations.
3738+
orientations. <i>Transforming</i> characters' glyphs change significantly
3739+
between vertical and horizontal writing (regardless of typeface style),
3740+
and correct typography requires variant glyphs.
3741+
<p class=note>Differences in glyph shape, such as variant brush strokes
3742+
and alignment, that are not fundamental to the character's form, are the
3743+
responsibility of the font system. They do not determine categorization
3744+
or orientation.
37273745

3728-
<dt>sideways (S<sub>v</sub>)
3746+
<p class=issue>Propose &lsquo;<code class=property>svrt</code>&rsquo; as
3747+
an OpenType substitution feature that is applied to rotated horizontal
3748+
text in vertical text runs, to handle these cases.
37293749

3730-
<dd>These characters are sideways (rotated 90&deg; clockwise) in both
3731-
&lsquo;<a href="#mixed-right"><code
3732-
class=css>mixed-right</code></a>&rsquo; and &lsquo;<a
3733-
href="#upright"><code class=css>upright</code></a>&rsquo; text
3734-
orientations.
3750+
<div class=note> This category is expected to include:
3751+
<ul>
3752+
<li>All East Asian fullwidth (F) and wide (W) characters except
3753+
bracketing punctuation (Ps, Pe, Pi, Pf)
37353754

3736-
<dt>non-native (S<sub>h</sub>)
3755+
<li>Other Numbers (No) and Other Symbols (So) not assigned elsewhere
37373756

3738-
<dd>These characters are sideways in &lsquo;<a href="#mixed-right"><code
3739-
class=css>mixed-right</code></a>&rsquo; orientation and upright in
3740-
&lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo;
3741-
orientation.
3757+
<li>All letters (L*), marks (M*), and numbers (N*) belonging to any <a
3758+
href="#script-orientations">vertical scripts</a> other than Mongolian
3759+
or Phags-pa.
3760+
3761+
<li>Wavy dashes that must transform: WAVE DASH (U+301C), WAVY DASH
3762+
(U+3030), FULLWIDTH TILDE (U+FF5E)
3763+
3764+
<li>When using OpenType fonts, all East Asian fullwidth (F) and wide
3765+
(W) bracketing punctuation (Ps, Pe, Pi, Pf). (The UTR&sect;6.1
3766+
tailoring group.) This is due to OpenType fonts commonly having
3767+
vertical alternates and expecting them to be used to "rotate" the
3768+
shape of the bracket.
3769+
3770+
<li>When using OpenType fonts, all East Asian fullwidth (F) and wide
3771+
(W) bracketing punctuation (Ps, Pe, Pi, Pf). (The UTR&sect;6.1
3772+
tailoring group.) This is due to OpenType fonts commonly having
3773+
vertical alternates and expecting them to be used to "rotate" the
3774+
shape of the bracket.
3775+
<ul></ul>
3776+
</ul>
3777+
</div>
37423778

3743-
<dt>brackets (SB)
3779+
<dt id=typeset-quotes>Upright-Transforming (SVO=T &amp; MVO=R)
3780+
3781+
<dd>Like transforms, these characters' gyphs change significantly when
3782+
they are typeset upright, and should have alternate glyphs or
3783+
positioning. In &lsquo;<a href="#upright"><code
3784+
class=css>upright</code></a>&rsquo; mode they are typeset upright,
3785+
(ideally) using alternates; but in &lsquo;<a href="#mixed-right"><code
3786+
class=css>mixed-right</code></a>&rsquo; mode they are typeset sideways.
3787+
(This category mostly includes narrow quotation marks, whose positioning
3788+
needs adjustment to make sense in vertically-stacked typesetting.)
3789+
<div class=note> This category is expected to include:
3790+
<ul>
3791+
<li>SINGLE LOW-9 QUOTATION MARK (U+201A)
37443792

3745-
<dd>These characters are oriented sideways in both &lsquo;<a
3746-
href="#mixed-right"><code class=css>mixed-right</code></a>&rsquo; and
3747-
&lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo; text
3748-
orientations. However, since OpenType fonts that support vertical writing
3749-
store their vertical glyph variants upright, they are usually typeset
3750-
upright with vertical font settings turned on.
3793+
<li>DOUBLE LOW-9 QUOTATION MARK (U+201E)
37513794

3752-
<dt>transforms (T)
3795+
<li>DOUBLE PRIME QUOTATION MARK (U+301E)
37533796

3754-
<dd>These characters' glyphs change significantly between vertical and
3755-
horizontal writing (regardless of typeface style). They are typeset
3756-
upright in both &lsquo;<a href="#mixed-right"><code
3757-
class=css>mixed-right</code></a>&rsquo; and &lsquo;<a
3758-
href="#upright"><code class=css>upright</code></a>&rsquo; text
3759-
orientations, and correct typography requires variant glyphs.
3760-
<p class=note>Differences in glyph shape, such as variant brush strokes
3761-
and alignment, that are not fundamental to the character's form, are the
3762-
responsibility of the font system.
3797+
<li>LOW DOUBLE PRIME QUOTATION MARK (U+301F)
37633798

3764-
<p class=issue>Propose &lsquo;<code class=property>svrt</code>&rsquo; as
3765-
an OpenType substitution feature that is applied to rotated horizontal
3766-
text in vertical text runs, to handle these cases.
3767-
</dl>
3799+
<li>LEFT SINGLE QUOTATION MARK (U+2018)
37683800

3769-
<p class=issue>Where do characters that vary depending on typographic
3770-
tradition fit? E.g. fullwidth colon.
3801+
<li>SINGLE HIGH-REVERSED-9 QUOTATION MARK (U+201B)
37713802

3772-
<p>The S<sub>v</sub> and S<sub>h</sub> categories together make up the S
3773-
category in the UTR50 draft at the time of writing; they are split apart
3774-
because of the difference in &lsquo;<a href="#upright"><code
3775-
class=css>upright</code></a>&rsquo; typesetting.
3803+
<li>LEFT DOUBLE QUOTATION MARK (U+201C)
37763804

3777-
<p>The S<sub>v</sub> subcategory consists of the characters in the S
3778-
category that are:
3805+
<li>DOUBLE HIGH-REVERSED-9 QUOTATION MARK (U+201F)
37793806

3780-
<ul>
3781-
<li>characters belonging to a rotating vertical script (e.g. Mongolian)
3807+
<li>RIGHT SINGLE QUOTATION MARK (U+2019)
37823808

3783-
<li>spaces (Zs), connectors (Pc), dashes (Pd) or bracketing punctuation
3784-
(Ps, Pe, Pi, Pf) <!-- fullwidth hyphen-minus need to be upright -->
3809+
<li>RIGHT DOUBLE QUOTATION MARK (U+201D)
37853810

3786-
<li>All characters from the <abbr title="U+2500–U+257F">Box
3787-
Drawing</abbr> and <abbr title="U+2580–U+259F">Block Elements</abbr>
3788-
blocks
3789-
</ul>
3811+
<li>QUOTATION MARK (U+0022)
37903812

3791-
<p>All other S characters are considered S<sub>h</sub>.
3813+
<li>APOSTROPHE (U+0027)
37923814

3793-
<p class=note>Note that for vertical-only scripts (Mongolian, Phags Pa),
3794-
the glyphs in the Unicode code charts are shown in their vertical
3795-
orientation. In horizontal text, they are typeset in a 90&deg;
3796-
counter-clockwise rotation from this orientation.
3815+
<li>COMMA (U+002C)
37973816

3798-
<div class=note> The expected categorization of Unicode characters is given
3799-
below. This is expected to merge with <a href="#UTR50"
3800-
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>. In any cases where they
3801-
differ, further investigation is needed.
3802-
<dl>
3803-
<dt>brackets (SB)
3817+
<li>FULL STOP (U+002E)
3818+
</ul>
3819+
</div>
38043820

3805-
<dd>All East Asian fullwidth (F) and wide (W) bracketing punctuation (Ps,
3806-
Pe, Pi, Pf)
3821+
<dt id=typeset-sideways>Sideways (SVO=R &amp; MVO=R)
38073822

3808-
<dt>sideways (S)
3823+
<dd>These characters are sideways (rotated 90&deg; clockwise) in both
3824+
&lsquo;<a href="#mixed-right"><code
3825+
class=css>mixed-right</code></a>&rsquo; and &lsquo;<a
3826+
href="#upright"><code class=css>upright</code></a>&rsquo; text
3827+
orientations.
3828+
<div class=note> This category is expected to include:
3829+
<ul>
3830+
<li>Mongolian and Phags-pa, because typesetting them sideways (rotated
3831+
90&deg; from the horizontal) is what would result in the correct
3832+
upright representation. (They could be typeset instead as transforms,
3833+
<em>if</em> the appropriate alternate glyphs were available. But they
3834+
<em>must not</em> be typeset by setting their horizontal-mode glyphs
3835+
upright.)
3836+
3837+
<li>All bracketing punctuation (Ps, Pe, Pi, Pf) that is not categorized
3838+
above as either <i>Transforming</i> or <i>Upright-Transforming</i>.
38093839

3810-
<dd>
3840+
<li>All characters from the <abbr title="U+2500–U+257F">Box
3841+
Drawing</abbr> and <abbr title="U+2580–U+259F">Block Elements</abbr>
3842+
blocks
3843+
3844+
<li>spaces (Zs) (with some potential exceptions, see <a
3845+
href="http://wiki.csswg.org/spec/utr50/punctuation">wiki</a>)
3846+
3847+
<li>Dashes (Pd) except those that must transform (i.e. U+301C, U+3030,
3848+
U+FF5E) or are East Asian Wide (i.e. U+F363, U+FF0D)
3849+
3850+
<li>UNDERTIE (U+203F), CHARACTER TIE (U+2040) and INVERTED UNDERTIE
3851+
(U+2054)
3852+
</ul>
3853+
</div>
3854+
3855+
<dt id=typeset-horiz>Non-Vertical (SVO=U &amp; MVO=R)
3856+
3857+
<dd>These characters are sideways in &lsquo;<a href="#mixed-right"><code
3858+
class=css>mixed-right</code></a>&rsquo; orientation and upright in
3859+
&lsquo;<a href="#upright"><code class=css>upright</code></a>&rsquo;
3860+
orientation.
3861+
<div class=note> This category is expected to include:
38113862
<ul>
3863+
<li>Characters belonging to any <a
3864+
href="#script-orientations">horizontal-only scripts</a>.
3865+
3866+
<li>connectors (Pc) other than those listed as <a
3867+
href="#typeset-sideways"><i>Sideways</i></a>
3868+
38123869
<li>Currency Symbols (Sc), Math Symbols (Sm), and Modifier Symbols (Sk)
38133870

38143871

3815-
<li>Dashes (Pd) except fullwidth hyphen-minus
3816-
38173872
<li>East Asian Halfwidth (H) characters
38183873

38193874
<li><abbr
38203875
title="U+00B2, U+00B3, U+00B9, U+20070, U+2074–U+2079">Superscripts</abbr>,
3821-
<abbr title="U+2080–U+2089">subscripts</abbr>, and non-Indic <abbr
3876+
<abbr title="U+2080–U+2089">subscripts</abbr>, and <abbr
38223877
title="U+00BC–U+00BE, U+2150–U+215F, U+2189">fractions</abbr> from
3823-
the Other Number (No) category.
3824-
3825-
<li><abbr title="U+10107–U+10133">Aegean numbers</abbr> and <abbr
3826-
title="U+A830–U+A835">North Indic fractions</abbr> from the Other
3827-
Number (No) category. (This exception will be removed once
3828-
ScriptExtensions.txt is updated; it's an error in Unicode.)
3829-
3830-
<li>All characters from the <abbr title="U+2500–U+257F">Box
3831-
Drawing</abbr> and <abbr title="U+2580–U+259F">Block Elements</abbr>
3832-
blocks
3878+
the Other Number (No) category that belong to the Common script.
38333879

38343880
<li>All directional arrows: the <abbr
38353881
title="U+2190–U+21FF">Arrows</abbr> block, the <abbr
@@ -3840,35 +3886,22 @@ <h2 class=no-num id=vertical-typesetting-details>Appendix C: Vertical
38403886
title="U+2794–U+27BE">Dingbat arrows</abbr> from the Dingbats block
38413887

38423888
<li>Other Symbols (So) from the Latin-1 Supplement and Letterlike
3843-
Symbols blocks.
3844-
3845-
<li>Other Symbols (So) from the Aegean Numbers, Ancient Symbols, Common
3846-
Indic Number Forms blocks
3847-
3848-
<li>Characters belonging to any <a
3849-
href="#script-orientations">horizontal-only or rotating vertical
3850-
scripts</a>.
3889+
Symbols blocks. <!--
3890+
<li>Other Symbols (So) from the
3891+
Ancient Symbols blocks
3892+
????
3893+
-->
3894+
38513895
</ul>
3896+
</div>
3897+
</dl>
38523898

3853-
<dt>upright (U)
3854-
3855-
<dd>
3856-
<ul>
3857-
<li>All East Asian fullwidth (F) and wide (W) characters except those
3858-
assigned to SB
3859-
3860-
<li>Other Numbers (No) and Other Symbols (So) except those assigned to
3861-
S
3862-
3863-
<li>All letters (L*), marks (M*), and numbers (N*) belonging to any <a
3864-
href="#script-orientations">translating vertical scripts</a>.
3865-
</ul>
3866-
</dl>
3899+
<p class=issue>Where do characters that vary depending on typographic
3900+
tradition fit? E.g. fullwidth colon.
38673901

3868-
<p class=issue>Problematic characters: Other Punctuation (Po) with an East
3869-
Asian Width width of ambiguous (A), quotation marks, see also <a
3870-
href="http://wiki.csswg.org/spec/utr50">list on wiki</a>
3871-
</div>
3902+
<p class=issue>Problematic characters: Other Punctuation (Po) with an East
3903+
Asian Width width of ambiguous (A), quotation marks... See <a
3904+
href="http://wiki.csswg.org/spec/utr50">lists on wiki</a>.
38723905

38733906
<h2 class=no-num id=intrinsic-sizing>Appendix D: Intrinsic Dimensions</h2>
38743907

0 commit comments

Comments
 (0)