diff --git a/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp b/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp index 033a482410..06a805ca56 100644 --- a/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp +++ b/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -66,7 +67,7 @@ PDFErrorOr PDFFont::initialize(Document* document, NonnullRefPtr> PDFFont::replacement_for(StringView name, float font_size) +PDFErrorOr> PDFFont::replacement_for(StringView name, float font_size) { bool is_bold = name.contains("bold"sv, CaseSensitivity::CaseInsensitive); bool is_italic = name.contains("italic"sv, CaseSensitivity::CaseInsensitive) || name.contains("oblique"sv, CaseSensitivity::CaseInsensitive); @@ -96,7 +97,9 @@ PDFErrorOr> PDFFont::replacement_for(StringView name, f auto font = Gfx::FontDatabase::the().get(font_family, font_variant, point_size); if (!font) return Error::internal_error("Failed to load {} {} at {}pt", font_family, font_variant, point_size); - return font.release_nonnull(); + + VERIFY(is(*font)); + return static_ptr_cast(font.release_nonnull()); } } diff --git a/Userland/Libraries/LibPDF/Fonts/PDFFont.h b/Userland/Libraries/LibPDF/Fonts/PDFFont.h index 57d1110021..c65aa2a64a 100644 --- a/Userland/Libraries/LibPDF/Fonts/PDFFont.h +++ b/Userland/Libraries/LibPDF/Fonts/PDFFont.h @@ -45,7 +45,7 @@ public: protected: virtual PDFErrorOr initialize(Document* document, NonnullRefPtr const& dict, float font_size); - static PDFErrorOr> replacement_for(StringView name, float font_size); + static PDFErrorOr> replacement_for(StringView name, float font_size); unsigned m_flags { 0 }; };