PdfTokenizer: Evaluate making sure data type is set also in case of errors, in DetermineDataType/tryReadDataType. This would help leaving the object operable with the right type even in case of parsing errors. This is done already for dictionaries/arrays, see ReadDictionary/ReadArray
PdfPredictorDecoder: Support BitsPerComponent != 8
Add fail safe sign/update mechanism, meaning the stream gets trimmed to initial length if there's a crash. Not so easy, especially since we are now using STL streams and it's not easy to trim files without access to native handle and low level I/O operations
Option to unfold Unicode ligatures to separate codepoints during encoded -> utf8 conversion
Option to convert Unicode ligatures <-> separate codepoints when drawing strings/converting to encoded
PdfFontManager: Consider also statically caching the queries and filepaths. Maybe we could also weakly (weak shared pointer) cache metrics instead of fonts
PdfName: Evaluate unescape lazily, or offer a way to debug/inspect the unescaped sequence a posteriori
Consider saving/converting to XRef stream by default