diff options
Diffstat (limited to 'tools/scripts/make_bmfhdr.py')
-rw-r--r-- | tools/scripts/make_bmfhdr.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tools/scripts/make_bmfhdr.py b/tools/scripts/make_bmfhdr.py new file mode 100644 index 0000000000..0f6f453004 --- /dev/null +++ b/tools/scripts/make_bmfhdr.py @@ -0,0 +1,70 @@ + + +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)
\ No newline at end of file |