First, a clarification on terminology. I've seen "vertical stem" used to mean either a horizontal stroke that 
is moved vertically by hinting or a vertical stroke that is moved horizontally by hinting. Nikolaus is using the former 
here. I am biased to use the latter, because it matches the operator definitions of Type 1 and CFF fonts. For example, 
the operator "vstem" declares a hint for a vertical stroke that may be moved horizontally to "snap" 
to a pixel boundary. In other words, an "I" is a single vertical stem and a hyphen is a single horizontal 
stem.

In another email, Nikolaus talks about adjusting advance width as a function of 
hinting. In my opinion this is a poor trade-off. It is much harder for a layout 
engine to do its work if advance widths are a function of size. This also 
defeats the PostScript philosophy of scalability and device independence. Think 
about WYSIWYG if layout is not linearly scalable. I've seen some systems that 
try to account for the fractional position of a glyph origin by adjusting its 
advance width. In such a system, a glyph advance cannot be known until all 
previous glyphs in a line of text have been hinted and positioned. Layout and 
rendering must be run simultaneously.

The motivation for adjusting advance width like this is to improve interglyph spacing. I 
think it is much better to keep advance widths linearly scalable and avoid horizontal 
snapping of vertical stems — "light" hinting.

Thanks.

-Dave


On 7/10/2017 7:40 AM, Nikolaus Waxweiler wrote:
The gif you posted looks like the FreeType hinter is in "full" mode and
snaps stems both vertically *and* horizontally. The Adobe hinter snaps
just vertical stems, or "light". Not sure if the Type1 hinter knows what
"light" is.

_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.nongnu.org%2Fmailman%2Flistinfo%2Ffreetype-devel&data=02%7C01%7C%7Ce2b8aa93390d4c32d72808d4c7a1cc8d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636352945115817481&sdata=kVFn%2BvcvhoQybR3ZE1fAQA3gsjeBqOHZynTaA5Hlh%2Bk%3D&reserved=0
.


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

Reply via email to