Wenn der Umbruch nicht vor der Einheit kommen darf, dann muss er vorher kommen (vor der Zahl).
Anscheinend beachtet DynaPDF das non breaking space nicht.
Du könntest versuchen den Umbruch selbst vorzunehmen.
Delphi-Quellcode:
// inlist = mehrzeiliger Text
// oulist = umgebrochener Text
// maxwidth = max Breite der Textbox
procedure DoWordBreaks(inlist, outlist:TStrings; maxwidth:double; canvas:TCanvas);
Dazu benötigt man noch die Möglichkeit die Textlänge von beliebigen Strings zu berechnen. *)
Man nimmt Zeile für Zeile, prüft die Länge und wenn zu lang geht man zurück zum nächsten Leerzeichen bis es passt.
Nach dem Textumbruch ersetzt man die non breaking spaces durch normale Leerzeichen und gibt das Ergebnis an DynaPDF weiter.
*) das ist er knackpunkt - gibt es eine Funktion in DynaPDF die einen String und einen Font als Input hat und die Textlänge liefert?