change how font is loaded via systemctl - added direct paths

This commit is contained in:
Chuck
2025-08-13 20:36:23 -05:00
parent 8e1b04550b
commit 6bc1039ed6
16 changed files with 132 additions and 90 deletions

View File

@@ -98,9 +98,11 @@ class DisplayManager:
self.draw = ImageDraw.Draw(self.image)
logger.info(f"Image canvas created with dimensions: {self.matrix.width}x{self.matrix.height}")
# Initialize font with Press Start 2P
# Initialize font with Press Start 2P using an absolute path so services don't fall back
try:
self.font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 8)
script_dir = os.path.dirname(os.path.abspath(__file__))
ps2p_path = os.path.abspath(os.path.join(script_dir, "../assets/fonts/PressStart2P-Regular.ttf"))
self.font = ImageFont.truetype(ps2p_path, 8)
logger.info("Initial Press Start 2P font loaded successfully")
except Exception as e:
logger.error(f"Failed to load initial font: {e}")
@@ -290,12 +292,14 @@ class DisplayManager:
def _load_fonts(self):
"""Load fonts with proper error handling."""
try:
# Load Press Start 2P font
self.regular_font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 8)
# Load Press Start 2P font using absolute path to avoid fallback when run under systemd
script_dir = os.path.dirname(os.path.abspath(__file__))
ps2p_path = os.path.abspath(os.path.join(script_dir, "../assets/fonts/PressStart2P-Regular.ttf"))
self.regular_font = ImageFont.truetype(ps2p_path, 8)
logger.info("Press Start 2P font loaded successfully")
# Use the same font for small text, just at a smaller size
self.small_font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 8)
# Use the same font for small text (currently same size; adjust size here if needed)
self.small_font = ImageFont.truetype(ps2p_path, 8)
logger.info("Press Start 2P small font loaded successfully")
# Load 5x7 BDF font for calendar events