<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 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.cat
{mso-style-name:cat;}
span.ct
{mso-style-name:ct;}
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:7.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:8.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:2.4pt;
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:6.0pt;
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.EmailStyle36
{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:825824051;
mso-list-template-ids:-1835356930;}
@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;}
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 bgcolor=white lang=EN-US link="#1E66AE" vlink="#1E66AE">
<div class=Section1>
<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 haven’t heard any objections to the proposal from Sairus.
Please review his proposed wording once again and let me know by the end of the
day Wednesday, Jan. 20 if anyone has any objection to include the proposed text
to the description of the kern table. <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>The primary concern is to not invalidate any existing
implementations – if there are no objection voiced, I will add the proposed
wording to the draft text of the corrigendum. Please note that this decision to
add the language is not final – we will have a chance to review this and change
or remove the text via ISO ballot comments.<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 and regards,<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 style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<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<br>
<b>Sent:</b> Tuesday, January 12, 2010 9:46 PM<br>
<b>To:</b> Behdad Esfahbod<br>
<b>Cc:</b> mpeg-OTspec@yahoogroups.com; multiple recipients of OpenType - sent
by<br>
<b>Subject:</b> RE: [mpeg-OTspec] Interaction between kern table and GPOS table<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> <o:p></o:p></p>
<div id=ygrp-mlmsg>
<div id=ygrp-msg>
<div id=ygrp-text>
<p>Hello Behdad, <br>
<br>
> Doesn't this belong to the OpenType list though? <br>
<br>
I was hesitant to send it to both lists: I thought/hoped there would be
sufficient overlap by now, and didn't want to clog folks' Inboxes with
duplicates. But I'm happy to cc the OT list on this thread now, and perhaps in
the future err on the side of clogging Inboxes rather than leaving some folks
out of the discussion. <br>
<br>
> I'm leaning towards not applying 'kern' if the font has any 'GPOS' table
though. <br>
<br>
Reasons not to do as you suggest: <br>
1. We've seen fonts with "stub" or empty GPOS tables, I believe
produced by VOLT. If we do not apply the kern table in this case, no kerning
would occur in OT layout. <br>
2. MS had revised Arial and Times New Roman in Vista to add a GPOS table with
only non-kern features in it; the kern table remained. If we do not apply the
kern table in this case, no kerning would occur in OT layout. <br>
<br>
Best, <br>
Sairus <br>
<br>
<br>
-----Original Message----- <br>
From: Behdad Esfahbod [mailto:<a href="mailto:behdad.esfahbod%40gmail.com">behdad.esfahbod@gmail.com</a>]
On Behalf Of Behdad Esfahbod <br>
Sent: Tuesday, January 12, 2010 3:49 PM <br>
To: Sairus Patel <br>
Cc: <a href="mailto:mpeg-OTspec%40yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>
<br>
Subject: Re: [mpeg-OTspec] Interaction between kern table and GPOS table <br>
<br>
Hi Sairus, <br>
<br>
Thanks for bringing this up. Doesn't this belong to the OpenType list though? <br>
<br>
I'm leaning towards not applying 'kern' if the font has any 'GPOS' table
though. <br>
<br>
That said, from a technical point of view, it's also worth noting that GPOS is <br>
applied on the logical glyph string while 'kern' is applied on the visual <br>
string (ie. after reversing for RTL runs). <br>
<br>
behdad <br>
<br>
On 01/12/2010 06:31 PM, Sairus Patel wrote: <br>
> <br>
> <br>
> Reason: <br>
> <br>
> Sometimes a font can have both a kern table and a GPOS table, and the <br>
> GPOS may or may not have a kern feature for some scripts and language <br>
> systems. How is an OFF layout engine to decide which source of kern <br>
> data, if any, to apply? This proposal specifies this. Question: It is <br>
> proposed to be in the Recommendations section; is there a better place <br>
> in the specification for something like this? <br>
> <br>
> Proposal: <br>
> <br>
> ADD the following paragraphs to the end of the 'kern' Table sub-section <br>
> in the Recommendations section: <br>
> <br>
> When a kern table and GPOS table are both present in a font, and an OFF <br>
> layout engine is requested to apply kerning to a run of text of a <br>
> particular script and language system: (a) If the number of kern feature <br>
> lookups in the resolved language system in the GPOS table is zero, then <br>
> the kern table must be applied, followed by any remaining GPOS features <br>
> requested. (b) If the number of kern feature lookups in the resolved <br>
> language system in the GPOS table is non-zero, then all GPOS lookups, <br>
> including the kern lookups, must be applied in the usual way and the <br>
> kern table data ignored. <br>
> <br>
> If a kern table but no GPOS table is present in the font, then an OFF <br>
> layout engine must apply the kern table to the text, regardless of the <br>
> resolved language system of the text. <br>
> <br>
> If compatibility with legacy environments is not a concern, vendors are <br>
> encouraged to use the GPOS table, and not the kern table, for kerning. <br>
> <br>
> Sairus <br>
> <br>
> <o:p></o:p></p>
</div>
<div>
<p class=MsoNormal><span style='color:white'><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>