diff --git a/agrf/pkg/__init__.py b/agrf/pkg/__init__.py index a0b33036..20596176 100644 --- a/agrf/pkg/__init__.py +++ b/agrf/pkg/__init__.py @@ -1,9 +1,15 @@ import io import pkgutil -from PIL import Image +from PIL import Image, ImageFont def load_third_party_image(path): content = pkgutil.get_data("agrf", path) f = io.BytesIO(content) return Image.open(f) + + +def load_font(path, size): + content = pkgutil.get_data("agrf", path) + f = io.BytesIO(content) + return ImageFont.truetype(f, size) diff --git a/agrf/pkg/font_test.py b/agrf/pkg/font_test.py new file mode 100644 index 00000000..2b5d8ed4 --- /dev/null +++ b/agrf/pkg/font_test.py @@ -0,0 +1,5 @@ +from . import load_font + + +def test_font(): + assert load_font("resources/AntaeusConsoleNumbers.otf", 12) is not None diff --git a/resources/AntaeusConsoleNumbers.otf b/agrf/resources/AntaeusConsoleNumbers.otf similarity index 100% rename from resources/AntaeusConsoleNumbers.otf rename to agrf/resources/AntaeusConsoleNumbers.otf diff --git a/agrf/sprites/__init__.py b/agrf/sprites/__init__.py index 1cdbb1a9..1deb4bca 100644 --- a/agrf/sprites/__init__.py +++ b/agrf/sprites/__init__.py @@ -1,6 +1,7 @@ import grf import numpy as np from PIL import Image, ImageDraw, ImageFont +from agrf.pkg import load_font THIS_FILE = grf.PythonFile(__file__) @@ -24,7 +25,7 @@ def get_data_layers(self, context): alpha = Image.fromarray(alpha) draw = ImageDraw.Draw(img) drawa = ImageDraw.Draw(alpha) - font = ImageFont.truetype("resources/AntaeusConsoleNumbers.otf", w // 4) + font = load_font("resources/AntaeusConsoleNumbers.otf", w // 4) message = str(self.number) _, _, _w, _h = draw.textbbox((0, 0), message, font=font) draw.text(((w - _w) // 2, w // 4), message, "blue", font=font)