Tony,

> The reason for the failure is that the first check in the function 
> cff_get_advance, shown below, always fails.  At no point is there a check for 
> FT_ADVANCE_FLAG_FAST_ONLY of the flag passed into the function.
> 
> cff_get_advance( ... )   
> {
>     if ( !FT_IS_SFNT( face ) )                                  // <----- 
> always fails, regardless of the flags
>       return FT_THROW( Unimplemented_Feature );
>   ...
> }

This error is ignored in base/ftadvanc.c and the identical slow fallback is 
implemented there. It is true that cff_get_advance used to ignore 
FT_ADVANCE_FLAG_FAST_ONLY, which was incorrect.

Alexei

Reply via email to