SkPDF: move font serialization over to new immediate mode.
- SkPDFFont no longer inherits from SkPDFObject.
- PDFFont reserves a PDFIndirectReference upon creation;
these are shared.
- PDFFonts no longer have virtual method and subtypes.
- PDFFont is moveable so it can be in hashmap.
- Refer to Fonts by "F"+referenceValue in content.
- Canon directly owns SkPDFFont objects.
- Canonicalize Type 3 descriptors.
- Pre-serialize Type 1 descriptors.
- SkPDFDocument::emit(const SkPDFObject&) for objects on the stack.
- SkPDFDocument::registerFont is gone. Canon is used instead.
- Replace lots of 'ObjRef' with 'Ref'.
- Standard PDFTypes that use String now take by value to sometimes
save ref/unref.
Change-Id: Iff039c79120a903263edfd1f122c7feabc45e2b8
Reviewed-on: https://skia-review.googlesource.com/c/171781
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
12 files changed