[Top][All Lists]
[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.
Re: [ft-devel] [patch] TrueType GX/AAT validator, George Williams, 2005/08/23
Re: [ft-devel] [patch] TrueType GX/AAT validator, mpsuzuki, 2005/08/23