diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 |
commit | 4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch) | |
tree | 65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py | |
parent | 0150f70ce9c39e9e6dd878766c0620c85e47bed0 (diff) |
add circuitpython code
Diffstat (limited to 'circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py')
-rw-r--r-- | circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py b/circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py new file mode 100644 index 0000000..c536e98 --- /dev/null +++ b/circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py @@ -0,0 +1,44 @@ +import sys + +def load_font(filename, bitmap=None): + if not bitmap: + import displayio + bitmap = displayio.Bitmap + f = open(filename, "rb") + first_four = f.read(4) + #print(first_four) + if filename.endswith("bdf") and first_four == b"STAR": + from . import bdf + return bdf.BDF(f, bitmap) + elif filename.endswith("pcf") and first_four == b"\x01fcp": + import pcf + return pcf.PCF(f) + elif filename.endswith("ttf") and first_four == b"\x00\x01\x00\x00": + import ttf + return ttf.TTF(f) + + + +if __name__ == "__main__": + f = load_font(sys.argv[1]) + # print(f.characters) + for c in "Adafruit CircuitPython": + o = ord(c) + if o not in f.characters: + continue + glyph = f.characters[o] + print(glyph) + for i in range(10): + for c in "Adafruit CircuitPython": + o = ord(c) + if o not in f.characters: + continue + glyph = f.characters[o] + # print(glyph) + shifted_i = i + (glyph["bounds"][1] - 8) + glyph["bounds"][3] + if 0 <= shifted_i < len(glyph["bitmap"]): + pixels = glyph["bitmap"][shifted_i] + else: + pixels = "" + print(pixels + " " * (glyph["shift"][0] - len(pixels)), end="") + print() |