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

LibPDF: Implement name tree lookups

Name Trees are hierarchical, string-keyed, sorted-by-key dictionary
structures in PDF where each node (except the root) specifies the bounds
of the values it holds, and either its kids (more nodes) or the
key/value pairs it contains.

This commit implements a series of lookup calls for finding a key in
such name trees. This implementation follows the tree as needed on each
lookup, but if that becomes inefficient in the long run we can switch to
creating a HashMap with all the contents, which as a drawback will
require more memory.
This commit is contained in:
Rodrigo Tobar 2023-01-06 00:33:24 +08:00 committed by Andreas Kling
parent 8c79f0e0cf
commit 5420261347
3 changed files with 46 additions and 0 deletions

View file

@ -93,12 +93,14 @@
A(Length1) \
A(Length2) \
A(Length3) \
A(Limits) \
A(Linearized) \
A(ML) \
A(Matrix) \
A(MediaBox) \
A(MissingWidth) \
A(N) \
A(Names) \
A(Next) \
A(O) \
A(OP) \