freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] unexpected MIRP behaviour with pv*fv near 0


From: Jan Bruns
Subject: Re: [ft-devel] unexpected MIRP behaviour with pv*fv near 0
Date: Sat, 10 Dec 2016 23:16:45 +0000 (UTC)
User-agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]