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