aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
commit4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch)
tree65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/tools/bitmap_font/adafruit_bitmap_font/bitmap_font.py
parent0150f70ce9c39e9e6dd878766c0620c85e47bed0 (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.py44
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()