Here's another one with MIRP, but easy to understand:

fv=pv=a-axis

refpoint.x  = 448
workpoint.x = 471

(FT): MIRP moves workpoint to 384 
(me): MIRP moves workpoint to 512

The move I'd expect doesn't change the order of the 
points relative to the projection vector (and in this
case also is the shorter move).

instruction-code: 

 g0100: ed  MIRP[mrB]

min-dist:64
cvt-ci:255
value (!) from control-tab: 12
round-state RTG

What probably happens:
                          bug
                      alt1 | alt2
initial distance:      23  |  -23
near enough to cvt?   yes  |  yes
new distance           12  |  -12
engine compensation:   12  |  -12
round to grid           0  |    0
min-dist              -64  |   64



this is at least a bug that I have in my own code
I'm writing on.

A temporary result is zero, which doesn't have a sign,
so it's difficult to decide what a sign-flip would be
when applying the minimum-distance.

In this specific case, my code was in "luck" to
avoid the sign-flip, and behave just as a human user 
would expect (avoid changing the order of points).

But the font seems to expect the wrong behaviour.

Seen with times new roman from windows7, glyph 42 at size 12:

ttdebug 42 12 ./times.ttf

at instruction g0100.

$ md5sum ./times.ttf
01d51f020433ac2343dc03c097aac735  ./times.ttf


Gruss

Jan Bruns


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

Reply via email to