Grafos de pintura COLR v1
GetRegisteredColorGlyphInfo valida o glifo base selecionado e retorna um grafo acíclico dirigido plano em THPDFOpenTypeColorGlyphInfo.COLRv1Paints
COLRv1RootPaintIndex identifica a raiz e UnitsPerEm fornece a escala usada por DrawRegisteredColorGlyph
Registros de grafo
THPDFCOLRv1PaintKind distingue camadas, preenchimentos sólidos, gradientes lineares, gradientes radiais, gradientes de varredura, recortes de glifo, glifos coloridos reutilizáveis, transformações e compostos
THPDFCOLRv1Paint armazena índices de filho, IDs de glifo, geometria de gradiente, dados de transformação, modo de composição e cores resolvidas
THPDFCOLRv1ColorStop armazena um deslocamento de parada ordenado, cor CPAL resolvida, alfa e índice de entrada de paleta
THPDFCOLRv1Transform armazena os seis valores da transformação de pintura afim
THPDFCOLRv1PaintArray, THPDFCOLRv1PaintIndexArray e THPDFCOLRv1ColorStopArray expõem o grafo e seus filhos e paradas de comprimento variável para Delphi e C++Builder
Segurança e fallback
Os deslocamentos de pintura são verificados contra suas bases corretas relativas à tabela antes da construção do grafo
Grafos são limitados a 4096 nós de pintura e 64 níveis, e ciclos falham antes que qualquer operador de página seja emitido
A saída nativa cobre ordenação comum de origem e destino mais a família de modos de mesclagem PDF, enquanto outras operações Porter-Duff invocam OnColorGlyphRasterize quando atribuído