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)