Fuentes OpenType variables y de color

HotPDF puede inspeccionar ejes y casos con nombre de fvar, validar las coordenadas seleccionadas y producir una instancia estática antes de la instalación, el subconjunto y el almacenamiento en caché persistente normales de la fuente

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 coordenadas predeterminadas o seleccionadas, incluidos el mapeo fvar y 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 tuplas gvar privadas y compartidas, aplica la interpolación IUP, actualiza contornos simples y compensaciones de compuestos, resuelve métricas de puntos fantasma horizontales y verticales, integra MVAR, reconstruye datos de glifos compactos y loca y elimina las tablas de variación del sfnt estático correcto en suma de comprobación

OnVariableFontInstance es opcional para fuentes variables CFF2 y TrueType. Puede reemplazar una instancia interna no predeterminada devolviendo un sfnt estático válido sin una tabla fvar

Las coordenadas resueltas permanecen disponibles mediante GetRegisteredVariableFontAxes y pasan a formar parte del contenido de fuente instalado y almacenado en caché

Instancia, subconjunto y seguridad de bajo nivel

HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont y HPDFInstantiateTrueTypeVariableFont exponen flujos de trabajo de bytes para quienes ya administran contenedores de fuentes

La salida estática conserva los IDs de glifo y los programas de pistas mientras reconstruye las tablas y las sumas de comprobación del sfnt. La ruta CFF2 también conserva los datos privados por diccionario de fuente y las matrices de fuente

Los desplazamientos mal formados, las estructuras de variación no válidas, la profundidad excesiva de subrutinas, los límites de operaciones y los límites ampliados de CharString fallan en modo cerrado en lugar de devolver una fuente parcialmente instanciada

Flujo de trabajo de glifos de color

GetRegisteredColorGlyphInfo detecta capas COLR y CPAL, documentos SVG de glifos, planchas CBDT/CBLC y planchas sbix para una fuente registrada

DrawRegisteredColorGlyph dibuja de forma nativa capas COLR v0, gráficos de pintura COLR v1 acotados, documentos SVG seguros restringidos, imágenes PNG de CBDT e imágenes PNG o JPEG de sbix

COLR v1 admite recortes de glifos por capas, rellenos lineales sólidos y de múltiples paradas, rellenos radiales, rellenos de barrido, transformaciones afines, glifos de color reutilizables, orden de origen y destino y compuestos de mezcla PDF

El perfil SVG nativo admite rutas, 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 el respaldo para características SVG no admitidas, modos Porter-Duff no admitidos, opacidad, degradados y salida raster 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

Quien llama elige la paleta y el tamaño de píxel de destino para que la selección de plancha y la salida raster permanezcan deterministas