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.
This commit is contained in:
Julian Offenhäuser 2022-11-27 00:11:43 +01:00 committed by Linus Groh
parent 7c2976e006
commit 0ff9f2b865
Notes: sideshowbarker 2024-07-17 08:43:11 +09:00

View File

@ -510,6 +510,9 @@ ErrorOr<NonnullRefPtr<Font>> 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;
}
}