shithub: freetype+ttf2subf

ref: 0456354658b844ec9f0a23cce83735a0d0cf21f8
dir: /src/autohint/mather.py/

View raw version
import math

ag_pi = 256

def print_arctan( atan_bits ):
    atan_base = 1 << atan_bits
    
    print "static AH_Angle  ag_arctan[ 1L << AG_ATAN_BITS ] ="
    print "{"
    
    count = 0
    line  = ""
    
    for n in range(atan_base):
        comma = ","
        if (n == atan_base-1):
            comma = ""
            
        angle = math.atan(n*1.0/atan_base)/math.pi*ag_pi
        line  = line + " " + repr(int(angle+0.5)) + comma
        count = count+1;
        if (count == 8):
            count = 0
            print line
            line = ""
            
    if (count >0):
        print line
    print "};"


def print_sines():
    print "static FT_Fixed  ah_sines[ AG_HALF_PI+1 ] ="
    print "{"
    count = 0
    line  = ""
    
    for n in range(ag_pi/2):
        sinus = math.sin(n*math.pi/ag_pi)
        line  = line + " " + repr(int(65536.0*sinus)) + ","
        count = count+1
        if (count == 8):
            count = 0
            print line
            line = ""
        
    if (count > 0):
        print line
    print " 65536"
    print "};"

print_arctan(8)
print