[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Devel] Apple's 'gvar' table and friends
From: |
George Williams |
Subject: |
[Devel] Apple's 'gvar' table and friends |
Date: |
23 Mar 2004 10:20:15 -0800 |
After a good deal of effort (mostly trying to find someone at Apple
who knew anything about it), I believe I finally understand the workings
of Apple's 'gvar' table and friends ([acfg]var).
Is there any interest in adding support for apple's distortable fonts
to freetype?
I can provide code to interpret Apple's tables, but I'd rather have
someone who understands the truetype rasterizer (better than I)
undertake the changes to that. Is anyone interested in volunteering?
==============================
As I see it there are several components:
* Support must be added for the phantom vertical metrics points
* A routine to detect whether a given truetype font is distortable
(simply check for both an 'fvar' and a 'gvar' table
'cvar' and 'avar' are not required).
* A set of design coordinates must be specified, before a face
is rasterized.
I presume the multi-master routines should be used, but
I don't know the interface there either.
* These coordinates must be converted into normalized coordinates
(I can provide a routine to do this)
* Before 'prep' is called, the 'cvt ' table may need to be modified.
(I can provide a routine to do this)
If the autohinter is being used this is probably unnecessary.
* Before the outline is grid fit, before the locations of implied
points are calculated, the point locations (including
phantom points) must be modified.
(I can provide a routine to do this)
* Before a glyph made up of components is processed, the translation
of the components may be modified. This can be done in
two ways:
1) Modification of the translation matrix directly
2) Movement of points in the base/accent glyph to
which the accent is attached.
(I can provide a routine which will return the needed offsets)
Then transformation matrices should be applied
things should be grid fit
(all instances of a distortable glyph share the same
instructions, but the cvt table may be different).
and rasterized
- [Devel] Apple's 'gvar' table and friends,
George Williams <=