From 152a8c5c43f521115c277e9b2dc7f60419b818be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Offenh=C3=A4user?= Date: Thu, 9 Feb 2023 14:15:46 +0100 Subject: [PATCH] LibPDF: Use more appropriate standard 14 replacement fonts The mapping of standard font to replacement now looks like this: Times New Roman -> Liberation Serif Courier -> Liberation Mono Helvetica, Arial -> Liberation Sans --- Userland/Libraries/LibPDF/Fonts/PDFFont.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp b/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp index 0ec44dbdcb..6fb17c17ae 100644 --- a/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp +++ b/Userland/Libraries/LibPDF/Fonts/PDFFont.cpp @@ -89,8 +89,17 @@ PDFErrorOr> PDFFont::create(Document* document, NonnullRe Tuple PDFFont::replacement_for_standard_latin_font(StringView name) { - bool is_bold = name.contains("bold"sv); - bool is_italic = name.contains("italic"sv); + bool is_bold = name.contains("bold"sv, CaseSensitivity::CaseInsensitive); + bool is_italic = name.contains("italic"sv, CaseSensitivity::CaseInsensitive); + + DeprecatedString font_family; + if (name.contains("times"sv, CaseSensitivity::CaseInsensitive)) { + font_family = "Liberation Serif"; + } else if (name.contains("courier"sv, CaseSensitivity::CaseInsensitive)) { + font_family = "Liberation Mono"; + } else { + font_family = "Liberation Sans"; + } DeprecatedString font_variant; @@ -104,7 +113,7 @@ Tuple PDFFont::replacement_for_standard_lati font_variant = "Regular"; } - return { "Liberation Serif", font_variant }; + return { font_family, font_variant }; } }