-        for character in range(start_range, end_range + 1):
-            ascii_char = chr(character)
-            ascii_mask = self._font.getmask(ascii_char, mode="1")
-            for y in range(char_height):
-                for x in range(char_width):
-                    color = ascii_mask.getpixel((x, y))
-                    character_position = character - start_range
-                    self._bitmap[character_position * char_width + x, y] = (
-                        1 if color else 0
-                    )
-
-    def get_bounding_box(self):
+
+        self._font.load_glyphs(set(range(0x20, 0x7F)))
+
+    def get_bounding_box(self) -> Union[Tuple[int, int], Tuple[int, int, int, int]]: