COLR v1 ペイントグラフ

GetRegisteredColorGlyphInfo は選択されたベースグリフを検証し、THPDFOpenTypeColorGlyphInfo.COLRv1Paints にフラットな有向非巡回グラフを返します

COLRv1RootPaintIndex はルートを識別し、UnitsPerEm は DrawRegisteredColorGlyph が使用するスケールを提供します

グラフレコード

THPDFCOLRv1PaintKind は、レイヤー、単色塗り、線形グラデーション、放射グラデーション、スイープグラデーション、グリフクリップ、再利用可能なカラーグリフ、変換、コンポジットを区別します

THPDFCOLRv1Paint は、子インデックス、グリフ ID、グラデーションジオメトリ、変換データ、コンポジットモード、解決済みカラーを格納します

THPDFCOLRv1ColorStop は、順序付きストップオフセット、解決済み CPAL カラー、アルファ、パレットエントリインデックスを格納します

THPDFCOLRv1Transform は、アフィンペイント変換の 6 つの値を格納します

THPDFCOLRv1PaintArray、THPDFCOLRv1PaintIndexArray、THPDFCOLRv1ColorStopArray は、グラフとその可変長の子およびストップを Delphi と C++Builder に公開します

安全性とフォールバック

ペイントオフセットは、グラフ構築の前に正しいテーブル相対ベースに対してチェックされます

グラフは 4096 個のペイントノードと 64 レベルに制限され、ページオペレータが出力される前にサイクルは失敗します

ネイティブ出力は、一般的なソースおよびデスティネーションの順序と PDF ブレンドモードファミリーをカバーし、その他の Porter-Duff 操作は、割り当てられている場合 OnColorGlyphRasterize を呼び出します