型付きリッチテキストの run スペーシング JSON
Windows のファイルジョブとバージョン付きコールバック操作、およびネイティブ Linux のバージョン付きコールバック操作は、元の型付き run を使って、forms.fill の richTextRuns エントリにスペーシングをバインドします
{"type":"forms.fill","fields":[{"name":"Input","richTextRuns":[
{"text":"A spaced line","fontSize":12,
"letterSpacingKind":"em","letterSpacing":0.125,
"wordSpacingKind":"points","wordSpacing":-0.5}
]}]}
letterSpacingKind と wordSpacingKind は legacy、normal、points、em を受け付けます。数値があるのに種類が省略された場合は points を、種類と値が両方省略された場合は legacy を意味します
points と em は有限の数値を要求します。legacy と normal は値の欠落またはゼロだけを許します。記述された値と計算されたポイント長は、絶対最大 1000000 です
Windows の JSON パーサは、元の型付き run がレイアウトに届く前に、有限の 10 進値を最も近い Double まで保持します。指数表記は既存の JSON 文法と数値範囲に従い、既存のリクエストバイト上限も長い数値トークンを制限します
未知のモード、間違った JSON 型、オーバーフローした計算値、テキスト以外のフィールドのリッチ run は、フォントロードや公開の前に失敗します。既存のフォント・オブジェクト・入力・出力の合計予算とキャンセル検査は有効なままです
混合スカラー・リッチフィールドは既存のトランザクション候補を使い、現在のロード済みグラフ、認証済み AES リビジョンキー、署名制約、2 相の PDF・結果コールバック動作を保持します
この上限付きプロファイル内では、明示的な normal と明示的なゼロは同じポイントスペーシングと正準 RV に計算されるため、実際の等価な読み取り専用更新は意味的 no-op になります。バージョン付き JSON 操作は元のソースバイトを保持し、省略された legacy モードはグローバル外観オプションを継承するため別のままです
読み取り専用フィールドは実際の意味的 no-op を受け付け、変更されたスペーシングは拒否します。成功した JSON no-op は正確な PDF バイトを保持し、失敗した出力・結果コールバックは現在のコンテキストを変更しません
機能メタデータは、既存の C ABI 構造やシンボルを変えずに typedRichFill.spacing を公開します。スペーシングは、実際にシェーピングされたグリフ座標と RV 値に適用され、ネイティブ run スペーシングの上限付き規則に従います