XFA Rich Text Wrapping

Rich text draw pipeline rozkládá text odstavců XHTML do následných řádků podle draw šířky, efektivních marginů odstavce i textIndent prvního řádku

Slova se přesouvají pohromadě, když se jejich stylované fragmenty vejdou na kompletní řádek, tedy i slova překlenující sousední elementy span bez zasahující mezery; slova širší než řádek se dělí na naměřené předpony a UTF-16 surrogate páry zůstávají celé

Běžné XHTML mezery, tabulátory i konce zdrojových řádků se slepí na jednu mezeru mezi slovy a mezery na začátku či konci řádku se vynechají; element br vynutí konec řádku a následné zlomy si ponechají prázdné mezilehlé řádky

Každý řádek spočítá vlastní zarovnání na střed či vpravo i společnou baseline; zarovnané do bloku rozdělí volnou šířku mezi skutečné mezery slov po měkkém zalomení, zatímco poslední řádek i řádky ukončené br si ponechají přirozený spacing

Efektivní nativní para.lineHeight platí pro každý řádek a nemůže snížit krok řádku pod výšku textu; sousední spacing odstavců se aplikuje jednou kolem kompletního odstavce

Inline override písem a barev přežijí fragmentaci řádků a vnořené styly uvnitř hyperlinku zůstávají účinné; každý pozicovaný fragment hyperlinku si uchová svůj cíl a vytvoří vlastní nativní PDF link obdélník

HPDFXFAFlatten používá pro fitování dodaný TXFAMeasureTextFunc, s ohraničenými prefix sondami pro předimenzovaná slova; když se neměřič nedodá, jeho fallback použije advance půl em na každý Unicode skalár

THotPDF.ApplyXFAAsAcroForm používá nativní měřič písem a zachovává runtime změny přes uložení a reload XDP, tedy i nezávislé override textu, barvy a odstavců na opakovaných instancích

Aktuální line breaker používá mezerou vymezené hranice slov i nouzové dělení bezpečné pro skaláry; kompletní pravidla Unicode line-break a grafémových clusterů, další CSS režimy white-space, kompletní rich text editace widgetů i zbývající geometrie dekorací zůstávají samostatnými cíli

Geometrie odstavců, Rich Text Property Overrides a ApplyXFAAsAcroForm