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.




--
"The rat's perturbed; it must sense nanobots! Code grey! We have a Helvetic=
a scenario!" - http://xkcd.com/683/

--_000_7534F85A589E654EB1E44E5CFDC19E3D01E9F8A8ACwobemail01agf_
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)">
<style>
<!--
 /* Font Definitions */
 @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;}
 /* 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:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	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";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</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 lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Just to clarify things – the suggested changes in any =
way
affect feature functionality or layout engine behavior – they are eit=
her
bug fixes or simply additional language intended to clarify things. <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'>This is why I do not consider them an amendment in a true IS=
O
sense of the word, and they can be implemented by corrigendum (which is goo=
d
for us because we have one under ballot right now, and it’s not too l=
ate
to make a comment if we believe the bug fix is necessary).<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'>Regards,<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Vlad<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"'>
thomas.phinney at gmail.com [mailto:thomas.phinney at gmail.com] <b>On Behalf Of =
</b>Thomas
Phinney<br>
<b>Sent:</b> Friday, March 26, 2010 5:08 PM<br>
<b>To:</b> Levantovsky, Vladimir<br>
<b>Cc:</b> mpeg-OTspec at yahoogroups.com<br>
<b>Subject:</b> Re: [mpeg-OTspec] Suggestion for minor correction on figure
styles<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Yes, that is a good additional amendment, IMO.<o:p></o=
:p></p>

<div>

<p class=3DMsoNormal><o:p> </o:p></p>

</div>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>T<o:p></o:p></p>

<div>

<p class=3DMsoNormal>On Fri, Mar 26, 2010 at 2:01 PM, Levantovsky, Vladimir=
 <<a
href=3D"mailto:Vladimir.Levantovsky at monotypeimaging.com">Vladimir.Levantovs=
ky at monotypeimaging.com</a>>
wrote:<o:p></o:p></p>

<div>

<div>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'>Thank you, Thomas.</span><o:p></o:=
p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'>All, I would like to ask you to re=
view
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), an=
d we
can make this proposal a part of the ballot comments to be included in the
current draft corrigendum.</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'>On the subject of the proposed ame=
nded
text – I also noticed that the UI suggestion section for
‘lnum’ feature recommends that “</span>This feature shoul=
d be
inactive by default.<span style=3D'font-size:11.0pt;color:#1F497D'>” =
while
the UI suggestion for ‘onum’ is silent about feature default st=
ate.
Should we also include the recommendation that the ‘onum’ featu=
re
should be inactive by default? This question about unidentified default sta=
te
was also asked on the W3C CSS mailing list.</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'>Thank you,</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'>Vladimir</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></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 style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><b><span
style=3D'font-size:10.0pt'>From:</span></b><span style=3D'font-size:10.0pt'=
> <a
href=3D"mailto:mpeg-OTspec at yahoogroups.com" target=3D"_blank">mpeg-OTspec at y=
ahoogroups.com</a>
[mailto:<a href=3D"mailto:mpeg-OTspec at yahoogroups.com" target=3D"_blank">mp=
eg-OTspec at yahoogroups.com</a>]
<b>On Behalf Of </b>Thomas Phinney<br>
<b>Sent:</b> Friday, March 26, 2010 4:50 PM<br>
<b>To:</b> <a href=3D"mailto:mpeg-OTspec at yahoogroups.com" target=3D"_blank"=
>mpeg-OTspec at yahoogroups.com</a><br>
<b>Subject:</b> [mpeg-OTspec] Suggestion for minor correction on figure sty=
les</span><o:p></o:p></p>

</div>

</div>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'> <o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'> 
<o:p></o:p></p>

<div>

<div>

<div>

<div>

<div>

<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>

</div>

<div>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><span
style=3D'color:white'></span><o:p></o:p></p>

</div>

</div>

</div>

</div>

</div>

<p class=3DMsoNormal><br>
<br clear=3Dall>
<br>
-- <br>
"The rat's perturbed; it must sense nanobots! Code grey! We have a
Helvetica scenario!" — <a href=3D"http://xkcd.com/683/">http://x=
kcd.com/683/</a><o:p></o:p></p>

</div>

</div>

</div>

</body>

</html>

--_000_7534F85A589E654EB1E44E5CFDC19E3D01E9F8A8ACwobemail01agf_--



More information about the mpeg-otspec mailing list