<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 15 (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:"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:Consolas;
panose-1:2 11 6 9 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;}
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";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma",sans-serif;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
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.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma",sans-serif;}
p.imprintuniqueid, li.imprintuniqueid, div.imprintuniqueid
{mso-style-name:imprintuniqueid;
mso-style-priority:99;
margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
p.attach, li.attach, div.attach
{mso-style-name:attach;
mso-style-priority:99;
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-style-priority:99;
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-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;
color:#628C2A;}
p.replbq, li.replbq, div.replbq
{mso-style-name:replbq;
mso-style-priority:99;
margin:3.0pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
p.ad, li.ad, div.ad
{mso-style-name:ad;
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.underline, li.underline, div.underline
{mso-style-name:underline;
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.ad1, li.ad1, div.ad1
{mso-style-name:ad1;
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.ad2, li.ad2, div.ad2
{mso-style-name:ad2;
mso-style-priority:99;
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-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;
text-decoration:underline;}
span.yshortcuts
{mso-style-name:yshortcuts;}
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.EmailStyle38
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EmailStyle40
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle41
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.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;}
--></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 bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">For OT1.8.1, I’ve made changes to CFF2.htm to consistently use “to” for ranges, hyphen-minus for negation, and en dash with surrounding spaces for subtraction (except in the
case of “n–1” as an index subscript). I have no intention of applying these conventions throughout the OT spec, however: the discussion of operands and their interpretation in the CFF2 context is a special case.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Peter<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></a></p>
<span style="mso-bookmark:_MailEndCompose"></span>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Levantovsky, Vladimir [mailto:Vladimir.Levantovsky@monotype.com]
<br>
<b>Sent:</b> Thursday, January 5, 2017 1:00 PM<br>
<b>To:</b> Peter Constable <petercon@microsoft.com>; Ken Lunde <lunde@adobe.com>; Opstad, Dave <Dave.Opstad@monotype.com><br>
<b>Cc:</b> mpeg-OTspec@yahoogroups.com<br>
<b>Subject:</b> RE: [mpeg-OTspec] OFF Font variations Working Draft for review<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I agree. It is even more confusing when the same character is used to describe the range of negative values, as is sometimes the case for operand encoding.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">What I did as part of the editorial changes when introducing the CFF2 content into the 14496-22 4<sup>th</sup> edition working draft is to use hyphen-minus for
all arithmetic operations (both negation and subtraction) with no spaces, and en dash with spaces for value range, when it’s defined using both negative and positive numbers. I think that using verbal definition “X to Y” would be much less confusing, but the
amount of editorial changes that would be required to make it consistent throughout the spec makes it a daunting task.<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">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">
<a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> [<a href="mailto:mpeg-OTspec@yahoogroups.com">mailto:mpeg-OTspec@yahoogroups.com</a>]
<b>On Behalf Of </b>Peter Constable <a href="mailto:petercon@microsoft.com">petercon@microsoft.com</a> [mpeg-OTspec]<br>
<b>Sent:</b> Thursday, January 05, 2017 3:37 PM<br>
<b>To:</b> Ken Lunde; Opstad, Dave<br>
<b>Cc:</b> <a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a><br>
<b>Subject:</b> RE: [mpeg-OTspec] OFF Font variations Working Draft for review<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"> <o:p></o:p></p>
<div id="ygrp-mlmsg">
<div id="ygrp-msg">
<div id="ygrp-text">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I agree. Having a B. Math degree, I like that notation, but it’s not going to be familiar enough to the general audience of the spec.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’ve reviewed all the cases in which the HTML files for the OT spec have an – entity reference. In cases like head.flags or OS/2.ulUnicodeRange where a numeric range of bits
is specified, there’s no ambiguity in using an en dash. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The CFF2 and CFF2 CharString specs are a little different, though, since there are sections in which ranges of byte codes are given that are interpreted as encoded numeric values,
and then in the same context there are formulas for the interpretation that involve negation and subtraction operators. There are some inconsistencies, particularly use of both en dash and hyphen-minus for a negation operator. E.g., in table 3 within CFF2.htm,
these strings occur:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:green">-107 – +107</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:green">–(b0 – 251) * 256 – b1 – 108</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Both use en dash for the subtraction operator, but they differ in the character used as a negation operator.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’m inclined to use hyphen-minus for the negation operator, en dash with spaces for the subtraction operator, and list all the ranges using “to”. But I welcome input from those
that are better-qualified typographers than I.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Peter<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b>
<a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a> [<a href="mailto:mpeg-OTspec@yahoogroups.com">mailto:mpeg-OTspec@yahoogroups.com</a>]
<b>On Behalf Of </b>Ken Lunde <a href="mailto:lunde@adobe.com">lunde@adobe.com</a> [mpeg-OTspec]<br>
<b>Sent:</b> Thursday, January 5, 2017 12:18 PM<br>
<b>To:</b> Opstad, Dave <<a href="mailto:dave.opstad@monotype.com">dave.opstad@monotype.com</a>><br>
<b>Cc:</b> <a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a><br>
<b>Subject:</b> Re: [mpeg-OTspec] OFF Font variations Working Draft for review<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">
<o:p></o:p></p>
<div id="ygrp-mlmsg">
<div id="ygrp-msg">
<div id="ygrp-text">
<p style="margin-bottom:12.0pt">Dave, <br>
<br>
In the spirit of making specifications easier to read and understand, I would very strongly advise against using such notations, on the grounds that most people are not familiar with them.
<br>
<br>
Regards... <br>
<br>
-- Ken <br>
<br>
> On Jan 5, 2017, at 12:09 PM, 'Opstad, Dave' <a href="mailto:dave.opstad@monotype.com">
dave.opstad@monotype.com</a> [mpeg-OTspec] <<a href="mailto:mpeg-OTspec-noreply@yahoogroups.com">mpeg-OTspec-noreply@yahoogroups.com</a>> wrote:
<br>
> <br>
> <br>
> Mathematics already provides an alternative and unambiguous notation for ranges: [a, b] for closed (i.e. includes a and b), and (a, b) for open (does not include a or b). These may be mixed as well: [0, 1000) for instance specifies a value from 0 through
999. <br>
> <br>
> Maybe it makes sense to adopt something like this? <br>
> <br>
> Cheers, <br>
> Dave <br>
> <br>
> From: <<a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>> on behalf of "Peter
<a href="mailto:Constablepetercon@microsoft.com">Constablepetercon@microsoft.com</a> [mpeg-OTspec]" <<a href="mailto:mpeg-OTspec-noreply@yahoogroups.com">mpeg-OTspec-noreply@yahoogroups.com</a>>
<br>
> Reply-To: Peter Constable <<a href="mailto:petercon@microsoft.com">petercon@microsoft.com</a>>
<br>
> Date: Thursday, January 5, 2017 at 11:37 <br>
> To: John Hudson <<a href="mailto:john@tiro.ca">john@tiro.ca</a>>, Indra Kupferschmid <<a href="mailto:kupfers@gmail.com">kupfers@gmail.com</a>>, "<a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>" <<a href="mailto:mpeg-OTspec@yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>>
<br>
> Subject: RE: [mpeg-OTspec] OFF Font variations Working Draft for review <br>
> <br>
> <br>
> I looked a bit more into what's actually being done in the OT spec. Interestingly, I discovered that the CFF2 and CFF2 CharString chapters, which Adobe primarily authored, have many instances of en dash surrounded by spaces to indicate a numeric range. These
chapters also have en dashes used as a negation sign (without space between the dash and the number), and as a minus operator — sometimes with and sometimes without spaces.
<br>
> <br>
> In a technical spec like this, the biggest pitfall to avoid would be confusion about numeric range versus negation or subtraction. In some contexts, it may reasonably clear, but using words "from... to..." for numeric ranges, as in OT's wording for OS/2.usWeightClass,
eliminates ambiguity. Words may not be desirable in every context, though. Perhaps that's why the CFF2 authors put spaces before/after en dash when indicating a numeric range.
<br>
> <br>
> <br>
> Peter <br>
> <br>
> -----Original Message----- <br>
> From: John Hudson [<a href="mailto:john@tiro.ca">mailto:john@tiro.ca</a>] <br>
> Sent: Thursday, January 5, 2017 10:24 AM <br>
> To: Indra Kupferschmid <<a href="mailto:kupfers@gmail.com">kupfers@gmail.com</a>>; Peter Constable <<a href="mailto:petercon@microsoft.com">petercon@microsoft.com</a>>;mpeg-OTspec@yahoogroups.com
<br>
> Subject: Re: [mpeg-OTspec] OFF Font variations Working Draft for review <br>
> <br>
> On 05/01/17 09:54, Indra Kupferschmid <a href="mailto:kupfers@gmail.com">kupfers@gmail.com</a> [mpeg-OTspec] wrote:
<br>
> <br>
> > Oh disregard, I did not read well enough. I thought you were talking <br>
> > about dashes – like this. Ranges, list 0–100 are set with en-dash <br>
> > without space. <br>
> <br>
> Yes. The distinction is between whether the dash is used to separate items or to link them as in a number range.
<br>
> <br>
> JH <br>
> <br>
> <br>
> -- <br>
> <br>
> John Hudson <br>
> Tiro Typeworks Ltd <a href="http://www.tiro.com">www.tiro.com</a> <br>
> Salish Sea, BC <a href="mailto:tiro@tiro.com">tiro@tiro.com</a> <br>
> <br>
> NOTE: In the interests of productivity, I am currently dealing with email on only two days per week, usually Monday and Thursday unless this schedule is disrupted by travel. If you need to contact me urgently, please use some other method of communication.
Thank you. <br>
> <br>
> <br>
> <br>
> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:white"><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>