<div dir="ltr"><div dir="ltr">On Thu, Oct 8, 2020 at 10:30 AM Peter Constable <<a href="mailto:pgcon6@msn.com">pgcon6@msn.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_-6178624559989069416WordSection1">
<p class="MsoNormal">Someone _<i>could</i>_ implement hinting, though there’s no certainty of getting exactly the same rasterized result. But there are different TrueType rasterization implementations that don’t produce exactly the same rasterized results,
if nothing else because different implementation use different over-sampling and filtering techniques. It seems by the same argument, then, that ‘glyf’ and related tables should be removed from OFF… _<i>If</i>_ it were assumed that interoperability of the
font file format requires that different implementations can produce exactly the same rasterized results. That hasn’t been assumed for the past 20+ years, so how is it now suddenly a problem for interoperability?</p></div></div></blockquote><div><br></div><div>No. These are very different situations.</div><div><br></div><div>TrueType hinting is *specified* to a *lot* of detail. That final rasterization will be different is a fact of computer graphics.</div><div><br></div><div>That's not what I'm talking about. CFF hinting is COMPLETELY unspecified currently.</div><div><br></div><div>Plus. As I pointed out originally: CFF/CFF2's mere claim to superiority, ie. *why* they need to exist at all, is a claim to superiority of hinting, made by Adobe. But Adobe also maintains that no other hinting implementation is adequate. As such, the CFF/CFF2 in OFF are unnecessary and as such I suggest being either removed or made complete.</div><div><br></div><div>Same does not apply to glyf table as it's by far the most common format used by fonts, and is specified in detail enough to produce acceptable rasterizers by over a dozen entities over the decades. The same cannot be said of CFF.</div><div><br></div><div>But yes, same argument with script shaping: without it OFF is incomplete. Now you can argue that even with it implementations would differ because any added shaping specs would be incomplete in level of detail. That would be reason to make them more complete, not remove them.</div><div><br></div><div>In the case of CFF/CFF2, they are not *necessary* for a fully functional font format.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-6178624559989069416WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> <br>
<b>Sent:</b> Thursday, October 8, 2020 9:18 AM<br>
<b>To:</b> Peter Constable <<a href="mailto:pgcon6@msn.com" target="_blank">pgcon6@msn.com</a>><br>
<b>Cc:</b> Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>>; mpeg-otspec <<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a>><br>
<b>Subject:</b> Re: [MPEG-OTSPEC] Removal of the CFF and CF2 from OFF standard (was: Proposal to make OFF complete)<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, Oct 8, 2020 at 10:09 AM Peter Constable <<a href="mailto:pgcon6@msn.com" target="_blank">pgcon6@msn.com</a>> wrote:<u></u><u></u></p>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">You haven’t answered my question: What problem in industry are you trying to solve?<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The problem that no one can implement CFF/CFF2 with hinting if they are not Adobe!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>>
<br>
<b>Sent:</b> Thursday, October 8, 2020 9:07 AM<br>
<b>To:</b> Peter Constable <<a href="mailto:pgcon6@msn.com" target="_blank">pgcon6@msn.com</a>><br>
<b>Cc:</b> Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>>; mpeg-otspec <<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a>><br>
<b>Subject:</b> Re: [MPEG-OTSPEC] Removal of the CFF and CF2 from OFF standard (was: Proposal to make OFF complete)<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">I repeat myself:<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">CFF/CFF2 should either be deprecated & eventually removed, OR the hinting algorithm needs to be specified. Because currently it is *impossible* to implement them in a way that
Adobe / others deem satisfactory.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">behdad<br>
<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbehdad.org%2F&data=04%7C01%7C%7C7d40b065545047e4ab1808d86ba5babd%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637377706836405651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=d46I0fMxoA4A%2Fia33%2BB6M3MkJS1%2FHxopuxo2hW1Ff50%3D&reserved=0" target="_blank">http://behdad.org/</a><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, Oct 8, 2020 at 10:04 AM Peter Constable <<a href="mailto:pgcon6@msn.com" target="_blank">pgcon6@msn.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">Behdad,
<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">This is not a case of whether to _<i>add</i>_ something to OFF; you’re proposing _<i>removing</i>_ something that’s been part of OFF since the first edition. Given that, and given
that CFF(2) is supported in several platforms and products, this has the appearance of objecting to CFF for the sake of objecting. What problem, exactly, are you trying to solve?<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Peter<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> mpeg-otspec <<a href="mailto:mpeg-otspec-bounces@lists.aau.at" target="_blank">mpeg-otspec-bounces@lists.aau.at</a>>
<b>On Behalf Of </b>Behdad Esfahbod<br>
<b>Sent:</b> Thursday, October 8, 2020 8:57 AM<br>
<b>To:</b> Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>><br>
<b>Cc:</b> mpeg-otspec <<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a>><br>
<b>Subject:</b> Re: [MPEG-OTSPEC] Removal of the CFF and CF2 from OFF standard (was: Proposal to make OFF complete)<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">You seem more focused on objecting than to reason about my proposal or why your objection is legitimate. You did NOT even reply to the main issue:<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">> Sooooooo either CFF/CFF2 should be removed, *or* it be added as a work item that CFF/CFF2 hinting be documented as part of OFF.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(80,0,80)"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(80,0,80)">> Separately part of the same proposal was to document script-shaping as part of OFF; so I expect that to be added as a new work item proposal as well.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(80,0,80)"> </span><u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">behdad<br>
<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbehdad.org%2F&data=04%7C01%7C%7C7d40b065545047e4ab1808d86ba5babd%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637377706836415643%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=f1ulMDo3yDuvt3WBLi0uig8CuWbnjkcfFDdKQ4MkDaE%3D&reserved=0" target="_blank">http://behdad.org/</a><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 5:13 PM Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020, 6:55 PM Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 4:48 PM Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>> wrote:<u></u><u></u></p>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 6:45 PM Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 4:37 PM Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank">dcrossland@google.com</a>> wrote:<u></u><u></u></p>
</div>
</div>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 5:51 PM Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">On Wed, Oct 7, 2020 at 3:35 PM Levantovsky, Vladimir <<a href="mailto:Vladimir.Levantovsky@monotype.com" target="_blank">Vladimir.Levantovsky@monotype.com</a>> wrote:<u></u><u></u></p>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt">On Wednesday, August 19, 2020 12:40 AM Behdad Esfahbod wrote:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
Moreover, I suggest CFF and CFF2 be removed from OFF. The claim-to-superiority of CFF format is: 1. better hinting, and 2. better compression. Re better-hinting, the interpretation of CFF hints is NOT specified anywhere. Adobe's code in FreeType is what we
have. Re better compression, the existence of CFF in OpenType / OFF is partly why adding quadratic beziers to glyf table has continually not happened.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
In reality, CFF only serves Adobe, who sells their rasterizer to MS / Apple platforms and serves only Adobe. Another example of Adobe abusing the "open" ideology / terminology is the Noto CJK / Adobe-equivalent. It's NOT open-source by any means. The sources
are not available. That's something that I pointed out directly to Ken Lunde at one of his Unicode Conference presentations. Adobe is clearly aware of it. And I couldn't fix when I was at Google.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
Rip the bandaid. Make open standards truly open.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">With my SC29/WG3 member representative hat on (and _<i>not</i>_ serving in my capacity as a chair of this AHG) I object to this proposal. With many thousands
of fonts currently deployed, and at least two (or more) different implementations available – this proposal, if considered, would do more harm than good.</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Okay let me narrow down the proposal to removing CFF2 only.<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I object to the proposal to remove CFF2, because while few CFF2 VF fonts are available, CFF2 is now widely implemented by font engines<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">It's in OpenType. I don't see why it needs to be in OFF from a forward-looking point of view.<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">CFF2 needs to be in OFF because then it is definitively clear of rightholder friction, allowing it to be widely adopted. <u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">No one has suggested *why* it needs to be widely adopted. You can't just say "no". I argued that OFF is *incomplete* currently.<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Vlad brought up the counter argument that much existing usage depends on CFF being in OFF. You accepted this but then argue that not many cff2 fonts exist compared to cff1, or to
TTF VF. But I don't think this is relevant, because fonts themselves are only one piece of the puzzle. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<p class="MsoNormal">Sooooooo either CFF/CFF2 should be removed, *or* it be added as a work item that CFF/CFF2 hinting be documented as part of OFF.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Separately part of the same proposal was to document script-shaping as part of OFF; so I expect that to be added as a new work item proposal as well.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<div>
<p class="MsoNormal">The many users of harfbuzz, that you tout, are doing so because OFF has cleared a path for that adoption. <u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I don't see how that argument holds. HarfBuzz implements ...<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">It's an argument about adoption, not implementation.<u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote></div></div>