freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] [patch] TrueType GX/AAT validator


From: George Williams
Subject: Re: [ft-devel] [patch] TrueType GX/AAT validator
Date: 23 Aug 2005 13:57:48 -0700

On Tue, 2005-08-23 at 08:18, address@hidden 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.





reply via email to

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