Retour à la ligne des graphèmes entre styles riches
THPDFHeadlessDocument.SetRichTextFieldValueWithAppearance garde les clusters de graphèmes Unicode complets sur une seule ligne physique quand un mot trop large s'étend sur plusieurs runs de rich text typé
Changer de police, de couleur ou de taille ne crée pas de coupure d'urgence autorisée à l'intérieur d'un caractère de base et de ses marques combinantes, y compris quand un run vide sépare leurs styles
L'ajusteur calcule les frontières de graphèmes sur le groupe logique complet, mesure les fragments d'appearance stylés réels et affecte chaque plage sélectionnée à une ligne avant de peindre ses ressources de polices séparées
Des sondes exponentielles suivies de recherches de préfixes bornées évitent de mesurer de façon répétée la fin inutilisée du paragraphe ; l'annulation est observée pendant la préparation de chaque plage et de chaque fragment natif
Le V d'origine, le RV canonique, les styles typés, l'espacement des caractères et les lignes de base mesurées restent intacts à travers sauvegarde et relecture
Un cluster stylé indivisible qui dépasse toute la largeur du contenu reste entier et subit le clip du contenu du widget, conformément au comportement existant pour un cluster unique ; le cluster suivant poursuit sur une autre ligne
Le wrapping désactivé conserve une seule ligne physique
Ce comportement de mise en page s'applique aussi aux appels JSON forms.fill natifs Linux réels utilisant richTextRuns et characterSpacing, sans modifier le record d'opération versionné
Le façonnage et le placement des marques entre fragments de styles différents, le bidi de paragraphe à styles mélangés et le XHTML arbitraire restent du travail d'intégration à venir
Voir le retour à la ligne des groupes de styles légaux, les frontières de graphèmes Unicode et les champs rich text natifs