<div dir="auto">Right now am implementer of OT 1.8 has to implement support for all six versions of the OS/2 table. OFF2 could get rid of that burden. </div><div dir="auto"><br></div><div dir="auto">The implementer could of course re-use their code if exists to support all versions but only allow the latest in OFF2. But at some point a dev could make a faster code path for OFF2 and only run a slower legacy code path for OFF1. </div><div dir="auto"><br></div><div dir="auto">If we do cubic glyf and drop CFF(2) from OFF2 (I know, I know), that'd allow for the new code be much leaner. </div><div dir="auto"><br></div><div dir="auto">And in some controlled environments they could only deploy the leaner OFF2 code, which could also be a lot safer (speaking as a person who discovered a CFF vulnerability in Win 7 that prompted MS to issue 3 "most critical" patches for all their OSes). </div><div dir="auto"><br></div><div dir="auto">Or at least OFF2 could drop CFF[1] and only keep CFF2. </div><div dir="auto"><br></div><div dir="auto">A.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 11 Sep 2020 at 23:02, Levantovsky, Vladimir <<a href="mailto:Vladimir.Levantovsky@monotype.com">Vladimir.Levantovsky@monotype.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><br><br><br><br><br><br><br><br><br><br><br><br><div lang="EN-US" link="#0563C1" vlink="#954F72"><br><br><div class="m_4432357794439400544WordSection1"><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Agree. I am not at all against new technology replacing the old stuff. Using your own example, I’ve been a loud proponent of WOFF2, even though it was a clear<br><br> break from WOFF1 – the benefits of WOFF2 to users and authors were clear and undisputed evidence on which the breaking change was introduced.<br><br><u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Like you said, different solutions can peacefully co-exist and the new OFF2 can be devised in such a way would minimize adverse impact of breaking changes on<br><br> the existing marketplace. My main point is that doing so requires discussions and considerations of different points of view from all major implementers and font vendors to form a consensus.<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Vlad<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Adam Twardoch (Lists) <<a href="mailto:list.adam@twardoch.com" target="_blank" style="font-family:Calibri,sans-serif">list.adam@twardoch.com</a>><br><br><br></span></p></div></div><div lang="EN-US" link="#0563C1" vlink="#954F72"><div class="m_4432357794439400544WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><br><br><b style="font-family:Calibri,sans-serif">Sent:</b> Friday, September 11, 2020 4:22 PM<br><br><br><b style="font-family:Calibri,sans-serif">To:</b> Dave Crossland <<a href="mailto:dcrossland@google.com" target="_blank" style="font-family:Calibri,sans-serif">dcrossland@google.com</a>><br><br><br><b style="font-family:Calibri,sans-serif">Cc:</b> Levantovsky, Vladimir <<a href="mailto:Vladimir.Levantovsky@monotype.com" target="_blank" style="font-family:Calibri,sans-serif">Vladimir.Levantovsky@monotype.com</a>>; mpeg-otspec <<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank" style="font-family:Calibri,sans-serif">mpeg-otspec@lists.aau.at</a>><br><br><br><b style="font-family:Calibri,sans-serif">Subject:</b> Re: [MPEG-OTSPEC] Introducing breaking changes into the spec (was: RE: [EXTERNAL] Proposal to deprecate derived search values)<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br><div><br><br><p class="MsoNormal">Hello Vlad,<u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><p class="MsoNormal">OpenType 1.8 introduced a major breaking change: OpenType fonts in which the only source for glyph rendering is the 'CFF2' table. Those fonts (variable or not) conform with the OT 1.8 spec but older implementations can’t do anything about<br><br> them. <u></u><u></u></p><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">I believe OFF has followed suit, therefore introducing a breaking change to the ISO standard. <u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">There is nothing in the world that speaks against OFF 1.x and OFF 2.x co-existing. These versions could be treated as “levels“. H.264 is one codec in MPEG and H.265 is another, which older implementations know nothing about.<u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">The OFF can be devised in such a way that both the 1.x “level“ and the new 2.x “level” co-exist in the standard. There should be a clear distinction between these levels, and the last known 1.x rendition (equivalent to the last OT 1.8.x<br><br> or 1.9.x) should stay in the OFF standard “forever”. <u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">Implementers can be free to then make their code work with OFF1 only, or OFF2 only, or both. Font makers will also be free to release their fonts as OFF2 and also as OFF1, or both. <u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">WOFF[1] and WOFF2 are technically completely different, and there are implementations that support both or only one. WOFF2 was a complete breaking charge towards WOFF. I don't think OFF2 wants to go that far (as in, abandoning the SFNT<br><br> container and going with something completely different), but I’d not exclude even that possibility. <u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">When the Variable OT fonts were introduced, or became clear that for many scenarios, an intermediate layer of software needs to be introduced (e.g. for embedding into the print stream). Effectively, a OT 1.8 > OT pre-1.8 conversion step,<br><br> an “unbreaker” for those de-facto breaking changes that OT 1.8 brought.<u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">Many software vendors are aware of this step being need. Since that filtering/conversion step is being added everywhere, there should be no problem of extending that step in future, so it can also convert OFF2 into OT pre-1.8 or OFF1. <u></u><u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal"><u></u> <u></u></p><br><br></div><br><br><div><br><br><p class="MsoNormal">A.<u></u><u></u></p><br><br></div><br><br></div><br><br></div><br><br><br><br></blockquote></div></div>