PDFium Delphi Component Docs

AddCidType2Text metodă

Component: TPdf  ·  Unit: PDFium

Syntax

function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean;

Description

Încarcă date TrueType sau TrueType Collection furnizate de apelant prin încărcătorul nativ de fonturi CID Type 2 al PDFium și adaugă unul sau mai multe obiecte de text poziționate pe pagina activă

Fiecare TPdfCidGlyph furnizează un identificator de glifă sursă, text Unicode, un avans și un offset opțional orizontal sau vertical

CID-urile secvențiale izolează instanțele repetate de glife, astfel încât același identificator de glifă poate purta asocieri Unicode de clustere diferite

Embedding and subsetting

pcfemFull încorporează complet fontul selectat, pcfemSubsetPreferred încearcă un subset după lista de glife și cade înapoi la fontul complet, iar pcfemSubsetRequired respinge operația dacă un subset sigur nu poate fi produs

Subsetting-ul păstrează întotdeauna glifa zero, respinge rezultatul care ar crește fontul și verifică faptul că fiecare GID original cerut mai există înainte ca datele să ajungă la PDFium

TTCIndex selectează un membru al unei TrueType Collection și trebuie să rămână zero pentru un font de sine stătător

Unicode and verification

Un CMap ToUnicode generat asociază fiecare CID secvențial cu UnicodeText furnizat, inclusiv asocierile de ligaturi cu mai multe unități de cod și din planul suplimentar

O asociere vidă devine U+200B, astfel încât fiecare CID rămâne extractibil și observabil

Când VerifyExtraction este activat, metoda redeschide modelul de text al paginii, citește doar obiectele inserate, compară rezultatul cu ExpectedText și anulează toate obiectele inserate în caz de neconcordanță

Options and report

TPdfCidFontOptions.Default alege pcfemSubsetPreferred ca EmbeddingMode, verifică extracția, limitează datele de font la 64 MiB, instanțele de glife la 65,534, iar MaxUnicodeCharacters la 1,048,576 de unități de cod Unicode mapate

TPdfCidFontReport înregistrează numărul total de glife și UniqueGlyphCount, OriginalFontBytes și EmbeddedFontBytes, SubsetAttempted, SubsetApplied, UsedFullFontFallback, SubsetErrorCode, FontEmbedded, textul așteptat și cel extras, plus ExtractionMatches

Atomicity and performance

Pozițiile glifelor sunt generate în timp liniar, iar glifele care partajează aceeași linie de bază sunt emise ca un singur obiect de text nativ

Offseturile verticale diferite folosesc obiecte de text izolate, păstrând în același timp ordinea logică a obiectelor

Validarea și subsetting-ul se termină înainte de inserare, iar orice eșec nativ ulterior elimină fiecare obiect adăugat de apel înainte ca conținutul paginii să fie regenerat

See Also

BuildToUnicodeCMap, AddShapedText, AddText, GetStructuredText