Line height de rich text tipado no Linux nativo

A operação versionada forms.fill JSON do Linux vincula richTextRuns originais ao perfil nativo de line boxes com programas Fontconfig fornecidos e layouts de callbacks inalterados

{"schemaVersion":1,"type":"forms.fill","fields":[{"name":"Input","fontFamily":"Sans","richTextRuns":[{"text":"First\rSecond","fontSize":10,"lineHeightKind":"number","lineHeight":2}]}]}

richTextRuns exige um campo de texto Tx; operações escalares de choice e button retêm seu comportamento existente, e edições tipadas incompatíveis de campos falham antes de alterar o grafo

lineHeightKind aceita legacy, normal, number, points, percent ou em; um lineHeight numérico sozinho implica number, enquanto um kind numérico exige um valor finito de zero a um milhão

Legacy e normal aceitam valor ausente ou zero; porcentagens e em são computadas em pontos usando o fontSize real autorado do run, e as alturas computadas têm o mesmo teto de um milhão de pontos

Runs pais somente métricos participam da admissão de fontes e das uniões de line boxes mesmo quando não pintam texto; o planner mantém um array preparado separado e preserva a precisão original autorada de cor, tamanho e altura

O limite de 4096 runs por campo inclui os struts de parágrafos inseridos, e formDataLimits.maxObjects delimita a contagem agregada preparada na operação

Lotes totalmente rich retornam a contagem real atualizada e preservam os bytes exatos commitados do PDF para no-ops; lotes mistos de escalares e rich retêm sua contagem de edições solicitadas e publicam o PDF final completo e o snapshot da origem

Erros estritos de membros retornam status 1, tokens JSON malformados retornam status de parse 6, e cancelamento ou publicação de callback com falha deixa o grafo commitado intacto

O callback real de capability do Linux anuncia os kinds aceitos, alturas zero, struts métricos de parágrafos e rich no-ops byte-idênticos sob formData.typedRichFill