Hi Werner,

I have started testing the new implementation of rasterization tests in font 
validator
(background, planned in https://github.com/HinTak/Font-Validator/issues/5 ) and 
comparing
how the new test behaves, with the old 2003 binary.

Specifically, about line 7193 of here -  (is line 6619 in current git HEAD)
https://android.googlesource.com/platform/external/freetype/+/9c745321260bb728ab1cd1c8fd5f075854b2ad49/src/truetype/ttinterp.c

where it does:

...
          new_dist = org_dist;
        }
      }
      else
        new_dist = 0;

...


Since the middle clause is an error condition freetype silently works around, 
my initial implementation does:

...
          new_dist = org_dist;
          EMIT_ERROR_MESSAGE();
        }
      }
      else
        new_dist = 0;

...


but the old 2003 binary seems to be doing the equivalent of :

...
          new_dist = org_dist;      
        }
      }
      else
        new_dist = 0;
    
      if( (new_dist == org_dist) && OTHER_YET_UNKNOWN_CONDITION)
        EMIT_ERROR_MESSAGE();
...

I.e. the older 2003 binary flags all the cases that Freetype identifies as 
errors, but also more. Can you make a guess of what those 
OTHER_YET_UNKNOWN_CONDITION might be?

Hin-Tak

_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to