Typed Rich-Text-Run-Spacing-JSON
Windows-Dateijobs und versionierte Callback-Operationen sowie native Linux-versionierte Callback-Operationen binden Spacing an forms.fill-richTextRuns-Einträge unter Verwendung der originalen typed Runs
{"type":"forms.fill","fields":[{"name":"Input","richTextRuns":[
{"text":"A spaced line","fontSize":12,
"letterSpacingKind":"em","letterSpacing":0.125,
"wordSpacingKind":"points","wordSpacing":-0.5}
]}]}
letterSpacingKind und wordSpacingKind akzeptieren legacy, normal, points und em; ein ausgelassener Kind mit numerischem Wert bedeutet points, während ausgelassener Kind und Wert legacy bedeuten
points und em verlangen einen endlichen numerischen Wert; legacy und normal erlauben nur einen fehlenden Wert oder null; authored Werte und berechnete Punktlängen haben ein absolutes Maximum von 1000000
Der Windows-JSON-Parser behält endliche Dezimalwerte bis zum nächsten Double, bevor die originalen typed Runs das Layout erreichen; wissenschaftliche Notation folgt der bestehenden JSON-Grammatik und dem numerischen Bereich, und das bestehende Request-Byte-Limit begrenzt zusätzlich lange numerische Tokens
Unbekannte Modi, falsche JSON-Typen, überlaufende berechnete Werte und Rich-Runs auf Nicht-Text-Feldern schlagen fehl, bevor Fonts geladen oder veröffentlicht werden; bestehende aggregierte Font-, Objekt-, Input- und Output-Budgets sowie Abbruchprüfungen bleiben aktiv
Gemischte skalare und Rich-Felder nutzen die bestehende transaktionale Kandidatin, bewahren den aktuellen geladenen Graphen, den authentifizierten AES-Revision-Key, Signatur-Constraints und das zweiphasige PDF-/Ergebnis-Callback-Verhalten
Innerhalb dieses begrenzten Profils berechnen explizites normal und explizite null dasselbe Punkt-Spacing und dasselbe kanonische RV, wodurch echte äquivalente Read-only-Updates zu semantischen No-ops werden; versionierte JSON-Operationen behalten die Original-Quell-Bytes, und der ausgelassene Legacy-Modus bleibt unterscheidbar, weil er die globalen Appearance-Optionen erbt
Schreibgeschützte Felder akzeptieren echte semantische No-ops und lehnen geändertes Spacing ab; erfolgreiche JSON-No-ops behalten exakte PDF-Bytes, und fehlgeschlagene Output- oder Ergebnis-Callbacks lassen den aktuellen Kontext unverändert
Capability-Metadaten exponieren typedRichFill.spacing, ohne die bestehenden C-ABI-Strukturen oder -Symbole zu ändern; Spacing gilt für echte shaped Glyph-Koordinaten und RV-Werte, mit den begrenzten Regeln in nativem Run-Spacing