[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Devel] Confusion with MIRP
From: |
George Williams |
Subject: |
[Devel] Confusion with MIRP |
Date: |
Sat, 05 Jan 2002 17:05:01 -0800 |
FreeType is instructing one of my (generated) fonts in a fashion which I
find unexpected.
I don't know if this is a bug in freetype, or merely ignorance on my part.
The code in question is ttinterp.c: 5601-5613 in Ins_MIRP
/* minimum distance test */
if ( ( CUR.opcode & 8 ) != 0 ) {
if ( org_dist >= 0 ) {
if ( distance < CUR.GS.minimum_distance )
distance = CUR.GS.minimum_distance;
} else {
if ( distance > -CUR.GS.minimum_distance )
distance = -CUR.GS.minimum_distance;
}
}
In the case I am looking at I have autoflip turned off,
distance = 88
org_dist = -84
cur_dist = -66
GS.minimum_distance = 64
After this code section has executed
distance = -64
I had expected distance to remain at 88.
1) distance is bigger than the minimum_distance so I assumed it should not
be set.
2) the sign has been flipped even though autoflip is off.
Why is org_dist used to determine the sign?
- [Devel] Confusion with MIRP,
George Williams <=