X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scripts%2Fmakefont.py;fp=scripts%2Fmakefont.py;h=e0b587938a5b80a85187a5e21c75a5c6f364df6e;hb=aa6020a158c85fdb3b7e9993065861dd1b6531ad;hp=0000000000000000000000000000000000000000;hpb=a78452c80a0750e57fe3183c10a4a6ede9527e68;p=libs%2Fgl.git diff --git a/scripts/makefont.py b/scripts/makefont.py new file mode 100755 index 00000000..e0b58793 --- /dev/null +++ b/scripts/makefont.py @@ -0,0 +1,50 @@ +#!/usr/bin/python + +def convert_def(fn): + src=file(fn) + + line=src.readline() + tw,th,fh,fa,fd=map(int, line.split()) + + result="native_size %d;\n"%fh + result+="ascent %.3f;\n"%(float(fa)/fh) + result+="descent %.3f;\n"%(float(fd)/fh) + + for line in src.readlines(): + g,x,y,w,h,ox,oy,a=map(int, line.split()) + result+="glyph %d\n{\n"%g + result+="\ttexcoords %f %f %f %f;\n"%(float(x)/tw, float(th-y-h)/th, float(x+w)/tw, float(th-y)/th) + result+="\tsize %.3f %.3f;\n"%(float(w)/fh, float(h)/fh) + result+="\toffset %.3f %.3f;\n"%(float(ox)/fh, float(oy)/fh) + result+="\tadvance %.3f;\n"%(float(a)/fh) + result+="};\n" + + return result + +def make_font(fn, size): + import maketex + import os + + if os.system("ttf2png \"%s\" -o makefont-tmp.png -d makefont-tmp.def -t -p -s %d"%(fn, size)): + raise Exception("Could not execute ttf2png") + + result="texture\n{\n" + result+="wrap CLAMP_TO_EDGE;\n" + result+=maketex.make_tex("makefont-tmp.png") + result+="};\n" + result+=convert_def("makefont-tmp.def") + + os.unlink("makefont-tmp.png") + os.unlink("makefont-tmp.def") + + return result + +if __name__=="__main__": + import sys + + if len(sys.argv)<4: + import os + print "Usage: %s "%os.path.basename(sys.argv[0]) + else: + out=file(sys.argv[2], "w") + out.write(make_font(sys.argv[1], int(sys.argv[3])))