+class FontProtocol(Protocol):
+"""A protocol shared by `BuiltinFont` and classes in ``adafruit_bitmap_font``"""
+
+ def get_bounding_box(self) -> Union[Tuple[int, int], Tuple[int, int, int, int]]:
+ """Retrieve the maximum bounding box of any glyph in the font.
+
+ The four element version is ``(width, height, x_offset, y_offset)``.
+ The two element version is ``(width, height)``, in which
+ ``x_offset`` and ``y_offset`` are assumed to be zero.
+ """
+
+ def get_glyph(self, codepoint: int) -> Optional["Glyph"]:
+ """Retrieve the Glyph for a given code point
+
+ If the code point is not present in the font, `None` is returned.
+ """
+