freetype-devel
[Top][All Lists]
Advanced

[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?




reply via email to

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