Высота строк типизированного rich-текста в JSON

forms.fill принимает необязательные члены lineHeightKind и lineHeight на каждом исходном элементе richTextRuns, используя реальную раскладку абзаца и физических строк с предоставленными шрифтами

{
  "schemaVersion": 1,
  "type": "forms.fill",
  "fields": [{
    "name": "Input",
    "richTextRuns": [{
      "text": "First\rSecond",
      "fontSize": 10,
      "lineHeightKind": "number",
      "lineHeight": 2
    }]
  }]
}
ВидЗначение и поведение
legacyЗначение по умолчанию, когда ни один член не задан, с сохранением существующей раскладки абзаца
normalЯвная обычная раскладка с использованием метрик предоставленного шрифта и нативного межстрочного интервала
numberНеотрицательный безразмерный множитель, умножаемый на fontSize этого run-а
pointsНеотрицательная абсолютная высота в пунктах
percentПроцент, немедленно вычисляемый от fontSize этого run-а и сохраняемый в пунктах
emМножитель, немедленно вычисляемый от fontSize этого run-а и сохраняемый в пунктах

Числовой lineHeight без lineHeightKind выбирает number; каждому числовому виду нужно значение, тогда как legacy и normal допускают отсутствующее значение или ноль

Значения обязаны быть конечными и от нуля до миллиона; их вычисленная высота в пунктах также должна оставаться в этих пределах, а неизвестные имена видов и неверные типы ломают операцию до загрузки шрифтов

Ноль поддерживается и может давать перекрывающиеся базовые линии; фактические асцендеры и десцендеры начертания определяют отрицательный half-leading и объединение strut абзаца и боксов участвующих run-ов

Каждый JSON-run — исходный типизированный элемент, а не CSS-элемент; percent и em не вводят наследования между объектами JSON-run-ов

Первый run задаёт метрический стиль абзаца; пустой первый run может внести больший или иначе стилизованный родительский бокс, а отдельная подготовленная последовательность допускает её фактический шрифт, не заменяя авторские run-ы

IsParagraphStrut не является публичным JSON-членом; сгенерированные metric-only run-ы считаются в кумулятивный бюджет run-ов операции, а каждое загруженное метрическое начертание — в агрегированные шрифтовые байты

Колбэк получает фактические запросы настроенных семейств и стилей, включая родительское начертание, которое не рисует текста; существующие Windows-задачи с файловыми путями используют тот же типизированный парсер и планировщик предоставленных шрифтов

Сохранённый V удерживает логический текст, RV записывает вычисленный профиль абзаца, а AP сохраняет исходные точность цвета и размера шрифта

Неизменённые all-rich-операции сохраняют точные зафиксированные байты PDF, включая корректные семантические no-op-ы только для чтения; изменённые стили только для чтения, сбои аутентификации AES и защищённые поля подписей сохраняют существующие политики

Ошибки колбэков, отмена и сбои бюджета публикации сохраняют прежний контекст; файловые задачи также сохраняют прежнюю цель при атомарной публикации

Приёмник колбэка мог уже принять байты кандидата PDF к моменту позднейшего сбоя колбэка; живой контекст фиксируется только после обязательных колбэков и финальных проверок отмены

Раскладки версионированной C-операции и шрифтового колбэка не меняются; возможности объявляют фактические виды lineHeight и их границы внутри профиля типизированного заполнения

Нативная раскладка line-height · Запись исходного run-а