diff --git a/adafruit_bitmap_font/bitmap_font.py b/adafruit_bitmap_font/bitmap_font.py index 5ceee18..c7c1e15 100644 --- a/adafruit_bitmap_font/bitmap_font.py +++ b/adafruit_bitmap_font/bitmap_font.py @@ -33,19 +33,19 @@ def load_font(filename, bitmap=None): import displayio bitmap = displayio.Bitmap - font_file = open(filename, "rb") - first_four = font_file.read(4) - if filename.endswith("bdf") and first_four == b"STAR": - from . import bdf + with open(filename, "rb") as font_file: + first_four = font_file.read(4) + if filename.endswith("bdf") and first_four == b"STAR": + from . import bdf - return bdf.BDF(font_file, bitmap) - if filename.endswith("pcf") and first_four == b"\x01fcp": - from . import pcf + return bdf.BDF(font_file, bitmap) + if filename.endswith("pcf") and first_four == b"\x01fcp": + from . import pcf - return pcf.PCF(font_file, bitmap) - if filename.endswith("ttf") and first_four == b"\x00\x01\x00\x00": - from . import ttf + return pcf.PCF(font_file, bitmap) + if filename.endswith("ttf") and first_four == b"\x00\x01\x00\x00": + from . import ttf - return ttf.TTF(font_file, bitmap) + return ttf.TTF(font_file, bitmap) raise ValueError("Unknown magic number %r" % first_four)