12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import sys
- if (len(sys.argv)!=2):
- print("Pass me a .fnt argument!")
- f = open(sys.argv[1],"rb")
- name = sys.argv[1].lower().replace(".fnt","")
- l = f.readline()
- font_height=0
- font_ascent=0
- font_charcount=0
- font_chars=[]
- font_cc=0
- while(l!=""):
- fs = l.strip().find(" ")
- if (fs==-1):
- l=f.readline()
- continue
- t = l[0:fs]
- dv = l[fs+1:].split(" ")
- d = {}
- for x in dv:
- if (x.find("=")==-1):
- continue
- s = x.split("=")
- d[ s[0] ] = s[1]
- if (t=="common"):
- font_height=d["lineHeight"]
- font_ascent=d["base"]
- if (t=="char"):
- font_chars.append(d["id"])
- font_chars.append(d["x"])
- font_chars.append(d["y"])
- font_chars.append(d["width"])
- font_chars.append(d["height"])
- font_chars.append(d["xoffset"])
- font_chars.append(d["yoffset"])
- font_chars.append(d["xadvance"])
- font_cc+=1
- l = f.readline()
- print("static const int _bi_font_"+name+"_height="+str(font_height)+";")
- print("static const int _bi_font_"+name+"_ascent="+str(font_ascent)+";")
- print("static const int _bi_font_"+name+"_charcount="+str(font_cc)+";")
- cstr="static const int _bi_font_"+name+"_characters={"
- for i in range(len(font_chars)):
- c=font_chars[i]
- if (i>0):
- cstr+=", "
- cstr+=c
- cstr+=("};")
- print(cstr)
|