Typed rich-text run spacing JSON

Windows file joby a verzované callback operace, stejně jako nativní verzované callback operace na Linuxu, bindují spacing na položkách richTextRuns v forms.fill přes původní typované runy

{"type":"forms.fill","fields":[{"name":"Input","richTextRuns":[
  {"text":"A spaced line","fontSize":12,
   "letterSpacingKind":"em","letterSpacing":0.125,
   "wordSpacingKind":"points","wordSpacing":-0.5}
]}]}

letterSpacingKind a wordSpacingKind přijímají legacy, normal, points a em; vynechaný kind s číselnou hodnotou znamená points a vynechané kind i hodnota znamenají legacy

points a em vyžadují konečnou číselnou hodnotu; legacy a normal dovolují jen chybějící hodnotu či nulu; autorské hodnoty i spočtené délky v bodech mají absolutní maximum 1000000

Windows JSON parser si ponechá konečné desetinné hodnoty na nejbližší Double dřív, než se původní typované runy dostanou do layoutu; vědecká notace se řídí stávající JSON gramatikou a číselným rozsahem a stávající limit request bajtů ohraničuje i dlouhé číselné tokeny

Neznámé režimy, špatné JSON typy, přetékající spočtené hodnoty i rich runy na netextových polích selžou dřív, než dojde k načtení písma či publikaci; stávající agregátní rozpočty fontů, objektů, vstupu i výstupu a kontroly zrušení zůstávají aktivní

Smíšená skalární i rich pole používají stávající transakčního kandidáta, se zachováním aktuálního načteného grafu, autentického AES klíče revize, omezení podpisů i dvoufázového chování PDF/result callbacků

Uvnitř tohoto ohraničeného profilu se explicitní normal i explicitní nula spočtou na stejný point spacing i kanonické RV, takže skutečně ekvivalentní read-only aktualizace jsou sémantické no-opy; verzované JSON operace si ponechávají původní zdrojové bajty a vynechaný režim legacy zůstává odlišný, protože dědí globální volby appearance

Read-only pole přijmou skutečné sémantické no-opy a odmítnou změněný spacing; úspěšné JSON no-opy si ponechají přesné PDF bajty a neúspěšné output či result callbacky ponechají aktuální kontext beze změny

Capability metadata vystavuje typedRichFill.spacing, aniž by měnila stávající C ABI struktury či symboly; spacing se aplikuje na skutečné shaped glyfové souřadnice i hodnoty RV, s ohraničenými pravidly v nativním run spacing