Line height JSON tipado de rich text
forms.fill acepta los miembros opcionales lineHeightKind y lineHeight en cada elemento original de richTextRuns, usando el layout real de párrafo y de líneas físicas de las 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 valor por defecto cuando no se suministra ningún miembro, reteniendo el layout de párrafo existente |
| normal | Layout normal explícito usando métricas de fuentes suministradas y line spacing nativo |
| number | Un factor no negativo sin unidad multiplicado por el fontSize de este run |
| points | Una altura absoluta no negativa en puntos |
| percent | Un porcentaje computado inmediatamente a partir del fontSize de este run y guardado como puntos |
| em | Un factor computado inmediatamente a partir del fontSize de este run y guardado 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 computada en puntos también debe quedar 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 baselines superpuestas; los ascenders y descenders reales de la face determinan el half-leading negativo y la unión del strut del párrafo con los boxes de runs participantes
Cada run JSON es un elemento tipado original y no un elemento CSS; percent y em no introducen herencia entre objetos JSON de runs
El primer run suministra el estilo métrico del párrafo; un primer run vacío puede aportar un box padre mayor o con otro estilo, y una secuencia preparada separada admite su fuente real sin reemplazar los runs escritos
IsParagraphStrut no es un miembro JSON público; los runs generados de solo métrica 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 las solicitudes reales configuradas de familia y estilo, incluyendo una face padre que no pinta texto; los file jobs existentes de Windows basados en paths usan el mismo parser tipado y el mismo planner de fuentes suministradas
El V guardado retiene el texto lógico, RV registra el perfil computado del párrafo, y AP retiene la precisión original de color y font-size
Las operaciones totalmente rich sin cambios preservan los bytes PDF exactos confirmados, incluyendo no-ops semánticos válidos de solo lectura; los estilos de solo lectura cambiados, las fallas de autenticación AES y los campos de firma protegidos retienen las políticas existentes
Los errores de callback, la cancelación y las fallas del presupuesto de publicación preservan el contexto previo; los file jobs también preservan el destino previo 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 versionados de la operación C y del callback de fuentes no cambian; las capabilities anuncian los kinds y bounds reales de lineHeight dentro del perfil de llenado tipado