<div dir="ltr"><div dir="ltr"><div><div dir="ltr" class="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="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>                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="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" 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" rel="noreferrer" target="_blank">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a><br>
</blockquote></div></div>