-
Notifications
You must be signed in to change notification settings - Fork 3
/
damfont.py
48 lines (40 loc) · 1.04 KB
/
damfont.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import sys
MAX_DIGITS = 5
# [TODO] document this silly thing:
def genfonts(prefix, width, height):
yoffset = height - 2
for charindex in range(10):
char = chr(65 + charindex);
for numdigits in range(2, MAX_DIGITS+1):
spritewidth = width * numdigits
xoffset = int(spritewidth / 2)
for digit in range(1, numdigits+1):
patchwidth = spritewidth - (width * digit)
print ('Sprite "{}{}{}{}0", {}, {} {{ Offset {}, {} Patch "{}11{}0", {}, 0 }}'.format(
prefix
, numdigits
, digit
, char
, spritewidth
, height
, xoffset
, yoffset
, prefix
, char
, patchwidth
))
print ('')
if __name__ == "__main__":
if len(sys.argv) > 3:
try:
prefix = sys.argv[1]
width = int(sys.argv[2])
height = int(sys.argv[3])
if len(prefix) == 2:
genfonts(prefix, width, height)
else:
print ("error: [prefix] must be exactly two characters")
except ValueError:
print ("error: [width] and [height] must be integers")
else:
print ("usage: python damfont.py [prefix] [width] [height]")