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: mpsuzuki
Subject: Re: [ft-devel] [patch] TrueType GX/AAT validator
Date: Wed, 24 Aug 2005 09:44:25 +0900

Dear Mr. George Williams,

On 23 Aug 2005 14:50:54 -0700
George Williams <address@hidden> wrote:

>On Mon, 2005-08-22 at 18:29, address@hidden wrote:
>>     4-5. invalid feature number (117/183)
>>     -------------------------------------
>>     GX/AAT extension can include 255 different features for layout,  but
>>     popular layout features are predefined

>Are you sure it's only 255? The 'feat' table stores both feature and
>setting ids as uint16. The 'mort'/'morx' chains also use uint16. I
>didn't see anything which said they were limited to 255 -- but I haven't
>read everything:-)

Excuse me, it was my mistake in documentation: 65535, not 255.
gxvalid can use uint16 feature number, does not limit to 255.

>(And there are certainly fonts which use feature numbers>255,
>Osaka.dfont for one)

Thanks for giving concrete example, OK,
following is (part of) output of gxvalid on Osaka 4.2.

[ftvalid:gx] validation targets: mort
-------------------------------------------------------------------
validation mort table
validate chain 1/1
  mort chain header table
    mort feature list table
    featureType 16000 is out of registered range, setting 0 is unchecked
    featureType 16000 is out of registered range, setting 1 is unchecked
    featureType 16001 is out of registered range, setting 0 is unchecked
    featureType 16001 is out of registered range, setting 1 is unchecked
    featureType 4 is registered    setting 0    
    featureType 4 is registered    setting 1    
    featureType 103 is registered    setting 0    
    featureType 103 is registered    setting 2    
    featureType 25 is registered    setting 0    
    featureType 25 is registered    setting 1    
    featureType 0 is registered    setting 1    

I see, as you've pointed out, featureType > 255 are used,
and gxvalid handles them correctly.

>>     (see http://developer.apple.com/fonts/Registry/index.html).
>>     Some  fonts  include  feature  number  which  is  incompatible  with
>>     predefined feature registry.
>> 
>>     In our survey, there are 140 fonts including "feat" table.
>>     a)  14 fonts uses too-large feature number (out of defined range).
>>     b)  67 fonts uses feature number which should not be used.
>>     c) 117 fonts set wrong feature range (nSetting).
>>            this infraction is found in mort/morx.

>The 'feat' (and 'mort') documentation says:
>        Apple has defined a standard set of text features. You may
>        include one or more of these or create your own text features.
>        Font features that will be supported by your font must be part
>        of the Font Feature Registry maintained by Apple Computer, Inc.
>To me this seems contradictory. First we are told we can create our own
>features, then we are told we can only use standard ones.
>(I really dislike Apple's TrueType documentation)

I see. In fact, Osaka.dfont is manifactured by Apple themselves,
but uses non-standard feature number, and it is not registered.

Umm, I remove "too-large feature number" from the error list,
because it is 'officially' permitted to use non-standard feature
number, and Apple themselves do so, as you pointed out.

As attached in above, at present, gxvalid shows tracing message
about such feature number: featureType is not in predefined range,
so the correctness of setting value cannot be validated.
I think it is acceptable point of compromise.

Regards,
mpsuzuki




reply via email to

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