diff --git a/Userland/Libraries/LibPDF/Fonts/CFF.cpp b/Userland/Libraries/LibPDF/Fonts/CFF.cpp index f5e770620f2..ed41f800609 100644 --- a/Userland/Libraries/LibPDF/Fonts/CFF.cpp +++ b/Userland/Libraries/LibPDF/Fonts/CFF.cpp @@ -185,7 +185,7 @@ PDFErrorOr> CFF::create(ReadonlyBytes const& cff_bytes, RefPt Vector charset; // Maps GID to CIDs for CID-keyed, to SIDs otherwise. Vector charset_names; // Only valid for non-CID-keyed fonts. if (top_dict.is_cid_keyed) { - charset = TRY(parse_charset(Reader { cff_bytes.slice(top_dict.charset_offset) }, glyphs.size())); + charset = TRY(parse_charset(FixedMemoryStream { cff_bytes.slice(top_dict.charset_offset) }, glyphs.size())); } else { switch (top_dict.charset_offset) { case 0: @@ -205,7 +205,7 @@ PDFErrorOr> CFF::create(ReadonlyBytes const& cff_bytes, RefPt TRY(charset_names.try_append(resolve_sid(sid, strings))); break; default: { - charset = TRY(parse_charset(Reader { cff_bytes.slice(top_dict.charset_offset) }, glyphs.size())); + charset = TRY(parse_charset(FixedMemoryStream { cff_bytes.slice(top_dict.charset_offset) }, glyphs.size())); for (SID sid : charset) TRY(charset_names.try_append(resolve_sid(sid, strings))); break; @@ -854,18 +854,18 @@ DeprecatedFlyString CFF::resolve_sid(SID sid, Vector const& strings) return DeprecatedFlyString("space"); } -PDFErrorOr> CFF::parse_charset(Reader&& reader, size_t glyph_count) +PDFErrorOr> CFF::parse_charset(Stream&& reader, size_t glyph_count) { // CFF spec, "13 Charsets" // Maps `GID - 1` to a SID (or CID, for CID-keyed fonts). The name of GID 0 is implicitly ".notdef". Vector names; - auto format = TRY(reader.try_read()); + auto format = TRY(reader.read_value()); if (format == 0) { // CFF spec, "Table 17 Format 0" dbgln_if(CFF_DEBUG, "CFF charset format 0"); for (size_t i = 0; i < glyph_count - 1; i++) { - SID sid = TRY(reader.try_read>()); + SID sid = TRY(reader.read_value>()); TRY(names.try_append(sid)); } } else if (format == 1) { @@ -873,8 +873,8 @@ PDFErrorOr> CFF::parse_charset(Reader&& reader, size_t glyph_co dbgln_if(CFF_DEBUG, "CFF charset format 1"); while (names.size() < glyph_count - 1) { // CFF spec, "Table 19 Range1 Format (Charset)" - auto first_sid = TRY(reader.try_read>()); - int left = TRY(reader.try_read()); + auto first_sid = TRY(reader.read_value>()); + int left = TRY(reader.read_value()); for (SID sid = first_sid; left >= 0; left--, sid++) TRY(names.try_append(sid)); } @@ -884,8 +884,8 @@ PDFErrorOr> CFF::parse_charset(Reader&& reader, size_t glyph_co dbgln_if(CFF_DEBUG, "CFF charset format 2"); while (names.size() < glyph_count - 1) { // CFF spec, "Table 21 Range2 Format" - auto first_sid = TRY(reader.try_read>()); - int left = TRY(reader.try_read>()); + auto first_sid = TRY(reader.read_value>()); + int left = TRY(reader.read_value>()); for (SID sid = first_sid; left >= 0; left--, sid++) TRY(names.try_append(sid)); } diff --git a/Userland/Libraries/LibPDF/Fonts/CFF.h b/Userland/Libraries/LibPDF/Fonts/CFF.h index 364ae09cd33..827c7a4b9d2 100644 --- a/Userland/Libraries/LibPDF/Fonts/CFF.h +++ b/Userland/Libraries/LibPDF/Fonts/CFF.h @@ -136,7 +136,7 @@ public: static PDFErrorOr> parse_charstrings(Reader&&, Vector const& local_subroutines, Vector const& global_subroutines); static DeprecatedFlyString resolve_sid(SID, Vector const&); - static PDFErrorOr> parse_charset(Reader&&, size_t); + static PDFErrorOr> parse_charset(Stream&&, size_t); static PDFErrorOr> parse_fdselect(Stream&&, size_t); static PDFErrorOr> parse_encoding(Stream&&, HashMap& supplemental); };