Files
Civic-Segments/tooling/bdf-to-pngs.py
T
2026-05-16 15:34:49 -04:00

28 lines
772 B
Python
Executable File

#!/usr/bin/env python3
from bdfparser import Font
from PIL import Image
font = Font("civic-segments.bdf")
print(
f"This font's global size is "
f"{font.headers['fbbx']} x {font.headers['fbby']} (pixel), "
f"it contains {len(font)} glyphs."
)
chars_to_export = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for char_str in chars_to_export:
char = font.glyph(char_str)
bitmap = char.draw()
im = Image.frombytes(
"RGBA",
(bitmap.width(), bitmap.height()),
bitmap.tobytes(
"RGBA",
bytesdict={
0: b"\x00\x00\x00\x00", # transparent background
1: b"\xff\xff\xff\xff", # white glyph
},
),
)
im.save(f"../resources/{char_str}.png", "PNG")