diff --git a/Userland/Libraries/LibPDF/Fonts/CFF.cpp b/Userland/Libraries/LibPDF/Fonts/CFF.cpp index fb9a30e9735..a1d01822cba 100644 --- a/Userland/Libraries/LibPDF/Fonts/CFF.cpp +++ b/Userland/Libraries/LibPDF/Fonts/CFF.cpp @@ -176,7 +176,7 @@ PDFErrorOr> CFF::create(ReadonlyBytes const& cff_bytes, RefPt TRY(encoding_supplemental.try_set(i, s_predefined_encoding_expert[i])); break; default: - encoding_codes = TRY(parse_encoding(Reader(cff_bytes.slice(top_dict.encoding_offset)), encoding_supplemental)); + encoding_codes = TRY(parse_encoding(FixedMemoryStream(cff_bytes.slice(top_dict.encoding_offset)), encoding_supplemental)); break; } } @@ -953,28 +953,28 @@ PDFErrorOr> CFF::parse_charstrings(Reader&& reader, Vector> CFF::parse_encoding(Reader&& reader, HashMap& supplemental) +PDFErrorOr> CFF::parse_encoding(Stream&& reader, HashMap& supplemental) { // CFF spec, "12 Encodings" Vector encoding_codes; - auto format_raw = TRY(reader.try_read()); + auto format_raw = TRY(reader.read_value()); auto format = format_raw & 0x7f; if (format == 0) { // CFF spec, "Table 11 Format 0" - auto n_codes = TRY(reader.try_read()); + auto n_codes = TRY(reader.read_value()); dbgln_if(CFF_DEBUG, "CFF encoding format 0, {} codes", n_codes); for (u8 i = 0; i < n_codes; i++) { - TRY(encoding_codes.try_append(TRY(reader.try_read()))); + TRY(encoding_codes.try_append(TRY(reader.read_value()))); } } else if (format == 1) { // CFF spec, "Table 12 Format 1" - auto n_ranges = TRY(reader.try_read()); + auto n_ranges = TRY(reader.read_value()); dbgln_if(CFF_DEBUG, "CFF encoding format 1, {} ranges", n_ranges); for (u8 i = 0; i < n_ranges; i++) { // CFF spec, "Table 13 Range1 Format (Encoding)" - auto first_code = TRY(reader.try_read()); - int left = TRY(reader.try_read()); + auto first_code = TRY(reader.read_value()); + int left = TRY(reader.read_value()); for (u8 code = first_code; left >= 0; left--, code++) TRY(encoding_codes.try_append(code)); } @@ -983,12 +983,12 @@ PDFErrorOr> CFF::parse_encoding(Reader&& reader, HashMap& if (format_raw & 0x80) { // CFF spec, "Table 14 Supplemental Encoding Data" - auto n_sups = TRY(reader.try_read()); + auto n_sups = TRY(reader.read_value()); dbgln_if(CFF_DEBUG, "CFF encoding, {} supplemental entries", n_sups); for (u8 i = 0; i < n_sups; i++) { // CFF spec, "Table 15 Supplement Format" - auto code = TRY(reader.try_read()); - SID name = TRY(reader.try_read()); + auto code = TRY(reader.read_value()); + SID name = TRY(reader.read_value()); TRY(supplemental.try_set(code, name)); } } diff --git a/Userland/Libraries/LibPDF/Fonts/CFF.h b/Userland/Libraries/LibPDF/Fonts/CFF.h index bed30e8b57a..c81393f9d23 100644 --- a/Userland/Libraries/LibPDF/Fonts/CFF.h +++ b/Userland/Libraries/LibPDF/Fonts/CFF.h @@ -138,7 +138,7 @@ public: static DeprecatedFlyString resolve_sid(SID, Vector const&); static PDFErrorOr> parse_charset(Reader&&, size_t); static PDFErrorOr> parse_fdselect(Reader&&, size_t); - static PDFErrorOr> parse_encoding(Reader&&, HashMap& supplemental); + static PDFErrorOr> parse_encoding(Stream&&, HashMap& supplemental); }; }