freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] Autohinter: stem darkening, first rough prototype


From: Nikolaus Waxweiler
Subject: Re: [ft-devel] Autohinter: stem darkening, first rough prototype
Date: Mon, 21 Sep 2015 14:19:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

(repost to the list because I forgot to correct the addressee)

> This `fix' is purely accidental, unfortunately.  There is no guarantee
that you get similar well-looking results with other fonts.

I noticed already, Open Sans Bold likes to snap 1 pixel too high.

You might convert metric values from output space units back to font
units so that you get a correct fit for a particular size.  Or maybe
you extend the blue zone data structures with resolution-dependent
versions that you can adjust for emboldening.

Hm. You mean taking the emboldening strength in font units and adjusting
the upper boundary of all blue zones accordingly for each glyph in each
run through af_loader_load_g? Maybe that will save me temporary copies.
Or not. Will have a look.

I have a problem to exactly understand what you mean with `emboldening
without any hinting'.  If you are using the auto-hinter, you *do*
hinting, and emboldening should be thus implemented by the auto-hinter
itself.  My point of view is that CFF's emboldening at smaller sizes
is already a kind of hinting, so it should stay within the driver.
[Of course, in case the code is really generic, I don't mind if it
gets moved to a `FreeType service' so that more than a single module
has access to it.]

Well, the idea was that emboldening should be something that's always
done on low-DPI-screens regardless of hinting, so it should be
independent of the autohinter. Yes, I was thinking about a "FreeType
service". Font drivers and the autohinter could then use it as they see
fit, e.g. the TrueType driver could embolden X and Y when not
grid-fitting, X only when cleartyping (maybe with different emboldening
parameters) and not at all when the user wants Windows95-style glyphs.
The CFF driver could then be changed to use the service. That would put
the emboldening code in one central place :)

The latter option is certainly the better one, but it is a non-trivial
task, I fear, since it affects almost everything from the auto-hinter
module.  So the first option is probably much easier to implement.

This is beginning to look like a long commitment ;)



reply via email to

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