2014-02-10 09:10:30 +08:00
|
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
if (len(sys.argv) != 2):
|
2016-10-31 01:44:57 +08:00
|
|
|
print("Pass me a .fnt argument!")
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
f = open(sys.argv[1], "rb")
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
name = sys.argv[1].lower().replace(".fnt", "")
|
2014-02-10 09:10:30 +08:00
|
|
|
|
|
|
|
l = f.readline()
|
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
font_height = 0
|
|
|
|
font_ascent = 0
|
|
|
|
font_charcount = 0
|
|
|
|
font_chars = []
|
|
|
|
font_cc = 0
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
while(l != ""):
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2016-10-31 01:44:57 +08:00
|
|
|
fs = l.strip().find(" ")
|
2016-10-31 01:57:40 +08:00
|
|
|
if (fs == -1):
|
|
|
|
l = f.readline()
|
2016-10-31 01:44:57 +08:00
|
|
|
continue
|
2016-10-31 01:57:40 +08:00
|
|
|
t = l[0:fs]
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
dv = l[fs + 1:].split(" ")
|
2016-10-31 01:44:57 +08:00
|
|
|
d = {}
|
|
|
|
for x in dv:
|
2016-10-31 01:57:40 +08:00
|
|
|
if (x.find("=") == -1):
|
2016-10-31 01:44:57 +08:00
|
|
|
continue
|
|
|
|
s = x.split("=")
|
2016-10-31 01:57:40 +08:00
|
|
|
d[s[0]] = s[1]
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
if (t == "common"):
|
|
|
|
font_height = d["lineHeight"]
|
|
|
|
font_ascent = d["base"]
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
if (t == "char"):
|
2016-10-31 01:44:57 +08:00
|
|
|
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"])
|
2016-10-31 01:57:40 +08:00
|
|
|
font_cc += 1
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:44:57 +08:00
|
|
|
l = f.readline()
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
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={"
|
2014-02-10 09:10:30 +08:00
|
|
|
for i in range(len(font_chars)):
|
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
c = font_chars[i]
|
|
|
|
if (i > 0):
|
|
|
|
cstr += ", "
|
|
|
|
cstr += c
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
cstr += ("};")
|
2016-04-03 02:26:12 +08:00
|
|
|
|
2016-10-31 01:44:57 +08:00
|
|
|
print(cstr)
|