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;
Î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
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
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ță
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
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