1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 08:47:34 +00:00

LibPDF/CFF: Extract parse_top_dict() function

Pure code move, no behavior change.
This commit is contained in:
Nico Weber 2024-02-14 07:56:24 -05:00 committed by Andreas Kling
parent 1f62984301
commit 9f1cf8babc
2 changed files with 137 additions and 124 deletions

View file

@ -118,6 +118,18 @@ public:
template<typename OperatorT>
static PDFErrorOr<OperatorT> parse_dict_operator(u8, Reader&);
// CFF spec, "8 Top DICT INDEX"
struct TopDict {
int charset_offset = 0;
int encoding_offset = 0;
int charstrings_offset = 0;
Vector<ByteBuffer> local_subroutines;
float defaultWidthX = 0;
float nominalWidthX = 0;
int fdselect_offset = 0;
};
static PDFErrorOr<TopDict> parse_top_dict(Reader&, ReadonlyBytes const& cff_bytes);
static PDFErrorOr<Vector<StringView>> parse_strings(Reader&);
static PDFErrorOr<Vector<CFF::Glyph>> parse_charstrings(Reader&&, Vector<ByteBuffer> const& local_subroutines, Vector<ByteBuffer> const& global_subroutines);