Font OpenType Variabili e a Colore
HotPDF può ispezionare gli assi fvar e le istanze denominate, validare le coordinate selezionate e produrre un'istanza statica prima della normale installazione del font, del sottoset e della cache persistente
Flusso di lavoro font variabile
PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);
I font OpenType CFF2 vengono istanziati internamente alle coordinate predefinite o selezionate, inclusi la mappatura fvar, avar 1.0 e 2.0, lo stato vsindex per dizionario di font, la valutazione blend, le subroutines ricorsive locali e globali e i delta di metrica HVAR, VVAR e MVAR
I font variabili TrueType con contorni glyf vengono istanziati internamente per coordinate non predefinite. La pipeline valuta le tuple gvar condivise e private, applica l'interpolazione IUP, aggiorna i contorni semplici e gli offset compositi, risolve le metriche dei punti fantasma orizzontali e verticali, incorpora MVAR, ricostruisce i dati di glifo compatti e loca e rimuove le tabelle di variazione dallo sfnt statico corretto tramite checksum
OnVariableFontInstance è opzionale per i font variabili CFF2 e TrueType. Può sovrascrivere un'istanza interna non predefinita restituendo uno sfnt statico valido senza tabella fvar
Le coordinate risolte restano disponibili tramite GetRegisteredVariableFontAxes e diventano parte del contenuto del font installato e memorizzato nella cache
Instancing, sottoset e sicurezza di basso livello
HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont e HPDFInstantiateTrueTypeVariableFont espongono flussi di lavoro a array di byte per i chiamanti che gestiscono già i contenitori dei font
L'output statico preserva gli ID dei glifi e i programmi di hint ricostruendo le tabelle sfnt e i checksum. Il percorso CFF2 preserva anche i dati privati per dizionario di font e le matrici dei font
Offset non validi, strutture di variazione non valide, profondità eccessiva delle subroutines, limiti di operazione e limiti CharString espansi falliscono chiudendosi invece di restituire un font parzialmente istanziato
Flusso di lavoro glifi a colore
GetRegisteredColorGlyphInfo rileva i livelli COLR e CPAL, i documenti di glifi SVG, gli strike CBDT/CBLC e gli strike sbix per un font registrato
DrawRegisteredColorGlyph disegna in modo nativo i livelli COLR v0, i grafi di paint COLR v1 limitati, i documenti SVG sicuri ristretti, le immagini PNG CBDT e le immagini PNG o JPEG sbix
COLR v1 supporta clip di glifi a livelli, riempimenti lineari solidi e a più stop, riempimenti radiali, riempimenti a sweep, trasformazioni affini, glifi a colore riutilizzabili, ordinamento di origine e destinazione e compositi di blend PDF
Il profilo SVG nativo supporta percorsi, rettangoli, cerchi, ellissi, linee, poligoni, polilinee, riempimenti e tratti solidi ereditati, trasformazioni affini e documenti SVG compressi con gzip
THPDFColorGlyphRasterizeEvent rimane il fallback per funzionalità SVG non supportate, modalità Porter-Duff non supportate, opacità, gradienti e output raster specifici dell'applicazione
THPDFOpenTypeColorGlyphInfo.COLRv1Paints espone il DAG appiattito validato tramite i record THPDFCOLRv1Paint, THPDFCOLRv1ColorStop e THPDFCOLRv1Transform per l'ispezione senza riparsare i byte del font
I chiamanti scelgono la tavolozza e la dimensione dei pixel di destinazione, così che la selezione dello strike e l'output raster rimangano deterministici