Grafos de pintura COLR v1
GetRegisteredColorGlyphInfo valida el glifo base seleccionado y devuelve un grafo acíclico dirigido plano en THPDFOpenTypeColorGlyphInfo.COLRv1Paints
COLRv1RootPaintIndex identifica la raíz y UnitsPerEm proporciona la escala usada por DrawRegisteredColorGlyph
Registros del grafo
THPDFCOLRv1PaintKind distingue capas, rellenos sólidos, degradados lineales, degradados radiales, degradados de barrido, recortes de glifo, glifos de color reutilizables, transformaciones y composiciones
THPDFCOLRv1Paint almacena índices secundarios, ID de glifo, geometría de degradado, datos de transformación, modo de composición y colores resueltos
THPDFCOLRv1ColorStop almacena un desplazamiento de parada ordenado, el color CPAL resuelto, el alfa y el índice de entrada de paleta
THPDFCOLRv1Transform almacena los seis valores de la transformación de pintura afín
THPDFCOLRv1PaintArray, THPDFCOLRv1PaintIndexArray y THPDFCOLRv1ColorStopArray exponen el grafo y sus hijos y paradas de longitud variable a Delphi y C++Builder
Seguridad y reserva
Los desplazamientos de pintura se comprueban con sus bases correctas relativas a la tabla antes de la construcción del grafo
Los grafos se limitan a 4096 nodos de pintura y 64 niveles, y los ciclos fallan antes de que se emita cualquier operador de página
La salida nativa cubre el orden común de origen y destino más la familia de modos de fusión de PDF, mientras que otras operaciones Porter-Duff invocan OnColorGlyphRasterize cuando está asignado