Hi Werner, I just got some time to quickly check this bug. The reason why the autohinting code seems to get triggered for that font is because `ttface->num_locations` is 1 for this font while it's 0 for all other fonts that I had in my test collection. This check happens in FT_Load_Glyph in `ftobjs.c` on line number 999 in my branch where autohint is set to true, there's a comment about `num_locations` over there. I'm under the impression that that value will not be set to `0` in the case of OTF fonts with TTF glyphs. I'm not sure how to add a check that can prevent hinting to be run for OT-SVG glyphs. Whether or not a glyph index has a corresponding SVG glyph in the table is determined later on inside cff_slot_load or TT_Load_Glyph. Any ideas on how to prevent autohinting from being run on an OT-SVG glyph?
Thanks, Moazin On Mon, Jan 3, 2022 at 10:48 AM Werner LEMBERG <[email protected]> wrote: > > Hello Moazin, > > > just now I've pushed new branches to the FreeType and FreeType Demo > repositories with my changes. > > > https://gitlab.freedesktop.org/freetype/freetype/-/tree/wl/freetype-ot-svg-from-scratch-new > > https://gitlab.freedesktop.org/freetype/freetype-demos/-/tree/wl/freetype-demos-support-ot-svg-glyphs-new > > While the library stuff is thoroughly checked and modified[*], the > demo stuff is not yet; to the latter code I've only applied the > necessary fixes to make it compile. > > The reason why I've stopped is that I wasn't able to render this SVG > font: > > > https://get.fontspace.co/download/family/gep41/ffdec6d38cd94d51803685fec480ef08/bigpartyo2-green-font.zip > > Funnily, it was the first SVG that I downloaded, and I was quite > surprised to see no SVG rendering at all :-) > > AFAICS, the error 'Unimplemented Feature' is returned in line 502 of > file `afloader.c`. Please check. It doesn't make any sense for SVG > glyphs to run the auto-hinter. > > > Werner > > > [*] I did `git rebase -i HEAD^^^^^`, then walking over the code commit > by commit, adding my changes with `git commit --amend`. If I > found new things I did rebasing again so that the changes get > added to the right commit. >
