On Mon, 2005-08-22 at 18:29, [EMAIL PROTECTED] wrote:
> - state transition diagram uses undefined glyph ID
A note of caution here, the apple world makes use of undefined glyph IDs
as temporary state flags. One state machine will test for a condition
and apply a substitution which creates an invalid GID, then another
state machine will detect the bad GID, change it to something valid and
enter a new state where it does other substitutions.
Example font: Zapfino 4.1d6
This is useful on the mac because only two substitutions can be made
once a pattern has been matched.
Suppose one wants to change
"abcd" => "efgh"
changing nothing until the "d" was read. This can't be done with
a single state machine, but one way to do it would be to create
two state machines, one which matches "abcd" and upon the match
changes the "a" to GID65534, and a second which enters a magic
state when it gets GID65534 which it changes to "e", changes
"b"->"f", and so forth.
A long winded explanation to say that out of bounds GIDs are not always
undesirable -- as long as a later substitution will prevent them from
reaching the output string.
(I've been wrestling with this in fontforge for a while, trying to
figure out what Zapfino was up to -- I think that's the gist of it)
_______________________________________________
Freetype-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/freetype-devel