70 lines
No EOL
1.3 KiB
Python
70 lines
No EOL
1.3 KiB
Python
|
|
|
|
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) |