DCTDecode (!!) main high level optimizations to be done: - AttributeName: don't return a string but a unique TSymbol (how to make it so? The name would have to be qualified a lot) or intern the string. fix memory leaks: - fix reference cycles ("/Parent" etc) cleaning up: - get rid of TSymbol. - get rid of the interfaces. - get rid of all the Variant typed attributes that you can. - have one hash table per PDF that lists all the known objects (and indexes them by key) (and owns them). - PDFs.TPDF.Symbols : modify type to a normal hash table with objects as value (no interfaces, no nothing). extra features: new-style PDF1.5 XRef "object" (Mechanics). main program: check for ItalicAngle and output decoder: fall back to descendant font for FontDescriptor.