Graphes de peinture COLR v1

GetRegisteredColorGlyphInfo valide le glyphe de base sélectionné et renvoie un graphe acyclique orienté plat dans THPDFOpenTypeColorGlyphInfo.COLRv1Paints

COLRv1RootPaintIndex identifie la racine et UnitsPerEm fournit l’échelle utilisée par DrawRegisteredColorGlyph

Enregistrements du graphe

THPDFCOLRv1PaintKind distingue les couches, remplissages pleins, dégradés linéaires, radiaux et coniques, clips de glyphes, glyphes couleur réutilisables, transformations et composites

THPDFCOLRv1Paint stocke les index enfants, identifiants de glyphes, géométrie de dégradé, données de transformation, mode composite et couleurs résolues

THPDFCOLRv1ColorStop stocke le décalage ordonné d’un arrêt, la couleur CPAL résolue, l’alpha et l’index d’entrée de palette

THPDFCOLRv1Transform stocke les six valeurs de la transformation affine de peinture

THPDFCOLRv1PaintArray, THPDFCOLRv1PaintIndexArray et THPDFCOLRv1ColorStopArray exposent le graphe, ses enfants de longueur variable et ses arrêts à Delphi et C++Builder

Sûreté et repli

Les décalages de peinture sont contrôlés par rapport à leurs bases correctes relatives à la table avant la construction du graphe

Les graphes sont limités à 4 096 nœuds de peinture et 64 niveaux, et les cycles échouent avant l’émission d’un opérateur de page

La sortie native couvre l’ordre source et destination courant et la famille des modes de fusion PDF, tandis que les autres opérations Porter-Duff invoquent OnColorGlyphRasterize lorsqu’il est affecté