diff options
Diffstat (limited to 'nx-X11/extras/freetype2/src/autohint/mather.py')
-rw-r--r-- | nx-X11/extras/freetype2/src/autohint/mather.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/nx-X11/extras/freetype2/src/autohint/mather.py b/nx-X11/extras/freetype2/src/autohint/mather.py new file mode 100644 index 000000000..8ad8b5535 --- /dev/null +++ b/nx-X11/extras/freetype2/src/autohint/mather.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# + +# +# autohint math table builder +# + + +# Copyright 1996-2000 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + + +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 " };" + + +# This routine is not used currently. +# +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 + + +# END |