|
Funkcje podzbiorów czcionek CFF i OpenType
|
Góra EnableFontSubsetting Spis treści |
|
Te funkcje na poziomie modułu udostępniają publiczną powierzchnię inspekcji i tworzenia podzbiorów czcionek CFF, OpenType-CFF oraz sfnt używaną przez potok osadzonych czcionek HotPDF. HotPDF dostarcza także moduły parserów Type 1 PFB i CFF wielokrotnego użytku dla wywołujących, którzy potrzebują niższego poziomu inspekcji czcionek
Składnia Delphi function HPDFSubsetCFF(const CFFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFSfntIsOTF(const Data: TBytes): Boolean; function HPDFOTFFindCFFTable(const Data: TBytes; out TableOff: Cardinal; out TableLen: Cardinal): Boolean; function HPDFSubsetOTFContainer(const OTFBytes: TBytes; const KeepGlyph: array of Boolean): TBytes; function HPDFExtractTTFPostScriptName(const Data: TBytes): AnsiString;
Opis HPDFSubsetCFF przepisuje ładunek czcionki CFF w miejscu, zachowując identyfikatory glyph ID i zastępując nieużywane CharStrings oraz podprogramy minimalnymi atrapami. To funkcja pomocnicza dla wywołujących, którzy już wyodrębnili tabelę CFF z kontenera czcionki
HPDFSfntIsOTF wykrywa kontener sfnt, którego wersją jest OTTO. HPDFOTFFindCFFTable lokalizuje osadzoną tabelę 'CFF '. HPDFSubsetOTFContainer łączy te kroki, tworząc podzbiór osadzonej tabeli CFF i zwracając kontener OTF z zachowanym oryginalnym układem tabel sfnt. HPDFExtractTTFPostScriptName odczytuje name ID 6 z tabeli sfnt
Narzędzie do tworzenia podzbiorów rozpoznaje zarówno CFF oparte na nazwach (pojedynczy Private DICT, pojedynczy Local Subr INDEX), jak i CFF oparte na CID (operator ROS w Top DICT, FDArray z wieloma Private DICT podczcionek, mapa FDSelect glyph-to-FD, osobne Local Subr INDEXes dla każdego FD). Obsługa CID obejmuje czcionki OpenType-CFF CJK / Indic / Arabic; skan domknięcia śledzi kontekst FD każdego zachowanego CharString, więc Local Subr INDEXes dla poszczególnych FD są niezależnie redukowane
Niższego poziomu dekodery liczb całkowitych CFF, parsery FDArray / FDSelect i skanery podprogramów są szczegółami implementacji za tą publiczną powierzchnią pomocniczą
Moduły parserów Type 1 i CFF
Zobacz też: EnableFontSubsetting, FontEmbedding, PDF Filter Support |