XFA Rich-Text-Zeilenumbruch

Die Rich-Text-Draw-Pipeline setzt XHTML-Absatztext mit der Draw-Breite, den effektiven Absatzrändern und dem textIndent der ersten Zeile auf fortlaufende Zeilen

Wörter wandern gemeinsam, wenn ihre stilisierten Fragmente in eine komplette Zeile passen — auch Wörter über benachbarte span-Elemente hinweg ohne dazwischenliegendes Leerzeichen; breiter als eine Zeile geratene Wörter werden in gemessene Präfixe zerlegt, und UTF-16-Surrogatpaare bleiben intakt

Normale XHTML-Leerzeichen, Tabs und Zeilenenden in der Quelle kollabieren zu je einem Leerzeichen zwischen Wörtern, Leerzeichen am Zeilenanfang oder -ende entfallen; ein br-Element erzwingt einen Zeilenumbruch, und aufeinanderfolgende Umbrüche behalten die leeren Zwischenzeilen

Jede Zeile berechnet ihre eigene Zentrierung beziehungsweise Rechtsbündigkeit und eine gemeinsame Grundlinie; im Blocksatz verteilte Zeilen legen die übrige Breite nach einem Soft Wrap auf die tatsächlichen Wortzwischenräume um, während die letzte Zeile und durch br beendete Zeilen ihren natürlichen Abstand behalten

Der effektive native para.lineHeight gilt für jede Zeile und kann den Zeilenschritt nicht unter die Texthöhe absenken; der Abstand zwischen Nachbarabsätzen wird einmal um den kompletten Absatz gelegt

Inline-Font- und Farb-Overrides überleben die Zeilenaufteilung, und verschachtelte Stile innerhalb eines Hyperlinks bleiben wirksam; jedes positionierte Hyperlink-Fragment behält sein Ziel und erzeugt sein eigenes natives PDF-Link-Rechteck

HPDFXFAFlatten nutzt die übergebene TXFAMeasureTextFunc zum Messen, mit begrenzten Präfix-Proben für überbreite Wörter; ohne übergebene Messfunktion greift ein Fallback mit einem halben Em Vorschub pro Unicode-Skalar

THotPDF.ApplyXFAAsAcroForm nutzt die native Font-Messfunktion und erhält Laufzeitänderungen über XDP-Speichern und Neuladen hinweg, einschließlich unabhängiger Text-, Farb- und Absatz-Overrides auf wiederholten Instanzen

Der aktuelle Line Breaker arbeitet mit Whitespace-Wortgrenzen und notfallartigem skalarsicherem Aufteilen; vollständige Unicode-Zeilenumbruch- und Grapheme-Cluster-Regeln, zusätzliche CSS-white-space-Modi, vollständiges Widget-Rich-Text-Editing und restliche Dekorationsgeometrie bleiben separate Ziele

Absatzgeometrie, Rich-Text-Property-Overrides und ApplyXFAAsAcroForm