Wrapping del rich text XFA

La pipeline di disegno del rich text dispone il testo dei paragrafi XHTML su righe consecutive usando la larghezza di disegno, i margini effettivi del paragrafo e il textIndent della prima riga

Le parole si spostano insieme quando i loro frammenti stilizzati entrano in una riga completa, comprese le parole che attraversano elementi span adiacenti senza uno spazio intermedio; le parole più larghe di una riga vengono spezzate in prefissi misurati e le coppie surrogate UTF-16 restano intatte

Spazi XHTML normali, tabulazioni e fine riga del sorgente collassano in un unico spazio tra parole, e gli spazi all'inizio o alla fine di una riga vengono omessi; un elemento br forza un'interruzione di riga e le interruzioni consecutive conservano le righe intermedie vuote

Ogni riga calcola il proprio allineamento centrato o a destra e la baseline comune; le righe giustificate distribuiscono la larghezza avanzata tra gli spazi reali tra parole dopo un soft wrap, mentre l'ultima riga e le righe chiuse da br mantengono la loro spaziatura naturale

Il para.lineHeight nativo effettivo si applica a ogni riga e non può ridurre il passo di riga sotto l'altezza del testo; la spaziatura tra paragrafi adiacenti viene applicata una sola volta attorno al paragrafo completo

Gli override di font e colore inline sopravvivono alla frammentazione in righe e gli stili annidati dentro un hyperlink restano efficaci; ogni frammento di hyperlink posizionato conserva la sua destinazione e crea il proprio rettangolo di link PDF nativo

HPDFXFAFlatten usa il TXFAMeasureTextFunc fornito per l'adattamento, con sonde limitate sui prefissi per le parole troppo larghe; quando non viene fornito un misuratore, il fallback usa un avanzamento di mezzo em per scalare Unicode

THotPDF.ApplyXFAAsAcroForm usa il misuratore di font nativo e preserva le modifiche a runtime attraverso salvataggio e ricaricamento XDP, inclusi override indipendenti di testo, colore e paragrafo sulle istanze ripetute

L'attuale line breaker usa i confini di parola basati sugli spazi e uno spezzamento di emergenza sicuro a livello di scalare; le regole complete Unicode di line break e di cluster di grafemi, le modalità CSS white-space aggiuntive, la modifica completa del rich text dei widget e la geometria restante delle decorazioni restano obiettivi separati

Geometria dei paragrafi, Override delle proprietà del rich text e ApplyXFAAsAcroForm