ネイティブグリフクリッピング
HPDFRenderHeadlessPagePNG は、アクティブな PDF クリップを適用する前に、塗りつぶしグリフカバレッジをラスタライズします
別のアルファサーフェスが、整数デバイス空間のグリフ境界内で既存クリップを捕捉し、元のソースとブレンド演算子が適用される前に、そのカバレッジをグリフマスクと乗算します
これにより、W/W*、偶奇ホール、曲線パス、変換テキスト、アルファ、ソフトマスク、パターン色を保持したまま、分数クリップ境界でグリフ行が失われるのを防ぎます
描画は、ネストしたテキストと Form のレンダリング状態を含め、呼び出し側の PDF パスとグラフィックスステートを保持します
リソース計上
アルファバッファとグリフラスタの推定量は、割り当て前に作業メモリ予算に計上されます。生グリフラスタは、ページに見える部分が小さくてもピクセル予算に計上されます
生グリフのピクセル数は Int64 として安全に乗算され、アルファサーフェスを割り当てる前に、設定されたピクセル上限と正確に比較されます
バイト推定は、生グリフピクセル数を乗算する前に残りの Int64 容量を検査します。呼び出し側が設定可能なピクセル・メモリ上限を上げた場合も含みます
キャンセルはカバレッジ生成と最終合成の前後でポーリングされ、失敗するとレンダリングが完了するまで宛先は変更されません
精度と検証
矩形クリップは、チャンネル差最大 2 で、正確な独立ピクセル面積に対して検査されます
多角形と曲線のテストは、同じ上限を持つ別のソリッドフィルクリップコンパニオンに対してグリフ合成を比較します
基盤の Cairo クリップラスタライズは正確な多角形面積と異なり得ます。スケール 2 で 4 ピクセルに最大差 6 の三角形保持ケースも含まれます
MuPDF と Poppler の別々の画像は、それぞれのフォント・クリップラスタライズを記録するもので、ネイティブの式を定義しません