summaryrefslogtreecommitdiff
path: root/misc/scripts/make_bmfhdr.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/scripts/make_bmfhdr.py')
-rw-r--r--misc/scripts/make_bmfhdr.py67
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)