Fuentes OpenType variables y de color
HotPDF puede inspeccionar los ejes fvar y las instancias con nombre, validar las coordenadas seleccionadas y producir una instancia estática antes de la instalación normal de fuentes, el subconjunto y la caché persistente
Flujo de trabajo de fuentes variables
PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);
Las fuentes OpenType CFF2 se instancian internamente en las coordenadas predeterminadas o seleccionadas, incluidos el mapeo fvar, avar 1.0 y 2.0, el estado vsindex por diccionario de fuente, la evaluación de blend, las subrutinas locales y globales recursivas y los deltas de métricas HVAR, VVAR y MVAR
Las fuentes variables TrueType con contornos glyf se instancian internamente para coordenadas no predeterminadas. La canalización evalúa las tuplas gvar compartidas y privadas, aplica la interpolación IUP, actualiza los contornos simples y los desplazamientos compuestos, resuelve las métricas de puntos fantasma horizontales y verticales, hornea MVAR, reconstruye los datos de glifo compactos y loca y elimina las tablas de variación del sfnt estático con suma de comprobación correcta
OnVariableFontInstance es opcional para fuentes variables CFF2 y TrueType. Puede anular una instancia interna no predeterminada devolviendo un sfnt estático válido sin tabla fvar
Las coordenadas resueltas permanecen disponibles mediante GetRegisteredVariableFontAxes y pasan a formar parte del contenido de fuente instalado y en caché
Instanciación, subconjunto y seguridad de bajo nivel
HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont y HPDFInstantiateTrueTypeVariableFont exponen flujos de trabajo de matrices de bytes para llamadores que ya gestionan contenedores de fuentes
La salida estática preserva los ID de glifo y los programas de hint mientras reconstruye las tablas sfnt y las sumas de comprobación. La ruta CFF2 también preserva los datos privados por diccionario de fuente y las matrices de fuente
Los desplazamientos malformados, las estructuras de variación no válidas, la profundidad excesiva de subrutinas, los límites de operación y los límites ampliados de CharString fallan de forma segura en lugar de devolver una fuente parcialmente instanciada
Flujo de trabajo de glifos de color
GetRegisteredColorGlyphInfo detecta capas COLR y CPAL, documentos de glifo SVG, strikes CBDT/CBLC y strikes sbix para una fuente registrada
DrawRegisteredColorGlyph dibuja capas COLR v0, grafos de pintura COLR v1 acotados, documentos SVG seguros restringidos, imágenes PNG CBDT e imágenes PNG o JPEG sbix de forma nativa
COLR v1 admite clips de glifo por capas, rellenos lineales sólidos y de varias paradas, rellenos radiales, rellenos de barrido, transformaciones afines, glifos de color reutilizables, orden de origen y destino y compuestos de fusión PDF
El perfil SVG nativo admite trazados, rectángulos, círculos, elipses, líneas, polígonos, polilíneas, rellenos y trazos sólidos heredados, transformaciones afines y documentos SVG comprimidos con gzip
THPDFColorGlyphRasterizeEvent sigue siendo la reserva para funciones SVG no admitidas, modos Porter-Duff no admitidos, opacidad, degradados y salida de ráster específica de la aplicación
THPDFOpenTypeColorGlyphInfo.COLRv1Paints expone el DAG plano validado mediante los registros THPDFCOLRv1Paint, THPDFCOLRv1ColorStop y THPDFCOLRv1Transform para su inspección sin volver a analizar los bytes de la fuente
Los llamadores eligen la paleta y el tamaño de píxel de destino para que la selección de strike y la salida de ráster permanezcan deterministas