OpenType CFF2 デフォルトインスタンス外観

ネイティブの plain・rich・shaped・family 外観ビルダは、デフォルトのバリエーション座標に CFF2 輪郭を含む完全な OpenType OTTO フォントを受け付けます

元のフォントは、Unicode 文字マッピング、グリフインデックス、水平アドバンス、シェーピングのソースであり続けます。HarfBuzz が、複数のフォントディクショナリから選択された輪郭を含め、デフォルトインスタンスの輪郭を解決します

ビルダはすべてのグリフを静的な CID-keyed CFF 1 プログラムに変換し、FontFile3 として Subtype CIDFontType0C、Adobe Identity コレクション、元のグリフインデックスと等しい CID とともに埋め込みます

生成される encoding、widths、ToUnicode マッピングは、元のグリフ ID と論理 Unicode 列を保持します。補助文字、合字、結合記号を含みます

これは、ISO 32000-1:2008 9.7 と 9.9 が記述する CFF 1 構造を使う PDF 1.7 フォントプログラムを生成します。CFF2 を PDF フォントストリームに直接埋め込むことはしません

シェーピングしないテキストも含め、hb_font_draw_glyph と不変の描画コールバックを公開する、一致するアーキテクチャの HarfBuzz ライブラリが必要です。これらの API は HarfBuzz 7 から利用可能で、HOTPDF_HARFBUZZ_LIBRARY で明示的なライブラリを選択できます

複雑なシェーピングは、既存の FriBidi 依存と、既存のスケール 1000 整数アドバンス契約も使用します。元の unitsPerEm での理想的な非量子化アドバンスは、別の精度限界です

編集可能な外観には、installable または editable の埋め込み権限が必要です。読み取り専用の外観生成は preview-and-print 権限を許可しますが、restricted と bitmap-only の権限は引き続き拒否されます

no-subsetting は、未使用グリフを含め、変換されたプログラム内のすべての元グリフを保持します。変換はフォントプログラムの形式を変えるため、元の OpenType コンテナのバイト単位の保持は保証されません

変換されたプログラムは別のプライマリ名を使用し、読み取り可能な著作権・ライセンス表記と元のネームテーブルバイトを保持します

ソースフォント、作業バッファ、完全フォントレイアウト、オブジェクトサイズ、リッチフォント合計、キャンセル、ネイティブレンダリング境界は、公開前に検査されます。不正な欠落グリフプログラムはエラーのままで、有効な空グリフは保持されます

Type 2 出力は 16.16 座標精度と上限付きオペランドデルタを持ち、グリフは最大 65,535 個、グリフプログラムごとに最大 65,535 バイトです

スタンドアロンの生 CFF2 テーブル、既存 PDF のデフォルト外観リソース内の直接 CFF2 フォントストリーム、デフォルト以外のバリエーション軸選択、より広範な複合テキストレイアウトは、このバックエンドの対象外です

既存の OpenType CFF 1 入力は引き続きコンパクト外観バックエンドを使い、埋め込み Type1・Type1C・CIDFontType0C 注釈リソースは元の生フォントフォールバックを使います

TryGetCFF2FontTable は、完全な輪郭や権限の検証ではなく、上限付きの形式能力照会です

HPDFBuildHeadlessTextAppearance と THPDFTrueTypeData を参照してください