Project

General

Profile

Statistics
| Revision:

root / proj / font / split_font.py @ 182

History | View | Annotate | Download (920 Bytes)

1 180 up20180642
import os
2
import glob
3
from PIL import Image
4
5
im = Image.open("Consolas.png")
6
7
W, H = im.size
8
9
Nw = 16
10
Nh = 6
11
12
i = 32
13
14 182 up20180642
with open("font.h", 'w') as f:
15
    includes = ""
16
    lst = ""
17 180 up20180642
18 182 up20180642
    for j in range(i):
19
        if lst != "": lst += ","
20
        lst += "NULL"
21 180 up20180642
22 182 up20180642
23
    for h in range(Nh):
24
        t = int(H/Nh)*h
25
        b = int(H/Nh)*(h+1)
26
        for w in range(Nw):
27
            #l = int((W*w)/Nw)
28
            #r = int((W*(w+1))/Nw)
29
            l = 59*w
30
            r = 59*(w+1)
31
            im1 = im.crop((l,t,r,b))
32
            im1.save("png/ascii%03d.png"%i)
33
            os.system("convert png/ascii%03d.png xpm/ascii%03d.xpm"%(i,i))
34
35
36
            includes += '#include "%03d.xpm"\n'%i
37
            if lst != "": lst += ","
38
            lst += "%03d_xpm"%i
39
40
            #DEV
41
            os.system("rm png/ascii%03d.png"%i)
42
43
            i += 1
44
45
    f.write(includes)
46
    f.write("xpm_map_t font[] = {"+lst+"}\n")