1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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)
|