Нативная высота строк типизированного rich-текста в Linux

Версионированная Linux-операция forms.fill привязывает исходные richTextRuns к нативному профилю строковых боксов с предоставленными Fontconfig-программами и неизменёнными раскладками колбэков

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

richTextRuns требуют текстового поля Tx; скалярные операции choice и button сохраняют существующее поведение, а несовместимые правки типизированных полей ломают операцию до изменения графа

lineHeightKind принимает legacy, normal, number, points, percent или em; числовой lineHeight без вида означает number, а числовому виду нужно конечное значение от нуля до миллиона

legacy и normal допускают отсутствующее или нулевое значение; проценты и em вычисляются в пункты от фактического авторского fontSize run-а, и вычисленные высоты имеют тот же предел в миллион пунктов

Metric-only родительские run-ы участвуют в допуске шрифтов и объединениях строковых боксов, даже когда не рисуют текста; планировщик держит отдельный подготовленный массив и сохраняет исходную авторскую точность цвета, размера и высоты

Лимит 4096 run-ов на поле включает вставленные struts абзацев, а formDataLimits.maxObjects ограничивает агрегированное подготовленное количество по всей операции

Пакеты только из rich-элементов возвращают фактическое число обновлений и сохраняют точные зафиксированные байты PDF для no-op-ов; смешанные пакеты скаляров и rich-элементов сохраняют своё число запрошенных правок и публикуют полный итоговый PDF и снимок исходника

Строгие ошибки членов возвращают статус 1, некорректные JSON-токены — статус разбора 6, а отмена или неудавшаяся публикация колбэка оставляет зафиксированный граф нетронутым

Реальный Linux-колбэк возможностей объявляет принятые виды, нулевые высоты, метрические struts абзацев и побайтово идентичные rich no-op-ы под formData.typedRichFill