<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (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:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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: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: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";}
p.imprintuniqueid, li.imprintuniqueid, div.imprintuniqueid
        {mso-style-name:imprintuniqueid;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.ygrp-photo-title, li.ygrp-photo-title, div.ygrp-photo-title
        {mso-style-name:ygrp-photo-title;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        text-align:center;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1021784090;
        mso-list-template-ids:719109520;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Dear all,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I am preparing the input contribution to the next MPEG meeting (held Feb. 22-26) where I will summarize all the proposed amendments including updates to “Feature
 descriptions” suggested by John Hudson and Ken Lunde, and clarifications and corrections suggested by Sairus in his email below. Among the suggested changes – there were two options proposed for AHG consideration on how to overcome issues 2 and 3 identified
 in the email. I’d appreciate your input on what the preferred solution (either defining a new version of the OS/2 table with the additional “usTypoWeightClass” field or using a new flag in the unused portion of the “fsSelection” field, as outlined below) should
 be.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I plan to finalize the draft input contribution for your review today, and would appreciate you input on this matter. Sairus, if you have any additional information
 (or your personal preferences) that you would like to communicate to the group, please do so.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thank you very much,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Vladimir<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> mpeg-OTspec@yahoogroups.com [mailto:mpeg-OTspec@yahoogroups.com]
<b>On Behalf Of </b>Sairus Patel sppatel@adobe.com [mpeg-OTspec]<br>
<b>Sent:</b> Thursday, November 19, 2015 8:33 PM<br>
<b>To:</b> mpeg-OTspec@yahoogroups.com; opentype-list@indx.co.uk<br>
<b>Subject:</b> [mpeg-OTspec] Proposals for usWeightClass | usTypoWeightClass<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid white 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">There are several aspects of OS/2.usWeightClass
<a href="http://www.microsoft.com/typography/otspec/os2.htm#wtc"><span style="color:#042EEE">http://www.microsoft.com/typography/otspec/os2.htm#wtc</span></a> that have been problematic for many years now:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">1. Granularity: Only 9 values are listed (though other values aren’t explicitly prohibited). A finer granularity is desired in order to
 express the full richness of typographic weight variance. Note that the CSS4 draft
<a href="https://drafts.csswg.org/css-fonts-4/">https://drafts.csswg.org/css-fonts-4/</a> allows font-weight values in the range [1..999].<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">2. “GDI skewing”: Values < 250 are sometimes set to 250 by the font designer to avoid GDI synthetic emboldening. Other issues with weight
 class on the upper limit and with style linking may be involved as well. See <a href="https://rawgit.com/adobe-type-tools/afdko/master/FDK/Technical%20Documentation/WinWeights.html">
<span style="color:#042EEE">https://rawgit.com/adobe-type-tools/afdko/master/FDK/Technical%20Documentation/WinWeights.html</span></a>, which may be a bit dated, but much is still valid. Also see John Daggett’s post: <a href="https://lists.w3.org/Archives/Public/www-style/2015Jan/0076.html"><span style="color:#042EEE">https://lists.w3.org/Archives/Public/www-style/2015Jan/0076.html</span></a>. <o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">3. Sometimes an OS or font engine will not trust the weight class values (perhaps in part, because of #2 above) & resort to heuristics.
 Mozilla has reported that Apple uses heuristics & doesn’t seem to use the recorded weight class (see John’s post above).<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I propose the MAIN PROPOSAL below, which addresses issue #1.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I seek feedback on the POSSIBLE ADDITIONAL PROPOSAL and its VARIANT below, which address issues #2 and #3: are these issues worth solving,
 & is this the best way to do it?<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">=== MAIN PROPOSAL (addresses issue #1):<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">{ Add this clarification to usWeightClass, to the end of the “Description” section: }<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Only values from 1–999 are valid.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">{ Add this clarification to the start of the “Comments” section of usWeightClass, before the table: }<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">There may be legacy platform limitations on certain usWeightClass values. The following are commonly set values:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">=== POSSIBLE ADDITIONAL PROPOSAL to also address issues #2 and #3:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">{ Bump OS/2 version to 6. Add this new field to the end of the table: }<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">usTypoWeightClass<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Format: USHORT<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Description: Typographic weight class. Only values of 1–999 are valid. Common values are as listed in the table for the usWeightClass field.
 The usWeightClass field may have been historically set in some fonts inaccurately, to work around various legacy platform-specific limitations. usTypoWeightClass is free from platform limitations and reflects the true visual weight of the font.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">=== VARIANT of POSSIBLE ADDITIONAL PROPOSAL:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Another way to address #2 and #3 instead of a new usTypoWeightClass field:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">We could add a  one or more flags to OS/2.fsSelection to indicate, for example, that usWeightClass of 250 really means a weight class of
 100. The problem with this approach is that several such flags may be needed since several such values have been distorted (100, 200, perhaps some in the upper range as well), & a mapping needs to be agreed upon e.g. 250 => 100, xxx => 200, … It would be a
 font and font engine change anyway, so we may as well make it explicit, following the model of the sTypoAscender & similar fields.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">===<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;min-height: 17px"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">Sairus<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:white"><o:p></o:p></span></p>
</div>
</div>
</body>
</html>