From 0ff9f2b86584c0fa68f09d5bb81ebc067fe19f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Offenh=C3=A4user?= Date: Sun, 27 Nov 2022 00:11:43 +0100 Subject: LibGfx: Select a valid TTF cmap subtable for the Macintosh platform While this subtable ID is supposed to be deprecated, it is used heavily in PDF files. It supports mapping one or two-byte values, with quite a large list of encodings to tell you which one to expect. For our use case, we ignore this encoding ID and just pick the first subtable with this platform ID. Unsupported encodings will get caught by Subtable::glyph_id_for_code_point() anyway. --- Userland/Libraries/LibGfx/Font/OpenType/Font.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Userland/Libraries/LibGfx/Font') diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp b/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp index ec7365400b..981cecbdf2 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp +++ b/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp @@ -510,6 +510,9 @@ ErrorOr> Font::try_load_from_offset(ReadonlyBytes buffer, u3 cmap.set_active_index(i); break; } + } else if (platform.value() == Cmap::Subtable::Platform::Macintosh) { + cmap.set_active_index(i); + break; } } -- cgit v1.2.3