Ah, I see that I've done a mistake, below is a corrected patch
(untested). However, I think that the current method is flawed in
general since arguments to opcodes are completely ignored by
`SKIP_Code'. For example, it is not possible to decide whether the
bytecode is
SVTCA_x
PUSHB_1
24
RS
IF
or
SVTCA_x
PUSHB_1
39
RS
IF
It seems to me that we really have to compare the *complete* bytecode
(including the arguments) within `Ins_FDEF'.
So, I've applied the updated patch you provided. The adjusted opcode
sequences for the spacing functions broke Segoe UI Semibold (maybe
others too), but I agree that what you did looks correct for those.
This, along with the point you mentioned above about not being able to
detect the pushed value, makes me think that this piece needs more work
before it gets pushed out to a release. I do want to keep one or two of
them in there however. I will trim down the code to patterns known to
be OK, and push off work on the others until after the release.
Does this make sense to you?
_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel