Wrapping de rich text do XFA

A pipeline de rich text draw dispõe o texto de parágrafos XHTML em linhas consecutivas usando a largura do draw, as margens efetivas do parágrafo e o textIndent da primeira linha

Palavras se movem juntas quando seus fragmentos estilizados cabem numa linha completa, incluindo palavras que atravessam elementos span adjacentes sem espaço intermediário; palavras mais largas que uma linha se dividem em prefixos medidos, e surrogate pairs UTF-16 permanecem intactos

Espaços normais do XHTML, tabs e fins de linha da fonte colapsam para um espaço entre palavras, e espaços no início ou no fim de uma linha são omitidos; um elemento br força uma quebra de linha, e quebras consecutivas retêm linhas intermediárias vazias

Cada linha calcula seu próprio alinhamento center ou right e baseline comum; linhas justificadas distribuem a largura excedente pelos espaços reais entre palavras após um soft wrap, enquanto a linha final e as linhas terminadas por br retêm seu espaçamento natural

O para.lineHeight nativo efetivo se aplica a todas as linhas e não pode reduzir o passo de linha abaixo da altura do texto; o espaçamento entre parágrafos adjacentes é aplicado uma vez ao redor do parágrafo completo

Overrides inline de fonte e cor sobrevivem à fragmentação de linhas, e estilos aninhados dentro de um hyperlink permanecem efetivos; cada fragmento de hyperlink posicionado retém seu destino e cria seu próprio retângulo nativo de link PDF

HPDFXFAFlatten usa o TXFAMeasureTextFunc fornecido para o ajuste, com sondas delimitadas de prefixo para palavras grandes demais; quando nenhum medidor é fornecido, o fallback usa um advance de meio em por Unicode scalar

THotPDF.ApplyXFAAsAcroForm usa o medidor nativo de fontes e preserva as mudanças de runtime através de save e reload do XDP, incluindo overrides independentes de texto, cor e parágrafo em instâncias repetidas

O line breaker atual usa fronteiras de palavras por whitespace e divisão de emergência segura para scalars; as regras completas de line breaking Unicode e grapheme clusters, modos adicionais de CSS white-space, edição completa de rich text de widgets e a geometria restante de decorações continuam como alvos separados

Geometria de parágrafos, Overrides de propriedades de rich text e ApplyXFAAsAcroForm