Line height JSON de rich text tipado
forms.fill acepta los miembros opcionales lineHeightKind y lineHeight en cada item richTextRuns original, usando el layout real de párrafos y líneas físicas con fuentes suministradas
{
"schemaVersion": 1,
"type": "forms.fill",
"fields": [{
"name": "Input",
"richTextRuns": [{
"text": "First\rSecond",
"fontSize": 10,
"lineHeightKind": "number",
"lineHeight": 2
}]
}]
}
| Kind | Valor y comportamiento |
|---|---|
| legacy | El por defecto cuando no se suministra ninguno de los miembros, reteniendo el layout de párrafos existente |
| normal | Layout normal explícito usando métricas de fuentes suministradas y espaciado de líneas nativo |
| number | Un factor sin unidad no negativo multiplicado por el fontSize de este run |
| points | Una altura absoluta en puntos no negativa |
| percent | Un porcentaje calculado inmediatamente a partir del fontSize de este run y almacenado como puntos |
| em | Un factor calculado inmediatamente a partir del fontSize de este run y almacenado como puntos |
Un lineHeight numérico sin lineHeightKind selecciona number; cada kind numérico exige un valor, mientras que legacy y normal aceptan un valor ausente o cero
Los valores deben ser finitos y estar entre cero y un millón; su altura en puntos calculada debe permanecer también dentro de ese bound, y los nombres de kind desconocidos o los tipos inválidos fallan antes de cargar fuentes
El cero está soportado y puede producir líneas base superpuestas; los ascenders y descenders reales de la face determinan el half-leading negativo y la unión del strut del párrafo y las cajas de runs participantes
Cada run JSON es un item tipado original, no un elemento CSS; percent y em no introducen herencia entre objetos de runs JSON
El primer run suministra el estilo métrico del párrafo; un primer run vacío puede aportar una caja padre mayor o con estilo distinto, y una secuencia preparada separada admite su fuente real sin reemplazar los runs del autor
IsParagraphStrut no es un miembro JSON público; los runs generados de solo métricas cuentan en el presupuesto acumulado de runs de la operación, y cada face métrica cargada cuenta en los bytes agregados de fuentes
El callback recibe solicitudes reales de familias y estilos configurados, incluida una face padre que no pinta texto; los file jobs de Windows basados en paths usan el mismo parser tipado y planificador de fuentes suministradas
El V guardado retiene el texto lógico, el RV registra el perfil de párrafo calculado, y el AP retiene la precisión original de color y font-size
Las operaciones all-rich sin cambios preservan los bytes PDF confirmados exactos, incluidos los no-ops semánticos válidos de solo lectura; los estilos de solo lectura cambiados, los fallos de autenticación AES y los campos de firmas protegidos retienen las políticas existentes
Los errores de callbacks, la cancelación y los fallos de presupuesto de publicación preservan el contexto previo; los file jobs también preservan el destino anterior bajo publicación atómica
Un sink de callback puede haber aceptado ya bytes PDF candidatos cuando un callback posterior falla; el contexto vivo se confirma solo después de que los callbacks requeridos y las comprobaciones finales de cancelación tengan éxito
Los layouts de operaciones y callbacks de fuentes C versionados no cambian; las capacidades anuncian los kinds y bounds reales de lineHeight dentro del perfil de llenado tipado