Erik,

ttdebug works again (more or less).  Please test.  While doing so I've
found the probable cause of FontForge's failure to properly debug your
subpixel code.

Here's a sample session to debug Arial's glyph `x' (with index 91) at
16ppem.  The keys you have to press are indicated with single quotes
(`c' means continue to the end of the code range, `s' does
single-stepping).

  > ttdebug 91 16 arial.ttf
  f0000: 40  NPushB(67) $55 $54 $41 $40 $3f $3e
  'c'

  c0000: b9  PushW[1] $0054 $0328
  'c'

  c0000: b9  PushW[1] $0054 $0328
  'c'

  g0000: b1  PushB[1] $02 $02
  's'
  g0003: 43  RS                                  (0002)0002
  's'
  g0004: 54  EQ                                  (0002 0002)
  's'
  g0005: 58  IF                                  (0001)
  's'
  g0006: 40  NPushB(21) $0f $01 $0b $06 $04 $02
  ...

The leading characters in the output indicate the code range: `f' is
`fpgm', `c' is `cvt', and `g' the glyph program.  As can be seen, the
CVT code is run *twice*!  This confuses FontForge, I believe
(additionally, it's completely unnecessary).

Please fix this.  It seems to me that some of the logic from
`tt_loader_init' must be added to `tt_size_ready_bytecode' so that a
re-execution of the `prep' program can be avoided.


    Werner

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

Reply via email to