Line height de rich text tipado en Linux nativo
La operación versionada JSON forms.fill de Linux vincula los richTextRuns originales al perfil nativo de line-boxes con programas Fontconfig suministrados y layouts de callback sin cambios
{"schemaVersion":1,"type":"forms.fill","fields":[{"name":"Input","fontFamily":"Sans","richTextRuns":[{"text":"First\rSecond","fontSize":10,"lineHeightKind":"number","lineHeight":2}]}]}
richTextRuns exige un campo de texto Tx; las operaciones escalares de choice y button conservan su comportamiento existente, y las ediciones incompatibles de campos tipados fallan antes de cambiar el grafo
lineHeightKind acepta legacy, normal, number, points, percent o em; un lineHeight numérico solo implica number, mientras que un kind numérico exige un valor finito de cero a un millón
Legacy y normal aceptan un valor ausente o cero; percent y em se computan a puntos usando el fontSize realmente escrito del run, y las alturas computadas tienen el mismo bound de un millón de puntos
Los runs padre de solo métrica participan en la admisión de fuentes y en las uniones de line-boxes aunque no pinten texto; el planner mantiene un array preparado separado y preserva la precisión original de color, tamaño y altura escritos
El límite de 4096 runs por campo incluye los struts de párrafo insertados, y formDataLimits.maxObjects acota el conteo preparado agregado de la operación
Los lotes totalmente rich devuelven el conteo real actualizado y preservan los bytes PDF exactos confirmados para no-ops; los lotes mixtos de escalares y rich retienen su conteo de ediciones solicitadas y publican el PDF final completo y el snapshot fuente
Los errores de miembro estricto devuelven status 1, los tokens JSON malformados devuelven parse status 6, y la cancelación o la publicación fallida del callback deja el grafo confirmado intacto
El callback real de capability de Linux anuncia los kinds aceptados, las alturas cero, los struts de párrafo métricos y los rich no-ops idénticos byte a byte bajo formData.typedRichFill