freetype-devel
[Top][All Lists]
Advanced

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

[Devel] unpatented hinting system for Dynalab fonts, etc


From: Graham Asher
Subject: [Devel] unpatented hinting system for Dynalab fonts, etc
Date: Tue, 7 Jan 2003 10:50:35 -0000

David,

I have been asked by Artifex to implement a simple workaround for Dynalab
fonts and others that use hinting to form their characters, and for which
hinting is thus essential. The idea is to avoid infringing the patents by
not a storing free vector or a projection vector in the graphics state, but
simply an indication of whether they are both in the x axis or the y axis,
which (Raph Levien believes) is good enough for these fonts. Obviously the
move instructions won't work properly when the free and projection vectors
are not identical and do not both point right or left.

Last time I suggested changes to FreeType you were very keen on not changing
freetype.h and other core header files. This time I think it is necessary to
change them, but I hope you'll agree that the changes are not obtrusive or
undesirable. I want to add a new glyph loading flag,
FT_LOAD_UNPATENTED_HINTING, to freetype.h. I shall also need fttypes.h to
add a new enumeration for unit vector types, where unit vectors themselves
are not stored in the graphics state. Although these things are specific to
TrueType hinting, the present unit vector type is in fttypes.h, so it would
be confusing to put any equivalent or replacement elsewhere. And I'll have
to change ttobjs.h, because that contains the definition of the hinting
graphics state TT_Graphics_State. And lastly I need to add a new
configuration macro, TT_CONFIG_OPTION_UNPATENTED_HINTING, to ftoption.h. The
unpatented hinting system needs to be selectable both at compile time and
(if it is available by being compiled) at run time.

If you would prefer a different arrangement please tell me; but, as I said,
these changes have a very light and small footprint and don't disturb the
current way of working.

Best regards,

Graham




reply via email to

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