No subject
Wed Jan 29 08:39:57 CET 2020
mailing list. He wrote:
> OpenType spec just says "Users can switch between the lining and
> oldstyle sets by turning this feature on or off."
>
> I think that may be a bug in the spec, if a designer uses old-style
> figures as the default glyphs for numerals then the statement above
> will be incorrect.
He is of course correct. Further, the default figures in a typeface
may be neither lining nor oldstyle, but in between or something else!
To allow for default figures that are non-lining, or even neither
lining nor oldstyle, I have made a more formal proposal out of my
response.
Currently the 'lnum' and 'onum' feature tags in 6.4.3.2 "Feature
descriptions and implementations," include the following language
(assuming they are the same as the current OT spec).
LNUM
Function: This feature changes selected figures from oldstyle to the
default lining form.
Example: The user invokes this feature in order to get lining figures,
which fit better with all-capital text. Various characters designed to
be used with figures may also be covered by this feature. In cases
where lining figures are the default form, this feature would undo
previous substitutions.
Recommended implementation: The lnum table maps each oldstyle figure,
and any associated characters to the corresponding lining form (GSUB
lookup type 1).
Application interface: For GIDs found in the lnum coverage table, the
application passes a GID to the onum table and gets back a new GID.
Even if the current figures resulted from an earlier substitution, it
may not be correct to simply revert to the original GIDs, because of
interaction with the figure width features, so it's best to use this
table.
UI suggestion: This feature should be inactive by default. Users can
switch between the lining and oldstyle sets by turning this feature on
or off. Note that this feature is distinct from the figure width
features (pnum and tnum). When the user invokes this feature, the
application may wish to inquire whether a change in width is also
desired.
ONUM
Function: This feature changes selected figures from the default
lining style to oldstyle form.
Example: The user invokes this feature to get oldstyle figures, which
fit better into the flow of normal upper- and lowercase text. Various
characters designed to be used with figures may also have oldstyle
versions.
Recommended implementation: The onum table maps each lining figure,
and any associated characters, to the corresponding oldstyle form
(GSUB lookup type 1).
Application interface: For GIDs found in the onum coverage table, the
application passes a GID to the onum table and gets back a new GID.
UI suggestion: Users can switch between the lining and oldstyle sets
by turning this feature on or off. Note: This feature is separate from
the figure-width features pnum and tnum. When the user changes figure
style, the application may want to query whether a change in width is
also desired.
Script/language sensitivity: None.
Feature interaction: This feature overrides the results of the Lining
Figures feature (lnum).
I hereby propose those sections of these two feature descriptions be
replaced as follows. (Note that this also corrects a typo in the
"lnum" application interface description, where onum was incorrectly
referenced. Note also that there are parts both before and after the
blocks I am amending, which can remain untouched.)
LNUM
Function: This feature changes selected non-lining figures to lining figure=
s.
Example: The user invokes this feature in order to get lining figures,
which fit better with all-capital text. Various characters designed to
be used with figures may also be covered by this feature. In cases
where lining figures are the default form, this feature would undo
previous substitutions.
Recommended implementation: The lnum table maps each oldstyle figure,
and any associated characters to the corresponding lining form (GSUB
lookup type 1). If the default figures are non-lining, they too are
mapped to the corresponding lining form.
Application interface: For GIDs found in the lnum coverage table, the
application passes a GID to the lnum table and gets back a new GID.
Even if the current figures resulted from an earlier substitution, it
may not be correct to simply revert to the original GIDs, because of
interaction with the figure width features, so it's best to use this
table.
UI suggestion: This feature should be inactive by default. Users can
switch between the default and lining figure sets by turning this
feature on or off. Note that this feature is distinct from the figure
width features (pnum and tnum). When the user invokes this feature,
the application may wish to inquire whether a change in width is also
desired.
ONUM
Function: This feature changes selected figures from the default or
lining style to oldstyle form.
Example: The user invokes this feature to get oldstyle figures, which
fit better into the flow of normal upper- and lowercase text. Various
characters designed to be used with figures may also have oldstyle
versions.
Recommended implementation: The onum table maps each lining figure,
and any associated characters, to the corresponding oldstyle form
(GSUB lookup type 1). If the default figures are non-lining, they too
are mapped to the corresponding oldstyle form.
Application interface: For GIDs found in the onum coverage table, the
application passes a GID to the onum table and gets back a new GID.
UI suggestion: Users can switch between the default and oldstyle
figure sets by turning this feature on or off. Note: This feature is
separate from the figure-width features pnum and tnum. When the user
changes figure style, the application may want to query whether a
change in width is also desired.
--_000_7534F85A589E654EB1E44E5CFDC19E3D01E9F8A8A1wobemail01agf_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#1E66AE;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#1E66AE;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
p.attach, li.attach, div.attach
{mso-style-name:attach;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:9.0pt;
font-family:"Arial","sans-serif";}
p.bold, li.bold, div.bold
{mso-style-name:bold;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:10.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.green, li.green, div.green
{mso-style-name:green;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:#628C2A;}
p.replbq, li.replbq, div.replbq
{mso-style-name:replbq;
margin:3.0pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ad, li.ad, div.ad
{mso-style-name:ad;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.underline, li.underline, div.underline
{mso-style-name:underline;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.yshortcuts
{mso-style-name:yshortcuts;}
p.ad1, li.ad1, div.ad1
{mso-style-name:ad1;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.ad2, li.ad2, div.ad2
{mso-style-name:ad2;
mso-margin-top-alt:auto;
margin-right:0in;
margin-bottom:7.5pt;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.underline1, li.underline1, div.underline1
{mso-style-name:underline1;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";
text-decoration:underline;}
span.yshortcuts1
{mso-style-name:yshortcuts1;
font-family:"Verdana","sans-serif";
font-weight:bold;}
span.yshortcuts2
{mso-style-name:yshortcuts2;
font-family:"Verdana","sans-serif";
font-weight:normal;}
span.EmailStyle34
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:1994333229;
mso-list-template-ids:1398323176;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=3Dwhite lang=3DEN-US link=3D"#1E66AE" vlink=3D"#1E66AE">
<div class=3DSection1>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Thank you, Thomas.<o:p></o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>All, I would like to ask you to review this proposal and see=
if
this is something we can reach a consensus on. We do have few more days for
ballot comments to be submitted (until March 30), and we can make this prop=
osal
a part of the ballot comments to be included in the current draft corrigend=
um.<o:p></o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>On the subject of the proposed amended text – I also
noticed that the UI suggestion section for ‘lnum’ feature
recommends that “</span>This feature should be inactive by default.<s=
pan
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>”
while the UI suggestion for ‘onum’ is silent about feature defa=
ult
state. Should we also include the recommendation that the ‘onum’=
;
feature should be inactive by default? This question about unidentified def=
ault
state was also asked on the W3C CSS mailing list.<o:p></o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Thank you,<o:p></o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Vladimir<o:p></o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt'>
<div>
<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>
<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
mpeg-OTspec at yahoogroups.com [mailto:mpeg-OTspec at yahoogroups.com] <b>On Beha=
lf
Of </b>Thomas Phinney<br>
<b>Sent:</b> Friday, March 26, 2010 4:50 PM<br>
<b>To:</b> mpeg-OTspec at yahoogroups.com<br>
<b>Subject:</b> [mpeg-OTspec] Suggestion for minor correction on figure sty=
les<o:p></o:p></span></p>
</div>
</div>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal> <o:p></o:p></p>
<div id=3Dygrp-mlmsg>
<div id=3Dygrp-msg>
<div id=3Dygrp-text>
<p>From a conversation between me and John Daggett of Mozilla, on a CSS<br>
mailing list. He wrote:<br>
<br>
> OpenType spec just says "Users can switch between the lining and<=
br>
> oldstyle sets by turning this feature on or off."<br>
><br>
> I think that may be a bug in the spec, if a designer uses old-style<br=
>
> figures as the default glyphs for numerals then the statement above<br=
>
> will be incorrect.<br>
<br>
He is of course correct. Further, the default figures in a typeface<br>
may be neither lining nor oldstyle, but in between or something else!<br>
To allow for default figures that are non-lining, or even neither<br>
lining nor oldstyle, I have made a more formal proposal out of my<br>
response.<br>
<br>
Currently the 'lnum' and 'onum' feature tags in 6.4.3.2 "Feature<br>
descriptions and implementations," include the following language<br>
(assuming they are the same as the current OT spec).<br>
<br>
LNUM<br>
<br>
Function: This feature changes selected figures from oldstyle to the<br>
default lining form.<br>
Example: The user invokes this feature in order to get lining figures,<br>
which fit better with all-capital text. Various characters designed to<br>
be used with figures may also be covered by this feature. In cases<br>
where lining figures are the default form, this feature would undo<br>
previous substitutions.<br>
Recommended implementation: The lnum table maps each oldstyle figure,<br>
and any associated characters to the corresponding lining form (GSUB<br>
lookup type 1).<br>
Application interface: For GIDs found in the lnum coverage table, the<br>
application passes a GID to the onum table and gets back a new GID.<br>
Even if the current figures resulted from an earlier substitution, it<br>
may not be correct to simply revert to the original GIDs, because of<br>
interaction with the figure width features, so it's best to use this<br>
table.<br>
UI suggestion: This feature should be inactive by default. Users can<br>
switch between the lining and oldstyle sets by turning this feature on<br>
or off. Note that this feature is distinct from the figure width<br>
features (pnum and tnum). When the user invokes this feature, the<br>
application may wish to inquire whether a change in width is also<br>
desired.<br>
<br>
ONUM<br>
<br>
Function: This feature changes selected figures from the default<br>
lining style to oldstyle form.<br>
Example: The user invokes this feature to get oldstyle figures, which<br>
fit better into the flow of normal upper- and lowercase text. Various<br>
characters designed to be used with figures may also have oldstyle<br>
versions.<br>
Recommended implementation: The onum table maps each lining figure,<br>
and any associated characters, to the corresponding oldstyle form<br>
(GSUB lookup type 1).<br>
Application interface: For GIDs found in the onum coverage table, the<br>
application passes a GID to the onum table and gets back a new GID.<br>
UI suggestion: Users can switch between the lining and oldstyle sets<br>
by turning this feature on or off. Note: This feature is separate from<br>
the figure-width features pnum and tnum. When the user changes figure<br>
style, the application may want to query whether a change in width is<br>
also desired.<br>
Script/language sensitivity: None.<br>
Feature interaction: This feature overrides the results of the Lining<br>
Figures feature (lnum).<br>
<br>
I hereby propose those sections of these two feature descriptions be<br>
replaced as follows. (Note that this also corrects a typo in the<br>
"lnum" application interface description, where onum was incorrec=
tly<br>
referenced. Note also that there are parts both before and after the<br>
blocks I am amending, which can remain untouched.)<br>
<br>
LNUM<br>
<br>
Function: This feature changes selected non-lining figures to lining figure=
s.<br>
Example: The user invokes this feature in order to get lining figures,<br>
which fit better with all-capital text. Various characters designed to<br>
be used with figures may also be covered by this feature. In cases<br>
where lining figures are the default form, this feature would undo<br>
previous substitutions.<br>
Recommended implementation: The lnum table maps each oldstyle figure,<br>
and any associated characters to the corresponding lining form (GSUB<br>
lookup type 1). If the default figures are non-lining, they too are<br>
mapped to the corresponding lining form.<br>
Application interface: For GIDs found in the lnum coverage table, the<br>
application passes a GID to the lnum table and gets back a new GID.<br>
Even if the current figures resulted from an earlier substitution, it<br>
may not be correct to simply revert to the original GIDs, because of<br>
interaction with the figure width features, so it's best to use this<br>
table.<br>
UI suggestion: This feature should be inactive by default. Users can<br>
switch between the default and lining figure sets by turning this<br>
feature on or off. Note that this feature is distinct from the figure<br>
width features (pnum and tnum). When the user invokes this feature,<br>
the application may wish to inquire whether a change in width is also<br>
desired.<br>
<br>
ONUM<br>
<br>
Function: This feature changes selected figures from the default or<br>
lining style to oldstyle form.<br>
Example: The user invokes this feature to get oldstyle figures, which<br>
fit better into the flow of normal upper- and lowercase text. Various<br>
characters designed to be used with figures may also have oldstyle<br>
versions.<br>
Recommended implementation: The onum table maps each lining figure,<br>
and any associated characters, to the corresponding oldstyle form<br>
(GSUB lookup type 1). If the default figures are non-lining, they too<br>
are mapped to the corresponding oldstyle form.<br>
Application interface: For GIDs found in the onum coverage table, the<br>
application passes a GID to the onum table and gets back a new GID.<br>
UI suggestion: Users can switch between the default and oldstyle<br>
figure sets by turning this feature on or off. Note: This feature is<br>
separate from the figure-width features pnum and tnum. When the user<br>
changes figure style, the application may want to query whether a<br>
change in width is also desired.<o:p></o:p></p>
</div>
<div>
<p class=3DMsoNormal><span style=3D'color:white'><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>
--_000_7534F85A589E654EB1E44E5CFDC19E3D01E9F8A8A1wobemail01agf_--
More information about the mpeg-otspec
mailing list