<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" 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: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;}
@font-face
        {font-family:Georgia;
        panose-1:2 4 5 2 5 4 5 2 3 3;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 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.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        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
        {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;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
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.EmailStyle36
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle37
        {mso-style-type:personal-reply;
        font-family:"Georgia","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;}
-->
</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:10.0pt;font-family:"Georgia","serif"'>Microsoft
wrote</span><span style='font-size:10.0pt;font-family:"Georgia","serif"'> on 2/9/2010:</span><span
style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>>
It is trying to cover some class of legacy cases… I do not even know how common
this case is.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>Fonts
containing both GPOS and kern tables that ship with Windows:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Georgia","serif"'>**
XP SP2: 4 fonts **<o:p></o:p></span></b></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>(pala.ttf
palab.ttf palabi.ttf palai.ttf)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Georgia","serif"'>**
Vista: 65 fonts **<o:p></o:p></span></b></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>(arial.ttf
arialbd.ttf arialbi.ttf ariali.ttf ariblk.ttf calibri.ttf calibrib.ttf
calibrii.ttf calibriz.ttf cambria.ttc cambriab.ttf cambriai.ttf cambriaz.ttf Candara.ttf
Candarab.ttf Candarai.ttf Candaraz.ttf constan.ttf constanb.ttf constani.ttf
constanz.ttf corbel.ttf corbelb.ttf corbeli.ttf corbelz.ttf dokchamp.ttf
euphemia.ttf framd.ttf gisha.ttf gishabd.ttf himalaya.ttf impact.ttf
iskpota.ttf leelawad.ttf leelawdb.ttf meiryo.ttc meiryob.ttc monbaiti.ttf
moolbor.ttf pala.ttf palab.ttf palabi.ttf palai.ttf segoepr.ttf segoeprb.ttf
segoesc.ttf segoescb.ttf segoeui.ttf segoeuib.ttf segoeuii.ttf segoeuiz.ttf
tahoma.ttf tahomabd.ttf times.ttf timesbd.ttf timesbi.ttf timesi.ttf trebuc.ttf
trebucbd.ttf trebucbi.ttf trebucit.ttf verdana.ttf)<o:p></o:p></span></p>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></b></p>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Georgia","serif"'>**
Windows 7 (Enterprise): 81 fonts **<o:p></o:p></span></b></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>(arial.ttf
arialbd.ttf arialbi.ttf ariali.ttf ariblk.ttf calibri.ttf calibrib.ttf
calibrii.ttf calibriz.ttf cambria.ttc cambriab.ttf cambriai.ttf cambriaz.ttf Candara.ttf
Candarab.ttf Candarai.ttf Candaraz.ttf constan.ttf constanb.ttf constani.ttf
constanz.ttf corbel.ttf corbelb.ttf corbeli.ttf corbelz.ttf dokchamp.ttf
euphemia.ttf framd.ttf gisha.ttf gishabd.ttf himalaya.ttf impact.ttf
iskpota.ttf iskpotab.ttf KhmerUI.ttf KhmerUIb.ttf LaoUI.ttf LaoUIb.ttf leelawad.ttf
leelawdb.ttf meiryo.ttc meiryob.ttc monbaiti.ttf moolbor.ttf msjh.ttf msyh.ttf
pala.ttf palab.ttf palabi.ttf palai.ttf segoepr.ttf segoeprb.ttf segoesc.ttf
segoescb.ttf segoeui.ttf segoeuib.ttf segoeuii.ttf segoeuil.ttf segoeuiz.ttf
seguisb.ttf seguisym.ttf Shonar.ttf Shonarb.ttf tahoma.ttf times.ttf
timesbd.ttf timesbi.ttf timesi.ttf tradbdo.ttf trado.ttf trebuc.ttf
trebucbd.ttf trebucbi.ttf trebucit.ttf verdana.ttf)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>Cleary,
the number of such fonts is *increasing* with every new version of Windows. Brand-new
font families as well as some of the most commonly used fonts in the world (Arial
and Times, as listed above) have both GPOS and kern tables.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>Surely
the OT/OFF specs cannot ignore addressing how such fonts are to be handled.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>>
</span><span style='font-size:10.0pt;font-family:"Georgia","serif"'>It is
really easy to generate GPOS lookups out of ‘kern’ table, especially with my
kern2volt toolJ.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>In
that case, it would be good to know the reason for putting the ‘kern’ table in fonts
-- especially new families -- that ship with Windows. Or are all the fonts
above to be considered badly made?<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>I
think understanding that is an important first step in getting resolution on
this issue.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>Best,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif"'>Sairus<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>Levantovsky, Vladimir<br>
<b>Sent:</b> Tuesday, February 09, 2010 2:00 PM<br>
<b>To:</b> Michelle Perham; Sairus Patel; John Hudson<br>
<b>Cc:</b> mpeg-OTspec@yahoogroups.com; opentype-migration-list@indx.co.uk<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>

<div>

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

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

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>All, I would like to ask you to review
the concerns summarized below and to provide your opinions / recommendation on
how we should address them. I would like us to come to a consensus on the
wording related to kern table recommendations, and, if necessary, to make
corresponding changes in the draft text of the corrigendum that is currently
under ballot (until Apr. 21, 2010).</span><o:p></o:p></p>

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

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

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

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

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

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 0in'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:0in 0in 0in 0in'>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'>
Michelle Perham [mailto:mihill@microsoft.com] <br>
<b>Sent:</b> Tuesday, February 09, 2010 12:40 PM<br>
<b>To:</b> Levantovsky, Vladimir; Sairus Patel; John Hudson<br>
<b>Cc:</b> mpeg-OTspec@yahoogroups.com<br>
<b>Subject:</b> RE: [mpeg-OTspec] Interaction between kern table and GPOS table
[1 Attachment]</span><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=MsoPlainText>Thanks Vlad. At Microsoft we have some concerns over the kern
table recommendations. Here is a summary of our concerns that was compiled by
Sergey:<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>- It is hard to define exact behavior that will work for
everybody. Does it make sense to make it per-script or we just cover legacy
font with no kerning lookup at all? Should we skip mark glyphs while looking
for kerning pairs? There is no strict answer for these questions, so it opens
door for incompatible implementations and, therefore, hacky fonts.<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>- It is dangerous to combine kern and GPOS lookups. It
may seem to help with some fonts, but will mess up less obvious cases. I
remember how easily we broke font lookups by zeroing widths of mark glyphs
outside of GPOS. Applying kerning may have the same effect.<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>- It is really easy to generate GPOS lookups out of ‘kern’
table, especially with my kern2volt toolJ. We did this backwards for ClearType
fonts without much effect on overall font size. FontLab also should be able to
generate both from one source.<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>- I do not see this as implementation spec, it has
appropriate level of detail for desired behavior. But it does not mean I like
this proposed behavior. It is trying to cover some class of legacy cases, will
open door for future hack,  have danger of breaking old fonts and may not
work as Adobe expects it to work. And I do not even know how common this case
is.<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>- Too many ‘must’s.<o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText> <o:p></o:p></p>

<p class=MsoPlainText>Michelle<o:p></o:p></p>

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

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

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:0in 0in 0in 0in'>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'>
mpeg-OTspec@yahoogroups.com [mailto:mpeg-OTspec@yahoogroups.com] <b>On Behalf
Of </b>Levantovsky, Vladimir<br>
<b>Sent:</b> Wednesday, January 20, 2010 8:14 PM<br>
<b>To:</b> Sairus Patel; John Hudson<br>
<b>Cc:</b> mpeg-OTspec@yahoogroups.com<br>
<b>Subject:</b> RE: [mpeg-OTspec] Interaction between kern table and GPOS table
[1 Attachment]</span><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 class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:9.0pt'>[<a href="#TopText"><span style='text-decoration:none'>Attachment(s)</span></a>
from Levantovsky, Vladimir included below]</span></b> <o:p></o:p></p>

<p>Here is the latest version of the draft corrigendum (attached) - please
review and let me know if any corrections are needed. <br>
<br>
Thank you, <br>
Vladimir <br>
<br>
<br>
> -----Original Message----- <br>
> From: Sairus Patel [mailto:<a href="mailto:sppatel%40adobe.com">sppatel@adobe.com</a>]
<br>
> Sent: Wednesday, January 20, 2010 11:06 PM <br>
> To: Levantovsky, Vladimir; John Hudson <br>
> Cc: <a href="mailto:mpeg-OTspec%40yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>;
<a href="mailto:opentype-migration-list%40indx.co.uk">opentype-migration-list@indx.co.uk</a>
<br>
> Subject: RE: [mpeg-OTspec] Interaction between kern table and GPOS <br>
> table <br>
> <br>
> John Hudson wrote: <br>
> > Perhaps the problem is that I am misunderstanding what you mean by <br>
> > 'vendor' in the statement, so that should be clarified. I thought you
<br>
> > were talking about application makers, but perhaps you meant font <br>
> > makers. <br>
> <br>
> Yes, I meant font makers. Here is a revision of the last sentence of my <br>
> proposal: <br>
> <br>
> "If compatibility with legacy environments is not a concern, font <br>
> vendors are encouraged to record kerning in the GPOS table's kern <br>
> feature and not in the kern table." <br>
> <br>
> Vladimir, could you please replace the last sentence of my proposal <br>
> with the above. <br>
> <br>
> Thanks, <br>
> Sairus <br>
> <br>
> <br>
> -----Original Message----- <br>
> From: Levantovsky, Vladimir <br>
> [mailto:<a href="mailto:Vladimir.Levantovsky%40MonotypeImaging.com">Vladimir.Levantovsky@MonotypeImaging.com</a>]
<br>
> Sent: Wednesday, January 20, 2010 8:00 PM <br>
> To: John Hudson; Sairus Patel <br>
> Cc: Behdad Esfahbod; <a href="mailto:mpeg-OTspec%40yahoogroups.com">mpeg-OTspec@yahoogroups.com</a>;
opentype-migration- <br>
> <a href="mailto:list%40indx.co.uk">list@indx.co.uk</a> <br>
> Subject: RE: [mpeg-OTspec] Interaction between kern table and GPOS <br>
> table <br>
> <br>
> Since I did not see any objections to Sairus' proposal I will go ahead <br>
> and add this text to the corrigendum. <br>
> I also suggest that we should discuss in details the points that John <br>
> brought up in his email. I think his arguments are valid and <br>
> emphasizing the benefits of GPOS-based kerning would be a good thing. <br>
> We can discuss it and, if agreed, make changes in the corrigendum via <br>
> ISO ballot process. (which will be opened for three months once the <br>
> draft corrigendum is approved). <br>
> <br>
> Thank you and best regards, <br>
> Vladimir <br>
> <br>
> <br>
> > -----Original Message----- <br>
> > From: John Hudson [mailto:<a href="mailto:john%40tiro.ca">john@tiro.ca</a>]
<br>
> > Sent: Wednesday, January 20, 2010 4:11 PM <br>
> > To: Sairus Patel <br>
> > Cc: Levantovsky, Vladimir; Behdad Esfahbod; mpeg- <br>
> > <a href="mailto:OTspec%40yahoogroups.com">OTspec@yahoogroups.com</a>;
<a href="mailto:opentype-migration-list%40indx.co.uk">opentype-migration-list@indx.co.uk</a>
<br>
> > Subject: Re: [mpeg-OTspec] Interaction between kern table and GPOS <br>
> > table <br>
> > <br>
> > Sairus wrote: <br>
> > <br>
> > Perhaps the problem is that I am misunderstanding what you mean by <br>
> > 'vendor' in the statement, so that should be clarified. I thought you
<br>
> > were talking about application makers, but perhaps you meant font <br>
> > makers. <br>
> > <br>
> > > What motivates our wanting to encourage vendors to move from the
<br>
> kern <br>
> > table to the GPOS table for kerning? <br>
> > <br>
> > For me, the grounds for encouragement are that one can do a lot more <br>
> > with GPOS kerning than one can with kern table kerning. For some <br>
> > scripts, I would argue that GPOS kerning is essential because <br>
> > interglyph <br>
> > spacing needs to be contextual: pair kerning as implemented in the <br>
> kern <br>
> > table simply isn't up to the task of correctly spacing these scripts.
<br>
> > But even for 'simple' scripts like Latin, the limitation on encoded <br>
> > glyphs in the kern table is a major handicap. So long as application <br>
> > developers imagine that they can get by with supporting the kern <br>
> table <br>
> > instead of GPOS kerning, fonts and typography will be handicapped by <br>
> > the <br>
> > inertia of this obsolete technology. <br>
> > <br>
> > > If we envision some "pure" OT layout engine in the
future that <br>
> > doesn't support the kern table, that might be a reason. However, <br>
> given <br>
> > that practically every font in a Windows system that has kerning <br>
> > expresses it in a kern table (sometimes in addition to a GPOS <br>
> feature), <br>
> > <br>
> > On whose Windows system? Most of the fonts on my system have GPOS <br>
> > kerning only, and this is also true of most of the fonts that I have <br>
> > personally made for MS. The MS ClearType fonts had kern tables <br>
> > retroactively fitted to them when Office decided they wanted to make <br>
> > Calibri etc. standard fonts, but I take this as a good example of <br>
> what <br>
> > I'm talking about: the inertia of app developers imagining that a <br>
> kern <br>
> > table is an acceptable substitute, or even an equivalent, for GPOS <br>
> > kerning. <br>
> > <br>
> > Because of the size limitation of the kern table*, no effort was made
<br>
> > to <br>
> > extend the kern table kerning for the Windows 7 extensions to <br>
> ClearType <br>
> > fonts: its a frozen legacy table supporting a small subset of the <br>
> > interglyph spacing adjustments in these fonts. Even ignoring the fact
<br>
> > that it doesn't apply any kerning to unencoded glyph variants, it <br>
> > doesn't even apply kerning to all the encoded glyphs. <br>
> > <br>
> > * As documented on the OT list by Joshua Hadley and Karsten Luecke in
<br>
> > July 2007. <br>
> > <br>
> > > It seems to me that the kern table is pretty much here to stay
in <br>
> the <br>
> > OT spec. <br>
> > <br>
> > Even though its size limitations mean that an increasing number of <br>
> > fonts <br>
> > cannot be properly spaced using this table? <br>
> > <br>
> > > All that said, it may be OK for that last sentence to be <br>
> strengthened <br>
> > or to otherwise indicate the kern table as "deprecated",
but it <br>
> would <br>
> > be good to be clear on why we're doing that. Suggestions for revised <br>
> > wording are welcome. <br>
> > <br>
> > The only situation I can see in which I might opt for a kern table as
<br>
> a <br>
> > reasonable solution to interglyph spacing adjustments is if I were <br>
> > making a font that a) had a relatively small glyph set, b) required <br>
> > only <br>
> > adjustments to the spacing of encoded glyphs, and c) required <br>
> backwards <br>
> > compatibility. Because of the backwards compatibility issue, I doubt <br>
> if <br>
> > we're yet in a place in which we could formally deprecate the kern <br>
> > table, but I think a strong statement pointing out its limitations <br>
> and <br>
> > discouraging its use would help move us towards an eventual <br>
> > deprecation. <br>
> > <br>
> > <br>
> > > (John, BTW, I don't know if your statement "The interaction
of <br>
> > kerning and mark positioning is the biggest weak spot in OT Layout: <br>
> > there is no easy way to address it." on the " GPOS kerning;
pure <br>
> > anchor-based accents in Latin?" thread on the OT list 12/8/09 is
<br>
> > related to this.) <br>
> > <br>
> > No, not directly related. The difficulties of spacing and mark <br>
> > positioning interaction are specific to GPOS, i.e. they're the <br>
> problems <br>
> > that arise even when one is using the best tools that OpenType has to
<br>
> > offer. If one were using the kern table instead of GPOS, one wouldn't
<br>
> > even be able to approach that particular set of challenges because <br>
> the <br>
> > presence of the combining marks would break any kerning. <br>
> > <br>
> > <br>
> > We're well over a decade into the 'OpenType era' now. Is disturbing <br>
> to <br>
> > me that major applications are still relying of something as limited <br>
> as <br>
> > the kern table while some of us are getting increasingly concerned <br>
> with <br>
> > the limitations of OpenType itself. <br>
> > <br>
> > JH <br>
> > <br>
> > <br>
> > <br>
> > -- <br>
> > <br>
> > Tiro Typeworks <a href="http://www.tiro.com">www.tiro.com</a> <br>
> > Gulf Islands, BC <a href="mailto:tiro%40tiro.com">tiro@tiro.com</a> <br>
> > <br>
> > Car le chant bien plus que l'association d'un texte <br>
> > et d'une mélodie, est d'abord un acte dans lequel <br>
> > le son devient l'expression d'une mémoire, mémoire <br>
> > d'un corps immergé dans le mouvement d'un geste <br>
> > ancestral. - Marcel Pérès <o:p></o:p></p>

</div>

</div>

</div>

</div>

</div>

</div>

<div>

<p class=MsoNormal><span style='color:white'><o:p></o:p></span></p>

</div>

</div>

</div>

</body>

</html>