diff --git a/Userland/Libraries/LibPDF/Fonts/TrueTypeFont.cpp b/Userland/Libraries/LibPDF/Fonts/TrueTypeFont.cpp index 2941003315..2e61285446 100644 --- a/Userland/Libraries/LibPDF/Fonts/TrueTypeFont.cpp +++ b/Userland/Libraries/LibPDF/Fonts/TrueTypeFont.cpp @@ -52,8 +52,8 @@ PDFErrorOr TrueTypeFont::draw_glyph(Gfx::Painter& painter, Gfx::FloatPoint { auto style = renderer.state().paint_style; - // Account for the reversed font baseline - auto position = point.translated(0, -m_font->pixel_metrics().descent - m_font->baseline()); + // Undo shift in Glyf::Glyph::append_simple_path() via OpenType::Font::rasterize_glyph(). + auto position = point.translated(0, -m_font->pixel_metrics().ascent); if (style.has()) { painter.draw_glyph(position, char_code, *m_font, style.get()); diff --git a/Userland/Libraries/LibPDF/Fonts/Type1Font.cpp b/Userland/Libraries/LibPDF/Fonts/Type1Font.cpp index 2d4b5244d2..9cb62b2357 100644 --- a/Userland/Libraries/LibPDF/Fonts/Type1Font.cpp +++ b/Userland/Libraries/LibPDF/Fonts/Type1Font.cpp @@ -70,8 +70,8 @@ PDFErrorOr Type1Font::draw_glyph(Gfx::Painter& painter, Gfx::FloatPoint po auto style = renderer.state().paint_style; if (!m_font_program) { - // Account for the reversed font baseline - auto position = point.translated(0, -m_font->pixel_metrics().descent - m_font->baseline()); + // Undo shift in Glyf::Glyph::append_simple_path() via OpenType::Font::rasterize_glyph(). + auto position = point.translated(0, -m_font->pixel_metrics().ascent); // FIXME: Bounding box and sample point look to be pretty wrong if (style.has()) { painter.draw_glyph(position, char_code, *m_font, style.get());