Переопределения свойств rich text в XFA
Нативное сведение элементов draw с exData разрешает шрифтовые и абзацные атрибуты для текущего вхождения набора данных, включая переопределения, созданные обычными событиями JavaScript или FormCalc
const label = xfa.resolveNode("main.row[1].label");
label.font.typeface = "Helvetica";
label.font.size = "18pt";
label.font.weight = "bold";
label.font.posture = "italic";
label.font.underline = "1";
label.font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.para.spaceAbove = "3pt";
label.para.lineHeight = "30pt";
const span = label.value.exData.body.p.span;
span.setAttribute("color:#FFFF00", "style");
span.value = "Updated text";
Разрешение шрифтов и абзацев
Typeface, размер, weight, posture, underline и цвет заливки шрифта инициализируют стиль run'а rich text из эффективных атрибутов экземпляра и поддерживаемых значений схемы по умолчанию
Callback измерения текста получает эффективные typeface, размер и флаги bold и italic, поэтому измерение и генерируемые стили run используют одни и те же значения экземпляра
Windows-продюсер PDF последовательно разрешает логические семейства Courier, Helvetica и Times в Courier New, Arial и Times New Roman при измерении и выводе отрисовки, сохраняя задуманное семейство, когда Windows не отдаёт логическое имя как установленное начертание
Абзацные hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow и lineHeight влияют на размещение run; lineHeight не может уменьшить шаг строк ниже высоты, требуемой его текстом
Распознанный инлайновый CSS переопределяет унаследованные шрифтовые или абзацные значения; объявление, меняющее только один абзацный отступ, сохраняет другой унаследованный отступ
Инлайновые run сидят на общей базовой линии текста при разных размерах шрифта, а соседние абзацные отступы берут максимум из предшествующего spaceBelow и следующего spaceAbove; см. Геометрия абзацев rich text
Инлайновое содержимое и сохранение
Эффективные атрибуты style и href на объявленных XHTML-узлах свойств участвуют в обработке rich text, а эффективные скалярные текстовые переопределения заменяют соответствующее содержимое листа
Создание переопределения атрибута сохраняет скалярное содержимое узла из шаблона, а не стирает его текст; явное пустое скалярное значение опускает листовой run, сохраняя окружающее содержимое
Устаревшие узлы формы только с атрибутами продолжают наследовать текст шаблона; явный пустой CDATA-узел содержимого сохраняет различие между скалярной очисткой и опущенным телом после сериализации
Переопределения сохраняются в нативном form-пакете, остаются независимыми между повторными вхождениями и переживают сохранение и перезагрузку XDP; сбойные события восстанавливают точный предыдущий нативный документ
Покрытие
Это поведение относится к конвейеру переноса rich text и его распознаваемым CSS-объявлениям; дополнительные CSS-свойства, полноценное редактирование rich text виджета и неявное создание отсутствующих узлов свойств остаются отдельными целями
Активация подчёркивания шрифта использует текущий рендерер run; полная двухлинейная и дополнительная геометрия text-decoration остаются отдельными целями рендеринга
Связанные API
Нативный XFA Property DOM, Значения схемы по умолчанию, HPDFXFAResolveFormInstanceProperty и ApplyXFAAsAcroForm