]> git.tdb.fi Git - libs/gl.git/blobdiff - maketex.py
Support embedding textures inside font files
[libs/gl.git] / maketex.py
index 17012c8a6e7f6d8925dae9ce41cc51aa683c369f..017aa121368057e42a7119ef6973f9a2aadc6ddc 100755 (executable)
@@ -2,10 +2,6 @@
 
 # $Id$
 
-import Image
-import sys
-import os
-
 def escape(str):
        result=""
        for c in str:
@@ -19,18 +15,34 @@ def escape(str):
                        result+=c
        return result;
 
-img=Image.open(sys.argv[1])
-out=file(os.path.splitext(sys.argv[1])[0]+".tex", "w")
-fmt="".join(img.getbands())
-if fmt=="LA":
-       fmt="LUMINANCE_ALPHA"
-elif fmt=="L":
-       fmt="LUMINANCE"
-out.write("storage %s %d %d 0;\n"%(fmt, img.size[0], img.size[1]))
-out.write("min_filter LINEAR;\n")
-out.write("raw_data \"")
-data=list(img.getdata())
-for y in range(img.size[1]):
-       i=(img.size[1]-1-y)*img.size[0]
-       out.write(escape("".join(["".join([chr(v) for v in p]) for p in data[i:i+img.size[0]]])))
-out.write("\";\n")
+def make_tex(fn):
+       import Image
+
+       img=Image.open(fn)
+
+       fmt="".join(img.getbands())
+       if fmt=="LA":
+               fmt="LUMINANCE_ALPHA"
+       elif fmt=="L":
+               fmt="LUMINANCE"
+
+       result="storage %s %d %d 0;\n"%(fmt, img.size[0], img.size[1])
+       result+="min_filter LINEAR;\n"
+       result+="raw_data \""
+       data=list(img.getdata())
+       for y in range(img.size[1]):
+               i=(img.size[1]-1-y)*img.size[0]
+               result+=escape("".join(["".join([chr(v) for v in p]) for p in data[i:i+img.size[0]]]))
+       result+="\";\n"
+
+       return result
+
+if __name__=="__main__":
+       import sys
+       import os
+
+       if len(sys.argv)<2:
+               print "Usage: %s <image>"%sys.argv[0]
+       else:
+               out=file(os.path.splitext(sys.argv[1])[0]+".tex", "w")
+               out.write(make_tex(sys.argv[1]))