可変およびカラー OpenType フォント
HotPDF は fvar 軸と名前付きインスタンスを検査し、選択した座標を検証し、通常のフォントインストール、サブセット化、永続キャッシュの前に静的インスタンスを生成できます
可変フォントのワークフロー
PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);
CFF2 OpenType フォントは、デフォルトまたは選択した座標で内部インスタンス化され、fvar および avar 1.0/2.0 マッピング、フォント辞書ごとの vsindex 状態、blend 評価、再帰的なローカルおよびグローバルサブルーチン、HVAR、VVAR、MVAR メトリックデルタが含まれます
TrueType 可変フォント(glyf アウトライン付き)は、デフォルト以外の座標に対して内部インスタンス化されます。このパイプラインは、共有およびプライベート gvar タプルを評価し、IUP 補間を適用し、単純アウトラインと合成オフセットを更新し、水平および垂直のファントムポイントメトリックを解決し、MVAR を焼き込み、コンパクトなグリフデータと loca を再構築し、チェックサムが正しい静的 sfnt からバリエーションテーブルを削除します
OnVariableFontInstance は CFF2 および TrueType 可変フォントでは省略可能です。fvar テーブルを持たない有効な静的 sfnt を返すことにより、デフォルト以外の内部インスタンスをオーバーライドできます
解決された座標は GetRegisteredVariableFontAxes を通じて利用可能なままとなり、インストールおよびキャッシュされたフォントコンテンツの一部になります
低レベルインスタンス化、サブセット化、安全性
HPDFIsCFF2Font、HPDFInstantiateCFF2Font、HPDFSubsetCFF2Font、HPDFIsTrueTypeVariableFont、HPDFInstantiateTrueTypeVariableFont は、フォントコンテナを既に管理している呼び出し元向けにバイト配列ワークフローを公開します
静的出力は、sfnt テーブルとチェックサムを再構築しながら、グリフ ID とヒントプログラムを保持します。CFF2 パスは、フォント辞書ごとのプライベートデータとフォントマトリックスも保持します
不正なオフセット、無効なバリエーション構造、過剰なサブルーチン深さ、操作制限、拡張 CharString 制限は、部分的にインスタンス化されたフォントを返すのではなく、閉方向に失敗します
カラーグリフのワークフロー
GetRegisteredColorGlyphInfo は、登録済みフォントの COLR および CPAL レイヤー、SVG グリフドキュメント、CBDT/CBLC ストライク、sbix ストライクを検出します
DrawRegisteredColorGlyph は、COLR v0 レイヤー、境界付き COLR v1 ペイントグラフ、制限付きセーフ SVG ドキュメント、CBDT PNG 画像、sbix PNG または JPEG 画像をネイティブに描画します
COLR v1 は、レイヤー化されたグリフクリップ、単色およびマルチストップの線形塗りつぶし、放射塗りつぶし、スイープ塗りつぶし、アフィン変換、再利用可能なカラーグリフ、ソースとデスティネーションの順序、PDF ブレンドコンポジットをサポートします
ネイティブ SVG プロファイルは、パス、長方形、円、楕円、線、ポリゴン、ポリライン、継承された単色塗りとストローク、アフィン変換、gzip 圧縮された SVG ドキュメントをサポートします
THPDFColorGlyphRasterizeEvent は、サポートされていない SVG 機能、サポートされていない Porter-Duff モード、不透明度、グラデーション、およびアプリケーション固有のラスタ出力に対するフォールバックのままです
THPDFOpenTypeColorGlyphInfo.COLRv1Paints は、フォントバイトを再解析せずに検査できるように、検証済みのフラットな DAG を THPDFCOLRv1Paint、THPDFCOLRv1ColorStop、THPDFCOLRv1Transform レコードを通じて公開します
呼び出し元はパレットとターゲットピクセルサイズを選択するため、ストライク選択とラスタ出力は決定的なままです