Spacing de runs de rich text tipado em JSON

File jobs do Windows e operações versionadas de callbacks, e operações versionadas de callbacks do Linux nativo, vinculam o spacing nas entradas richTextRuns de forms.fill usando os runs tipados originais

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

letterSpacingKind e wordSpacingKind aceitam legacy, normal, points e em; um kind omitido com valor numérico significa points, enquanto kind e valor omitidos significam legacy

points e em exigem um valor numérico finito; legacy e normal permitem apenas valor ausente ou zero; valores autorados e comprimentos em pontos computados têm máximo absoluto de 1000000

O parser JSON do Windows retém valores decimais finitos no Double mais próximo antes que os runs tipados originais cheguem ao layout; notação científica segue a gramática e a faixa numérica existentes do JSON, e o limite existente de bytes da requisição também delimita tokens numéricos longos

Modos desconhecidos, tipos JSON errados, valores computados com overflow e rich runs em campos não text falham antes do carregamento de fontes ou da publicação; os orçamentos existentes agregados de fontes, objetos, entrada e saída e as checagens de cancelamento permanecem ativos

Campos mistos de escalares e rich usam o candidato transacional existente, preservando o grafo carregado atual, a chave autêntica da revisão AES, as restrições de assinatura e o comportamento de duas fases de callbacks de PDF/result

Dentro deste perfil delimitado, normal explícito e zero explícito computam o mesmo spacing em pontos e o mesmo RV canônico, tornando atualizações read-only realmente equivalentes em semantic no-ops; operações JSON versionadas retêm os bytes originais da origem, e o modo legacy omitido permanece distinto porque herda as opções globais de aparência

Campos read-only aceitam semantic no-ops reais e rejeitam spacing alterado; no-ops JSON bem-sucedidos retêm os bytes exatos do PDF, e callbacks de saída ou resultado com falha deixam o contexto atual inalterado

Os metadados de capability expõem typedRichFill.spacing sem mudar as estruturas ou símbolos existentes da C ABI; o spacing se aplica às coordenadas reais de glyphs com shaping e aos valores RV, com as regras delimitadas do run spacing nativo