> Currently, I can't debug the fpgm/prep tables with FontForge because
> it crashes.  Rogier, maybe this information gives you further hints.
> It seems that we have wrong assumptions on the storage area, and how
> RS/WS interact with the CVT.

George provided a quick patch, so I was able to debug it.

I have found the problem, which is something completely different:
Function #84 (defined in the <fpgm> table) in font verdanab.ttf
(version 2.40) is called as the last subroutine in the <prep> table.
Within the function, the GETINFO instruction is called to find out
whether we do grayscaling.  If yes, storage[2] is set to 1 and to 0
otherwise.  The <gasp> table indicates that you must not use gray
scaling in the range 9-16, so everything is fine.

However, verdanab.ttf exhibited two bugs in FreeType, which I've now
fixed:

  . `tt_loader_init' never reset `exec->grayscale' properly because a
    wrong constant has been used in a comparison.

  . A change from mono to grayscale rendering (and vice versa)
    requires a re-execution of `tt_face_load_prep'.


     Werner


_______________________________________________
Freetype mailing list
Freetype@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype

Reply via email to