名前付きリッチテキストフォントファミリー

ネイティブのリッチフィールドは、供給された Unicode TrueType フォントファミリーを最大 16 個組み合わせられます。各ファミリーは regular・bold・italic・bold-italic のプログラムを持ち、選ばれた run はそれぞれ実際のフォントバイト、グリフマッピング、幅、ベースライン、記号のジオメトリを使います

THPDFHeadlessRichTextFontFamilies を設定し、各 run の FontFamily ラベルを割り当ててから SetRichTextFieldValueWithFamilies を呼びます。run ラベルが空のときは、最初に設定されたファミリーが選ばれます

XHTML の場合は、デコード前に FontFamilyNames とデフォルト run ファミリーを設定します。引用符の有無にかかわらず、カンマ区切りの font-family リストは最初の設定済みラベルを選び、inherit は外側のファミリーに戻し、有効な important 宣言は優先度を保持します

設定済みラベルを 1 つも含まない有効なリストは、最初に設定されたファミリーを選びます。不正な宣言では以前の値がそのまま保たれます。マッチングでは ASCII 文字の大小を折りたたみ、他の Unicode 文字はそのまま正確に比較します

ラベルは最大 128 UTF-16 コードユニットで、前後の空白、制御文字、対にならないサロゲート、引用符、バックスラッシュ、カンマ、セミコロンは含められません。この有界プロファイルは、CSS エスケープや暗黙的なシステムフォント検出を実装しません

純粋な ファミリー外観ビルダーは、選択されたスタイルだけを埋め込み、フォント・グリフ・オブジェクト・バイトの合計上限とキャンセル予算を適用します。選択されたフォントの欠落や不明な明示 run ラベルは、ドキュメント変更のコミット前に失敗します

ファミリー対応フォームインポートは、実際の FDF RV と XFDF value-richtext に同じ選択を適用し、既存のフィールドポリシーと署名ポリシーを保持した上で、正規化済みの名前付きリッチ値を比較して意味的に無変更かどうかを判断します

既存の単一ファミリー API とデフォルトデコーダープロファイルは、シグネチャと動作を保ちます。再生成された Pascal / C++Builder ヘッダーを使うプログラムは、拡張された管理 run とオプションレコードを採用するときに再ビルドが必要です。外部の V1 C ABI レコードは変更されません

ネイティブ Linux の名前付きファミリー JSON とバージョン付き C ABI 選択は、Linux ファミリーバインディングから利用できます。Windows の FDF / XFDF ジョブは、ネストしたファミリー/スタイルのファイルパスか、既存の V1 フォントコールバックを Windows フォームデータ交換経由で受け付けます

オプトインの 供給ファミリー書記素フォールバックは、ネイティブ API を通じて実際の候補ファミリー/スタイルプログラムを選択します。Linux JSON フォールバックは、同じ外観を準備する前に、必要な設定済み候補プログラムを解決します

任意の CSS エスケープ、暗黙的なシステムエイリアス、外部スタイルシート、一般的な CSS レイアウト、Windows の型付きリッチジョブ選択、Windows コールバックでのフォールバック読み込みは、引き続き作業中です

受け入れテスト

6 つのネイティブコンパイラーターゲットが、ターゲットごとに 36 個の実際の保存済み PDF について 168 個のアサーションと 1327 件の独立チェックを通過します。実際のフォントプログラム 8 個、混在ファミリーのアドバンス、Unicode ラベル、継承優先度、FDF / XFDF インポート、AES R5/R6 セキュリティ、ロールバック、初期または後期のキャンセルを含みます

新しい C++Builder ヘッダーは、新しいファミリーレコード、ビルダー、ドキュメントメソッドを両アーキテクチャでコンパイルします。2 つのバージョン付き Linux 共有ライブラリーは、新しい内部レコードで再ビルドした後、既存の 4 フォントコールバックと独立出力チェックに合格します

リッチフィールド · フォームデータ · ドキュメント API