Overrides de propriedades de rich text no XFA
O flattening nativo de draws exData resolve atributos de fontes e parágrafos para a ocorrência atual do dataset, incluindo overrides criados por eventos gerais de JavaScript ou 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";
Resolução de fontes e parágrafos
Typeface, size, weight, posture, underline e a cor de fill da fonte inicializam o estilo dos runs de rich text a partir dos atributos efetivos da instância e dos defaults de schema suportados
O callback de medição de texto recebe o typeface, tamanho, flags bold e itálico efetivos, de modo que a medição e os estilos de runs emitidos usem os mesmos valores da instância
O produtor PDF do Windows resolve as famílias lógicas Courier, Helvetica e Times para Courier New, Arial e Times New Roman de forma consistente durante a medição e a saída de desenho, preservando a família pretendida quando o Windows não expõe o nome lógico como face instalada
hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow e lineHeight de parágrafos afetam o placement dos runs; lineHeight não pode reduzir o passo de linha abaixo da altura exigida pelo seu texto
CSS inline reconhecido sobrepõe valores herdados de fontes ou parágrafos; uma declaração que muda apenas uma margem de parágrafo preserva a outra margem herdada
Runs inline compartilham uma baseline de texto comum entre tamanhos de fontes diferentes, e o espaçamento entre parágrafos adjacentes usa o máximo entre o spaceBelow do anterior e o spaceAbove do seguinte; veja Geometria de parágrafos em rich text
Conteúdo inline e persistência
Atributos efetivos de style e href em nós declarados de propriedades XHTML participam do processamento de rich text, e overrides efetivos de texto escalar substituem o conteúdo da folha correspondente
Criar um override de atributo retém o conteúdo escalar de template daquele nó em vez de apagar seu texto; um valor escalar explicitamente vazio omite o run da folha preservando o conteúdo ao redor
Nós de formulários legados somente atributo continuam herdando o texto do template; um nó de conteúdo CDATA explicitamente vazio preserva a distinção entre uma limpeza escalar e um corpo omitido após a serialização
Overrides persistem no packet nativo de formulários, permanecem independentes entre ocorrências repetidas e sobrevivem a save e reload do XDP; eventos com falha restauram o documento nativo anterior exato
Cobertura
Este comportamento se aplica à pipeline de wrapping de rich text e às declarações CSS reconhecidas dela; propriedades CSS adicionais, edição completa de rich text de widgets e criação implícita de nós de propriedades ausentes continuam como alvos separados
A ativação de underline de fontes usa o renderer atual de runs; geometria completa de double-line e decorações de texto adicionais permanecem alvos de rendering separados
APIs relacionadas
DOM nativo de propriedades XFA, Defaults de schema, HPDFXFAResolveFormInstanceProperty e ApplyXFAAsAcroForm