Skip to content

Commit c0c8c0f

Browse files
committed
[css3-writing-modes] Align definition of 'upright' with San Diego f2f resolutions. Keep some informative text about caveats like Mongolian.
1 parent d405c05 commit c0c8c0f

2 files changed

Lines changed: 81 additions & 42 deletions

File tree

css3-writing-modes/Overview.html

Lines changed: 50 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1968,43 +1968,64 @@ <h4 id=vertical-orientations><span class=secno>5.1.1. </span> Vertical
19681968
<h4 id=vertical-font-features><span class=secno>5.1.2. </span> Vertical
19691969
Typesetting and Font Features</h4>
19701970

1971-
<p>When typesetting text in vertical writing modes (<a
1972-
href="#mixed-right"><code class=css>mixed-right</code></a>’ and ‘<a
1973-
href="#upright"><code class=css>upright</code></a>):
1971+
<p>When typesetting text in ‘<a href="#mixed-right"><code
1972+
class=css>mixed-right</code></a>’ and ‘<a href="#upright"><code
1973+
class=css>upright</code></a> orientations:
19741974

1975-
<ul>
1976-
<li>Upright characters are typeset with vertical font metrics. The UA must
1977-
synthesize vertical font metrics for fonts that lack them. (This
1978-
specification does not define heuristics for synthesizing such metrics.)
1979-
Additionally, font features (such as alternate glyphs) intended for use
1980-
in vertical typesetting must be used. (E.g. the OpenType ‘<code
1975+
<dl>
1976+
<dt>upright characters
1977+
1978+
<dd> Are typeset with vertical font metrics. The UA must synthesize
1979+
vertical font metrics for fonts that lack them. (This specification does
1980+
not define heuristics for synthesizing such metrics.) Additionally, font
1981+
features (such as alternate glyphs) intended for use in vertical
1982+
typesetting must be used. (E.g. the OpenType ‘<code
19811983
class=css>vert</code>’ feature must be enabled.) Furthermore,
19821984
characters from horizontal cursive scripts (such as Arabic) are shaped in
19831985
their isolated forms when typeset upright.
1984-
<p> The one exception is for <a href="#character"><i>characters</i></a>
1985-
from the Mongolian and Phags-pa scripts, which in OpenType systems must
1986-
always be rendered sideways (see below). This is because the "upright"
1987-
orientation in the Unicode code charts and the "upright" orientation of
1988-
the glyphs of these scripts in most OpenType fonts don't match.
1989-
1990-
<li>Sideways characters are typeset with horizontal metrics, and vertical
1991-
typesetting features are not used. However, if the font has features
1992-
meant to be enabled for sideways text that is typeset in vertical lines
1993-
(e.g. to adjust brush stroke angles or alignment), those features are
1994-
used.
1995-
<p class=issue>Propose ‘<code class=property>svrt</code>’ as an
1996-
OpenType substitution feature that is applied to rotated horizontal text
1997-
in vertical text runs, to handle these cases.
1998-
</ul>
1986+
<p class=note> Note that in OpenType systems, <a
1987+
href="#character"><i>characters</i></a> from the Mongolian and Phags-pa
1988+
scripts must actually be rendered <a
1989+
href="#typeset-sideways">sideways</a>. This is because the "upright"
1990+
orientation in the Unicode code charts (which assume vertical
1991+
typesetting) and the "upright" orientation of the glyphs of these
1992+
scripts in most OpenType fonts (which assume horizontal typesetting)
1993+
don't match.
1994+
1995+
<p class=note>Note that even when typeset "upright", some glyphs should
1996+
appear rotated. For example, dashes and enclosing punctuation (such as
1997+
〈 LEFT ANGLE BRACKET U+3008) should be oriented relative to the inline
1998+
axis. In OpenType, this is typically handled by glyph substitution,
1999+
although not all fonts have alternate glyphs for all relevant
2000+
codepoints. (East Asian fonts usually provide alternates for East Asian
2001+
codepoints, but Western fonts typically lack any vertical typesetting
2002+
features.) Unicode published draft data on which <a
2003+
href="#character"><i>characters</i></a> should appear sideways as the
2004+
SVO property in <a
2005+
href="http://www.unicode.org/reports/tr50/tr50-6.Orientation.txt">this
2006+
data file</a>; however, this property has been abandoned for future
2007+
revisions of <a href="#UTR50"
2008+
rel=biblioentry>[UTR50]<!--{{!UTR50}}--></a>.
2009+
2010+
<dt id=typeset-sideways>sideways characters
2011+
2012+
<dd> Are typeset with horizontal metrics, and vertical typesetting
2013+
features are not used. However, if the font has features meant to be
2014+
enabled for sideways text that is typeset in vertical lines (e.g. to
2015+
adjust brush stroke angles or alignment), those features are used.
2016+
<!--<p class="issue">Propose 'svrt' as an OpenType substitution feature
2017+
that is applied to rotated horizontal text in vertical text runs,
2018+
to handle these cases.-->
2019+
</dl>
19992020

20002021
<p> All text in ‘<a href="#sideways"><code
20012022
class=css>sideways</code></a>’, ‘<a href="#sideways-right"><code
20022023
class=css>sideways-right</code></a>’, and ‘<a
2003-
href="#sideways-left"><code class=css>sideways-left</code></a> modes is
2004-
typeset using horizontal font metrics and the normal set of features used
2005-
for horizontal text runs. Vertical metrics, vertical glyph variations, and
2006-
any other features meant for text typeset in vertical lines are
2007-
<em>not</em> used.
2024+
href="#sideways-left"><code class=css>sideways-left</code></a>
2025+
orientations is typeset using horizontal font metrics and the normal set
2026+
of features used for horizontal text runs. Vertical metrics, vertical
2027+
glyph variations, and any other features meant for text typeset in
2028+
vertical lines are <em>not</em> used.
20082029

20092030
<p class=issue>This section needs additional work. Suggestions are welcome.
20102031
<!-- random notes

css3-writing-modes/Overview.src.html

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,36 +1371,54 @@ <h4 id='vertical-orientations'>
13711371
<h4 id='vertical-font-features'>
13721372
Vertical Typesetting and Font Features</h4>
13731373

1374-
<p>When typesetting text in vertical writing modes (''mixed-right'' and ''upright''):
1374+
<p>When typesetting text in ''mixed-right'' and ''upright'' orientations:
13751375

1376-
<ul>
1377-
<li>Upright characters are typeset with vertical font metrics.
1376+
<dl>
1377+
<dt>upright characters
1378+
<dd>
1379+
Are typeset with vertical font metrics.
13781380
The UA must synthesize vertical font metrics for fonts that lack them.
13791381
(This specification does not define heuristics for synthesizing such metrics.)
13801382
Additionally, font features (such as alternate glyphs) intended
13811383
for use in vertical typesetting must be used.
13821384
(E.g. the OpenType ''vert'' feature must be enabled.)
13831385
Furthermore, characters from horizontal cursive scripts (such as Arabic)
13841386
are shaped in their isolated forms when typeset upright.
1385-
<p>
1386-
The one exception is for <i>characters</i> from the Mongolian and Phags-pa scripts,
1387-
which in OpenType systems must always be rendered sideways (see below).
1388-
This is because the "upright" orientation in the Unicode code charts
1389-
and the "upright" orientation of the glyphs of these scripts in most OpenType fonts
1387+
<p class="note">
1388+
Note that in OpenType systems,
1389+
<i>characters</i> from the Mongolian and Phags-pa scripts
1390+
must actually be rendered <a href="#typeset-sideways">sideways</a>.
1391+
This is because the "upright" orientation in the Unicode code charts (which assume vertical typesetting)
1392+
and the "upright" orientation of the glyphs of these scripts in most OpenType fonts (which assume horizontal typesetting)
13901393
don't match.
1391-
<li>Sideways characters are typeset with horizontal metrics,
1394+
<p class="note">Note that even when typeset "upright",
1395+
some glyphs should appear rotated.
1396+
For example, dashes and enclosing punctuation
1397+
(such as 〈 LEFT ANGLE BRACKET U+3008)
1398+
should be oriented relative to the inline axis.
1399+
In OpenType, this is typically handled by glyph substitution,
1400+
although not all fonts have alternate glyphs for all relevant codepoints.
1401+
(East Asian fonts usually provide alternates for East Asian codepoints,
1402+
but Western fonts typically lack any vertical typesetting features.)
1403+
Unicode published draft data on which <i>characters</i> should appear sideways
1404+
as the SVO property in <a href="http://www.unicode.org/reports/tr50/tr50-6.Orientation.txt">this data file</a>;
1405+
however, this property has been abandoned for future revisions of [[!UTR50]].
1406+
1407+
<dt id='typeset-sideways'>sideways characters
1408+
<dd>
1409+
Are typeset with horizontal metrics,
13921410
and vertical typesetting features are not used.
13931411
However, if the font has features meant to be enabled
13941412
for sideways text that is typeset in vertical lines
13951413
(e.g. to adjust brush stroke angles or alignment),
13961414
those features are used.
1397-
<p class="issue">Propose 'svrt' as an OpenType substitution feature
1415+
<!--<p class="issue">Propose 'svrt' as an OpenType substitution feature
13981416
that is applied to rotated horizontal text in vertical text runs,
1399-
to handle these cases.
1400-
</ul>
1417+
to handle these cases.-->
1418+
</dl>
14011419

14021420
<p>
1403-
All text in ''sideways'', ''sideways-right'', and ''sideways-left'' modes is
1421+
All text in ''sideways'', ''sideways-right'', and ''sideways-left'' orientations is
14041422
typeset using horizontal font metrics and the normal set of features
14051423
used for horizontal text runs.
14061424
Vertical metrics, vertical glyph variations, and any other features meant

0 commit comments

Comments
 (0)