diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp b/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp index 4ab5747d9b..2d94e64131 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp +++ b/Userland/Libraries/LibGfx/Font/OpenType/Font.cpp @@ -278,6 +278,8 @@ ErrorOr> Font::try_load_from_offset(ReadonlyBytes buffer, u3 hmtx = TRY(Hmtx::from_slice(opt_hmtx_slice.value(), maxp.num_glyphs(), hhea.number_of_h_metrics())); } + if (!options.external_cmap && !opt_cmap_slice.has_value()) + return Error::from_string_literal("Font is missing Cmap"); NonnullOwnPtr cmap = options.external_cmap ? options.external_cmap.release_nonnull() : TRY(CmapCharCodeToGlyphIndex::from_slice(opt_cmap_slice.value())); Optional loca;