Ajuste de graphemes entre estilos rich text
THPDFHeadlessDocument.SetRichTextFieldValueWithAppearance mantiene los clusters de graphemes Unicode completos en una sola línea física cuando una palabra demasiado ancha cruza varios runs de rich text tipado
Cambiar una fuente, un color o un tamaño no crea un salto de emergencia permitido dentro de un carácter base y sus signos combining, ni siquiera cuando un run vacío separa sus estilos
El fitter calcula los límites de graphemes sobre el grupo lógico completo, mide los fragmentos de appearance con estilo reales y asigna cada rango seleccionado a una línea antes de pintar sus recursos de fuente separados
Sondas exponenciales seguidas de búsquedas de prefijos acotadas evitan medir repetidamente la cola no usada del párrafo; la cancelación se observa mientras se prepara cada rango y cada fragmento nativo
El V original, el RV canónico, los estilos tipados, el espaciado de caracteres y las baselines medidas quedan intactos a través de guardado y recarga
Un cluster con estilo indivisible que excede el ancho completo del contenido permanece junto y queda sujeto al clip de contenido del widget, igual que el comportamiento existente de cluster único; el siguiente cluster continúa en otra línea
Con el ajuste deshabilitado se conserva una sola línea física
Este comportamiento de layout también aplica a llamadas reales a forms.fill JSON de Linux nativo que usan richTextRuns y characterSpacing, sin cambiar el record versionado de la operación
El shaping y la colocación de signos entre fragmentos con estilos distintos, el bidi de párrafos con estilos mezclados y el XHTML arbitrario siguen siendo trabajo de integración pendiente
Ver ajuste de grupos de estilos legal, límites de graphemes Unicode y campos rich text nativos