Wrap de Rich Text XFA

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

As palavras movem-se em conjunto quando os fragmentos com estilo delas cabem numa linha completa, incluindo palavras que atravessam elementos span adjacentes sem um espaço intermédio; palavras mais largas que uma linha dividem-se em prefixos medidos, e os surrogate pairs UTF-16 permanecem intactos

Espaços XHTML normais, 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 mantêm linhas intermediárias vazias

Cada linha calcula o alinhamento próprio ao centro ou à direita e a linha de base comum; linhas justificadas distribuem a largura excedente pelos espaços reais de palavras após um wrap suave, enquanto a linha final e as linhas terminadas por br mantêm o espaçamento natural delas

O para.lineHeight nativo efetivo aplica-se 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 aplica-se uma vez em torno do parágrafo completo

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

HPDFXFAFlatten usa o TXFAMeasureTextFunc fornecido para o ajuste, com sondas de prefixos delimitadas para palavras demasiado grandes; quando nenhum medidor é fornecido, o fallback dele usa um avanço de meia em por scalar Unicode

THotPDF.ApplyXFAAsAcroForm usa o medidor nativo de tipos de letra e preserva as alterações de runtime através de gravação e recarregamento de XDP, incluindo overrides independentes de texto, cor e parágrafos em ocorrências repetidas

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

Geometria de parágrafos, Overrides de propriedades de Rich Text e ApplyXFAAsAcroForm