freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] [GSoC] Extending the CF2 interpreter


From: Ewald Hew
Subject: Re: [ft-devel] [GSoC] Extending the CF2 interpreter
Date: Tue, 18 Jul 2017 15:51:18 +0800

> OTOH, surely global ascender /descender is not related to line-spacing at all?

I guess it depends on the application... some fonts are not designed
for multi-line typesetting, esp. artistic ones like Zapfino, and the
ascender/descenders probably reflect this. However, FreeType does use
the ( ascender - descender ) (for cff) or the bbox (for type1) value
to calculate vertical advance.

In the case of CFF, we get these values from `hhea' or `OS/2'. This
includes a "line gap" value. But for Type 1, we can only obtain the
ascender/descender values and not the line gap, as there is no such
field in AFM. I did even try editing the AFM file by hand in an
attempt to get the lines to match up (in ftview's waterfall view), to
no avail.

So, regardless of the converter, we cannot obtain the same line
spacing between Type 1 and CFF versions of the same font. In fact, I
think most typesetting applications override line spacing anyway, so
the importance of keeping this consistent is questionable. A
reasonable compromise, then, is to just keep the current behaviour
which is to use the bbox values.

In any case, the hinting seems to be consistent between the two, so I
think the new interpreter is working fine. The metrics issues are from
the module loading the glyph and may be bugs that need to be fixed
later on. Note that it only happens with fonts converted from CFF to
Type 1, not between Type 1 old and Type 1 new, so this is a separate
issue that exists on master branch as well. For now, I'll move on to
adding CID support and cleaning up the other changes first.

Ewald



reply via email to

[Prev in Thread] Current Thread [Next in Thread]