Интервалы типизированных rich-text run-ов в JSON
Windows-задачи и версионированные операции с колбэками, а также нативные Linux-операции с колбэками привязывают интервалы на элементах richTextRuns из forms.fill, используя исходные типизированные run-ы
{"type":"forms.fill","fields":[{"name":"Input","richTextRuns":[
{"text":"A spaced line","fontSize":12,
"letterSpacingKind":"em","letterSpacing":0.125,
"wordSpacingKind":"points","wordSpacing":-0.5}
]}]}
letterSpacingKind и wordSpacingKind принимают legacy, normal, points и em; опущенный вид при числовом значении означает points, а опущенные и вид, и значение — legacy
points и em требуют конечного числового значения; legacy и normal допускают только отсутствующее значение или ноль; авторские значения и вычисленные длины в пунктах имеют абсолютный максимум 1000000
JSON-парсер Windows сохраняет конечные десятичные значения до ближайшего Double до того, как исходные типизированные run-ы попадут в раскладку; научная запись следует существующей JSON-грамматике и числовому диапазону, а существующий лимит байтов запроса также ограничивает длинные числовые токены
Неизвестные режимы, неверные JSON-типы, переполняющие вычисленные значения и rich run-ы на нетекстовых полях ломают операцию до загрузки шрифтов или публикации; существующие агрегированные бюджеты шрифтов, объектов, входа и вывода и проверки отмены остаются активными
Смешанные скалярные и rich-поля используют существующий транзакционный кандидат, сохраняя текущий загруженный граф, аутентифицированный ключ ревизии AES, ограничения подписей и двухфазное поведение колбэков PDF и результата
В этом ограниченном профиле явный normal и явный ноль дают одинаковые интервалы в пунктах и канонический RV, поэтому фактически эквивалентные обновления только для чтения становятся семантическими no-op-ами; версионированные JSON-операции сохраняют исходные байты, а опущенный legacy-режим остаётся различимым, потому что наследует глобальные опции внешнего вида
Поля только для чтения принимают фактические семантические no-op-ы и отклоняют изменённые интервалы; успешные JSON no-op-ы сохраняют точные байты PDF, а сбои выходных или результирующих колбэков оставляют текущий контекст без изменений
Метаданные возможностей раскрывают typedRichFill.spacing, не меняя существующих структур и символов C ABI; интервалы применяются к фактическим координатам шейпленных глифов и значениям RV с ограниченными правилами из нативных интервалов run-ов