diff options
Diffstat (limited to 'src/sliceitoff/images/fonts.py')
-rw-r--r-- | src/sliceitoff/images/fonts.py | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/sliceitoff/images/fonts.py b/src/sliceitoff/images/fonts.py deleted file mode 100644 index a1687b6..0000000 --- a/src/sliceitoff/images/fonts.py +++ /dev/null @@ -1,39 +0,0 @@ -import os -import pygame - -DEBUG = os.getenv("DEBUG") - -class Fonts: - fonts = {} - - @staticmethod - def load_fonts(base_path): - filename_fontlist = os.path.join(base_path, "assets", "fonts.lst") - with open( filename_fontlist ) as fontlist_file: - for line in fontlist_file: - name, *path = line.strip().split() - filename = os.path.join(base_path, *path) - __class__.fonts[name] = Font(filename) - return True - - -class Font: - def __init__(self, filename, height = 16): - if DEBUG: - print(f"Loading font {filename = }") - self.surfaces = [] - with open(filename, mode="rb") as fnt_file: - for _ in range(256): - surface = pygame.Surface((8,height), pygame.SRCALPHA) - for line in range(16): - byte = fnt_file.read(1)[0] - if line >= height: - continue - for bit in range(8): - if byte & 0x80: - surface.set_at((bit,line),"white") - byte <<= 1 - self.surfaces.append(surface) - - def get(self, ch): - return self.surfaces[ch%256] |