diff options
Diffstat (limited to 'misc/scripts/make_bmfhdr.py')
-rw-r--r-- | misc/scripts/make_bmfhdr.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/misc/scripts/make_bmfhdr.py b/misc/scripts/make_bmfhdr.py new file mode 100644 index 0000000000..1d3c40f9c6 --- /dev/null +++ b/misc/scripts/make_bmfhdr.py @@ -0,0 +1,67 @@ + + +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) |