On Tue, 2005-08-23 at 08:18, [EMAIL PROTECTED] wrote: > Based on your detailed analysis (thanks again), I removed the line > " - state transition diagram uses undefined glyph ID" > from the essential error list, and add following paragraph > into the section. If I'm misunderstanding, please let me know. I think your summary matches what I said.
> In addition, gxvalid doesn't check "temporal glyph ID" used in the > chained State Machines (in "mort" and "morx" tables). I've never seen it in a 'mort' table, it is much less likely to occur there. A 'morx' table allows a compact representation of substitution tables associated with a state machine, while a 'mort' table requires a per-glyph lookup. So using a glyph ID like 32000 (Zapfino does) would require a huge lookup. I would leave the check in but flag it as a warning myself > of the glyph renderer. To validate such temporal glyph ID, gxvalid > must stack all undefined glyph IDs which is possible in the output > of previous State Machine and search them in "ClassTable" of current > State Machine. Checking that they occur in the class table isn't a requirement since a substitution can occur on a glyph in class 1 (the class of unspecified glyphs). So a state machine >could< be built which made such GIDs vanish even if they didn't get named in the class table. > I think quick hack is not enough to solve this issue, > so I want to put it to TODO of gxvalid. Um... I think this is equivalent to the halting problem -- at least I think you'd want to run all secondary state machines and make sure they made the GIDs vanish in all possible contexts. _______________________________________________ Freetype-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/freetype-devel
