Espaçamento de runs rich text tipado em JSON
Trabalhos de ficheiros Windows e operações versionadas por callbacks, e operações versionadas por callbacks nativas de Linux, vinculam o espaçamento em 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; os valores escritos e os comprimentos em pontos calculados têm um máximo absoluto de 1000000
O parser JSON de Windows retém valores decimais finitos no Double mais próximo antes de os runs tipados originais chegarem ao layout; a notação científica segue a gramática e o intervalo numérico JSON existentes, e o limite existente de bytes de pedidos também delimita tokens numéricos compridos
Modos desconhecidos, tipos JSON errados, valores calculados com overflow e runs rich em campos que não são de texto falham antes do carregamento de tipos de letra ou da publicação; os orçamentos agregados existentes de tipos de letra, objetos, entrada e saída e as verificações de cancelamento permanecem ativos
Campos mistos de escalares e rich usam o candidato transacional existente, preservando o grafo carregado atual, a chave real de revisões AES, as restrições de assinaturas e o comportamento existente de callbacks de duas fases de PDF/resultado
Dentro deste perfil delimitado, normal explícito e zero explícito calculam o mesmo espaçamento em pontos e o mesmo RV canónico, tornando atualizações reais equivalentes só de leitura em no-ops semânticos; as operações versionadas JSON mantêm os bytes originais da fonte, e o modo legacy omitido permanece distinto porque herda as opções globais de aparências
Campos só de leitura aceitam no-ops semânticos reais e rejeitam espaçamento alterado; no-ops JSON bem-sucedidos mantêm bytes PDF exatos, e callbacks de saída ou de resultado falhados deixam o contexto atual inalterado
Os metadados de capacidades expõem typedRichFill.spacing sem alterar as estruturas nem os símbolos existentes da ABI C; o espaçamento aplica-se às coordenadas reais de glyphs com shaping e aos valores RV, com as regras delimitadas do espaçamento nativo de runs