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: Steve Hartwell
Subject: Re: [ft-devel] [patch] TrueType GX/AAT validator
Date: Wed, 24 Aug 2005 07:39:01 -0700
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

on 8/23/2005 1:57 PM George Williams wrote:

   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.
No, if I recall correctly the glyph action table is trimmed, so an action table containing large glyph IDs would not necessarily be huge. At any rate, these transient glyph IDs have been used since 'mort' tables were introduced; 'morx' is just a longword-aligned version of 'mort'.

--- to: address@hidden

George is correct in suggesting that to verify all correct use of these transient glyph IDs, you would have to run all the state machines (the "halting" problem). However, a reasonable shortcut would be to examine all of the glyph action tables, and to verify that for any "anyGlyphID -> aTransientGlyphID" mapping (where 'aTransientGlyphID' is an id greater than the number of actual glyphs) that there is a corresponding "aTransientGlyphID -> anyGlyphID" somewhere else in the same chain. This is not a comprehensive check, since there is no guarantee that the substitution actually occurs, but as a longtime 'mort/morx' table developer, I would say that this would cover a large part of the errors in practice.

If you have not already done so, reading the ICU layout sources might shed some light on some of the many good questions raised on this thread.

Thanks very much for your fine work on this validator; I'm looking forward to using (and possibly extending) it when my free time permits,

Regards,

Steve Hartwell
http://stevehartwell.home.comcast.net/proj/fontinspector





reply via email to

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