[Top][All Lists]

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

Re: [ft] Using FreeType for matching font metrics

From: Dave Arnold
Subject: Re: [ft] Using FreeType for matching font metrics
Date: Wed, 23 Oct 2013 09:43:07 -0700
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1

Hi Martin,

There are two special MM fonts that Adobe Acrobat uses for this purpose, AdobeSansMM and AdobeSerifMM. The Adobe rasterizer for Multiple Master takes an extra parameter, the weight vector, for rendering a glyph. This specifies the weighting to be applied to each master design in order to render the glyph.

The special fonts are 2-axis designs, weight and width. They have 4 masters. The client of the rasterizer is responsible for computing the weight vector from a desired weight (same for all glyphs) and width (per-glyph). This computation can be complicated, as weight and width interact.

The special fonts are carefully designed to have reasonably good looking glyphs over a wide range of axis values. In fact, for most glyphs it is possible to use extrapolation, or points outside of the original master designs. "Extrapolation tables" specify for each glyph what the limits are before the glyphs start to have problems, like self-intersection. These two fonts were expensive to build and test!

PDF documents support this feature by including a font descriptor including font-wide characteristics and a width table with the design width of each glyph.

Kerning is not needed in PDF, as the format does not support layout calculations. Each glyph is located at a known, fixed position. If you want to support layout of these substitute fonts that matches the original, you would have to deal with kerning and possibly the non-linear metrics of TrueType fonts. LTSH, HDMX might help, but these are merely caches of common sizes; the only way I know to replicate the hinted widths at all sizes is to interpret the original glyf programs.

Another issue is glyph complement. You can't substitute for a target glyph that does not exist in the special font. The Adobe fonts are still limited to the original Adobe Standard character set.

Adobe has moved away from this approach of font substitution in favor of font embedding.


On 10/23/2013 8:14 AM, Martin Kotulla (SoftMaker) wrote:
On 23.10.2013 14:53, suzuki toshiya wrote:
Because the number of master faces in MM font is less than 16, it is
impossible to make a MM font with 26 x 2 axis. 
This would not work anyway for my case because all design axes would
then be applied simultaneously. And this is not what I want. It is this:
I guess Martin's expect is giving per-glyph interpolation parameters
for the MM font including small number of master faces. If I'm
misunderstanding, please let me know. 
Your understanding is correct.
# I'm not sure if MM font spec prohibit setting per-glyph #
interpolation parameter, although the pair kerning tuning # for such
case would be troublesome. Regards, mpsuzuki 
Kerning would be "interesting" but is a side issue for me right now.



Freetype mailing list

reply via email to

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