<html><head></head><body><div class="ydp5699a1f0yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:16px;"><div></div>
        <div>Just a caution: My recall of the exact details is a bit fuzzy, not having looked at it after a few years, but I remember there is an "optimization" details of the quadratic which will break very badly under cubic: in the typical cubic you get on-off-off-on-off-off-on, right? In quadratic it is a lot simpler, just on-off-on-off-on-off- (theoretically). I believe there is a clever optimisation to save a few bytes somewhere which says, if you have off-off, it implies a hidden on-point in the middle. This saves a few bytes as you don't encode the middle on-point. This obviously will break in the cubic case, as you now have an ambiguity: does two off-off points means two quadratic with an implied hidden middle on-point, or is it the middle of a cubic?</div><div><br></div><div>Microsoft or Apple people (or even freetype people) more familiar with TT instructions can correct me and/or fill in the details.</div><div><br></div>
        
        <div id="ydp5699a1f0yahoo_quoted_5958640493" class="ydp5699a1f0yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Friday, 22 September 2023 at 13:25:52 BST, Georg Seifert <typogeorg@gmail.com> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="ydp5699a1f0yiv3242299852"><div><br clear="none" class="ydp5699a1f0yiv3242299852"><div><br clear="none" class="ydp5699a1f0yiv3242299852"><blockquote type="cite" class="ydp5699a1f0yiv3242299852"><div id="ydp5699a1f0yiv3242299852yqtfd48963" class="ydp5699a1f0yiv3242299852yqt7405472867"><div class="ydp5699a1f0yiv3242299852">Am 22.09.2023 um 14:01 schrieb Skef Iterum <<a shape="rect" href="mailto:skef@skef.org" class="ydp5699a1f0yiv3242299852" rel="nofollow" target="_blank">skef@skef.org</a>>:</div><br clear="none" class="ydp5699a1f0yiv3242299852Apple-interchange-newline"><div class="ydp5699a1f0yiv3242299852">

  

    </div></div></blockquote></div></div><div id="ydp5699a1f0yiv3242299852yqtfd72934" class="ydp5699a1f0yiv3242299852yqt7405472867"></div><div><div id="ydp5699a1f0yiv3242299852yqtfd08935" class="ydp5699a1f0yiv3242299852yqt7405472867"><div class="ydp5699a1f0yiv3242299852"><p class="ydp5699a1f0yiv3242299852">In the August meeting in Portland (and in some exchanges before
      that) some questions were raised about the feasibility of hinting
      cubic splines in glyf with the existing TT instruction set. One
      response was that this was not likely to be a problem as it is
      relatively rare in practice to move quadratic control points (as
      opposed to on-curve points). The idea being that the fact that a
      cubic has two control points rather than one shouldn't be an
      issue.</p><p class="ydp5699a1f0yiv3242299852">Some folks on our team at Adobe decided to look into this a bit
      more, although not at great depth. From what we can tell, when the
      convention of only moving on-curve points works, that is typically
      because of a subsequent call to of the IUP instruction in one or
      both dimensions.  That instruction is described <a shape="rect" href="https://developer.apple.com/fonts/TrueType-Reference-Manual/RM05/Chap5.html#IUP" class="ydp5699a1f0yiv3242299852" rel="nofollow" target="_blank">this
        way</a>:</p>
    <blockquote class="ydp5699a1f0yiv3242299852"><p class="ydp5699a1f0yiv3242299852">Interpolates untouched points in the zone referenced by zp2 to
        preserve the original relationship of the untouched points to
        the other points in that zone. <br clear="none" class="ydp5699a1f0yiv3242299852">
      </p>
    </blockquote><p class="ydp5699a1f0yiv3242299852">Unfortunately the documentation goes on to say:</p>
    <blockquote class="ydp5699a1f0yiv3242299852"><p class="ydp5699a1f0yiv3242299852">Considers the reference glyph outline contour by contour,
        moving any untouched points that fall sequentially between a
        pair of touched points.</p>
    </blockquote><p class="ydp5699a1f0yiv3242299852">If neither cubic control point is hinted, neither will fall
      sequentially between a pair of touched points, and therefore cubic
      control points will typically not move in relation to how their
      adjacent on-curve points move.</p></div></div><div class="ydp5699a1f0yiv3242299852"><div class="ydp5699a1f0yiv3242299852">As I understand this, it doesn't matter what point before or after is touched and if that is in the same "segment". It basically ignores the flags and just looks at the contour points (and the previous and next point can be the same, then the whole contour moves in the same direction). And thous I don't see any difference with hinting control point in cubic or quadratics.</div></div><div class="ydp5699a1f0yiv3242299852"><br clear="none" class="ydp5699a1f0yiv3242299852"></div><div class="ydp5699a1f0yiv3242299852">Georg</div></div></div><div class="ydp5699a1f0yqt7405472867" id="ydp5699a1f0yqtfd65453">_______________________________________________<br clear="none">mpeg-otspec mailing list<br clear="none"><a shape="rect" href="mailto:mpeg-otspec@lists.aau.at" rel="nofollow" target="_blank">mpeg-otspec@lists.aau.at</a><br clear="none"><a shape="rect" href="https://lists.aau.at/mailman/listinfo/mpeg-otspec" rel="nofollow" target="_blank">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a><br clear="none"></div></div>
            </div>
        </div></div></body></html>