> Thanks for the explanation. The source code needs comments like
> that :)

I'm awaiting your patches :-)

> In my first prototype, I tried to get a face-wide stdVW and modified
> af_latin_metrics_init_widths to upload whatever is computed to
> AF_FaceGlobals.  Then I found that when displaying all glyphs in a
> font with ftview, the first few glyphs don't produce anything
> (spoiler: af_cjk_metrics_init_widths was here, maybe because #define
> AF_STYLE_FALLBACK AF_STYLE_HANI_DFLT), and later runs produced
> different standard_widths (for different scripts).

Yes, we have lazy evaluation of the standard widths, and as I've
written earlier, there are different standard widths depending on the
script.

> So by "in a controlled way", I mean run all script analyzers from
> af_face_globals_get_standard_widths() upon metrics initialization
> and do something meaningful with the produced standard_widths, ONCE
> PER SIZE before anything else is done.

Why `once per size'?  The auto-hinter computes the standard widths in
*font units*, this is, the values are unscaled!

> And "hard-to-follow" was a general comment.  I find the excessive
> preprocessor use in FT difficult to follow and it took me a while to
> understand how the different parts of the autohinter click together
> and what is done in what order...

This is true, unfortunately.


    Werner
_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to