fix bdf font positioning for displays negatively impacted by previous change

This commit is contained in:
Chuck
2025-07-23 14:57:07 -05:00
parent 2af78a37d5
commit b4d2c34217

View File

@@ -279,10 +279,14 @@ class DisplayManager:
# Draw the text
if isinstance(current_font, freetype.Face):
# For BDF fonts, use _draw_bdf_text
self._draw_bdf_text(text, x, y, color, current_font)
# For BDF fonts, we need to adjust the y-coordinate.
# The passed 'y' is the top of the text, but our drawing function
# expects the baseline. The 'ascender' is the distance from the
# baseline to the top of the glyphs.
baseline_y = y + (current_font.size.ascender >> 6)
self._draw_bdf_text(text, x, baseline_y, color, current_font)
else:
# For TTF fonts, use PIL's text drawing
# For TTF fonts, use PIL's text drawing which expects top-left.
self.draw.text((x, y), text, font=current_font, fill=color)
except Exception as e: