Fontes OpenType variáveis e coloridas

O HotPDF pode inspecionar eixos fvar e instâncias nomeadas, validar coordenadas selecionadas e produzir uma instância estática antes da instalação normal de fontes, redução e cache persistente

Fluxo de trabalho de fontes variáveis

PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);

Fontes OpenType CFF2 são instanciadas internamente nas coordenadas padrão ou selecionadas, incluindo fvar, mapeamento avar 1.0 e 2.0, estado vsindex por dicionário de fonte, avaliação de blend, sub-rotinas locais e globais recursivas e deltas de métricas HVAR, VVAR e MVAR

Fontes variáveis TrueType com contornos glyf são instanciadas internamente para coordenadas não padrão. O pipeline avalia tuplas gvar compartilhadas e privadas, aplica interpolação IUP, atualiza contornos simples e deslocamentos compostos, resolve métricas de pontos fantasma horizontais e verticais, incorpora MVAR, reconstrói dados de glifo compactos e loca e remove tabelas de variação do sfnt estático com soma de verificação correta

OnVariableFontInstance é opcional para fontes variáveis CFF2 e TrueType. Ele pode substituir uma instância interna não padrão retornando um sfnt estático válido sem uma tabela fvar

As coordenadas resolvidas permanecem disponíveis por meio de GetRegisteredVariableFontAxes e passam a fazer parte do conteúdo de fonte instalado e armazenado em cache

Instanciação, redução e segurança de baixo nível

HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont e HPDFInstantiateTrueTypeVariableFont expõem fluxos de trabalho de array de bytes para chamadores que já gerenciam contêineres de fonte

A saída estática preserva IDs de glifo e programas de hint enquanto reconstrói tabelas e somas de verificação sfnt. O caminho CFF2 também preserva dados privados por dicionário de fonte e matrizes de fonte

Deslocamentos malformados, estruturas de variação inválidas, profundidade excessiva de sub-rotinas, limites de operação e limites expandidos de CharString falham de forma segura em vez de retornar uma fonte parcialmente instanciada

Fluxo de trabalho de glifos coloridos

GetRegisteredColorGlyphInfo detecta camadas COLR e CPAL, documentos de glifo SVG, strikes CBDT/CBLC e strikes sbix para uma fonte registrada

DrawRegisteredColorGlyph desenha camadas COLR v0, grafos de pintura COLR v1 limitados, documentos SVG seguros restritos, imagens PNG CBDT e imagens PNG ou JPEG sbix nativamente

COLR v1 suporta recortes de glifo em camadas, preenchimentos lineares sólidos e de múltiplas paradas, preenchimentos radiais, preenchimentos de varredura, transformações afins, glifos coloridos reutilizáveis, ordenação de origem e destino e compostos de mesclagem PDF

O perfil SVG nativo suporta caminhos, retângulos, círculos, elipses, linhas, polígonos, polilinhas, preenchimentos e traços sólidos herdados, transformações afins e documentos SVG compactados com gzip

THPDFColorGlyphRasterizeEvent permanece como fallback para recursos SVG não suportados, modos Porter-Duff não suportados, opacidade, gradientes e saída raster específica de aplicativo

THPDFOpenTypeColorGlyphInfo.COLRv1Paints expõe o DAG plano validado por meio de registros THPDFCOLRv1Paint, THPDFCOLRv1ColorStop e THPDFCOLRv1Transform para inspeção sem reanalisar os bytes da fonte

Os chamadores escolhem a paleta e o tamanho de pixel de destino para que a seleção de strike e a saída raster permaneçam determinísticas