[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

reply via email to

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