<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">>
<i>Contextual is just an storage-optimized version of the ChainingContextual when there's no context (backtrack / lookahead). There's no ambiguity there.</i></span></div>
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><i><br>
</i></span></div>
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">For
a few years since the introduction of GSUB/GPOS we only had contextual and only then realized it is not sufficient to cover common use cases. I don't think we would have contextual if we thought about that from the beginning.</span></div>
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br>
</span></div>
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Thanks,</span></div>
<div class="elementToProof"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Sergey</span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> mpeg-otspec <mpeg-otspec-bounces@lists.aau.at> on behalf of Behdad Esfahbod <behdad@behdad.org><br>
<b>Sent:</b> Tuesday, December 12, 2023 6:16 AM<br>
<b>To:</b> htl10@users.sourceforge.net <htl10@users.sourceforge.net><br>
<b>Cc:</b> mpeg-otspec@lists.aau.at <mpeg-otspec@lists.aau.at><br>
<b>Subject:</b> [EXTERNAL] Re: [MPEG-OTSPEC] comments wrt wide glyph ID proposal</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr" class="x_gmail_signature">On Tue, Dec 12, 2023 at 7:14 AM Hin-Tak Leung <<a href="mailto:htl10@users.sourceforge.net">htl10@users.sourceforge.net</a>> wrote:<br>
</div>
</div>
</div>
<div class="x_gmail_quote">
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div>I am somewhat on Peter's side - there are known poor combinations of usage of different "allowed" part of the spec... and there comes a point where people are asking to formalize quirks/bugs/implementations as spec, when bits are being used beyond what
they were designed for.<br>
<br>
One primary example is people asking for 16-bit mathematics to overflow in specific ways to support glyph ids higher than 65536. There are cmap tables designed for large glyph ids, asking for 16-bit cmap sub types to overflow in specific/implementation-defined
ways is formalizing quirks/bugs as features...<br>
<br>
I think adding a few clauses about where *not* to use GSUB type 5 and GPOS type 7 (contextual) may be a good idea.<br>
</div>
</blockquote>
<div><br>
</div>
<div>Contextual is just an storage-optimized version of the ChainingContextual when there's no context (backtrack / lookahead). There's no ambiguity there.</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div></div>
<div style="margin:10px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:13px; color:rgb(38,40,42)">
<div>On Tuesday, 12 December 2023 at 12:45:07 GMT, Simon Cozens <<a href="mailto:simon@simon-cozens.org" target="_blank">simon@simon-cozens.org</a>> wrote:
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div dir="ltr">On 12/12/2023 02:54, Peter Constable wrote:<br>
</div>
<div dir="ltr">> This may be an opportunity to deprecate certain formats from use in
<br>
</div>
<div dir="ltr">> wide-GID fonts. E.g., GSUB type 5 and GPOS type 7 (contextual) were
<br>
</div>
<div dir="ltr">> effectively obsoleted when the chaining contextual formats were added.
<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">My understanding is that OFF often contains multiple ways of doing the
<br>
</div>
<div dir="ltr">same thing, to give font producers opportunities to produce the most
<br>
</div>
<div dir="ltr">efficient binary representation. (for example, cmap subtables). These
<br>
</div>
<div dir="ltr">"obsolete" layout table formats can be used for the same purpose; <br>
</div>
<div dir="ltr">fontTools has code to select the most efficient representation of <br>
</div>
<div dir="ltr">chaining subtable and I've used it to knock quite a few bytes of fonts
<br>
</div>
<div dir="ltr">which make heavy use of chaining rules.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">So I don't see a reason for taking these away; even if you want to do
<br>
</div>
<div dir="ltr">that, the change is not germane to wide glyph IDs. I'm in favour of
<br>
</div>
<div dir="ltr">keeping the scope of the change focused.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Simon<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">_______________________________________________<br>
</div>
<div dir="ltr">mpeg-otspec mailing list<br>
</div>
<div dir="ltr"><a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a><br>
</div>
<div dir="ltr"><a href="https://lists.aau.at/mailman/listinfo/mpeg-otspec" originalsrc="https://lists.aau.at/mailman/listinfo/mpeg-otspec" shash="QQMv2QfHGLfVFKXnzttAFZLd7xWZQbvzV8/72XKHG3JKGY+ePGPkB8Ky+AcqpmrkdBI7xwaGRVOgBIo0TC+Y4m6nxYfUjJOFaP8c4t1tSmsE68uuV516Ina56N7Cpc473nrANxfFtoKm4B+OiSY3l3RzduVgwQaETZVKX0nchlY=" target="_blank">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a><br>
</div>
</div>
</div>
</div>
_______________________________________________<br>
mpeg-otspec mailing list<br>
<a href="mailto:mpeg-otspec@lists.aau.at" target="_blank">mpeg-otspec@lists.aau.at</a><br>
<a href="https://lists.aau.at/mailman/listinfo/mpeg-otspec" originalsrc="https://lists.aau.at/mailman/listinfo/mpeg-otspec" shash="GnDboXZ/ykFJxBbhjYqafWVPmkThUld7a2n1cwB9PT3JVBm14BTfpqMM5ZQHbSt+1LblMstCCFKnblGkdbkXmYHAKSUWB7XpUtl1PfCJDebca0MECmlpYxiVxKpDEXzSj8qwvkmIWVsDMbBvdrjdAYmtpS6I4sJSX4rUShFRsWM=" rel="noreferrer" target="_blank">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a><br>
</blockquote>
</div>
</div>
</div>
</body>
</html>