Límites de grafemas Unicode
HPDFUnicodeTextBoundary implementa los clusters de grafemas extendidos por defecto de Unicode 17.0.0 usando las propiedades Grapheme_Cluster_Break, Indic_Conjunct_Break y Extended_Pictographic incluidas en el repositorio
La implementación Pascal portable maneja marcas combinantes, Hangul, secuencias de enlazadores índicos, secuencias emoji con ZWJ e indicadores regionales emparejados sin necesitar una GUI ni una DLL de segmentación
Los offsets cuentan unidades de código UTF-16 desde cero e incluyen tanto el inicio como el final del texto; el texto vacío devuelve el único offset cero
La entrada debe contener surrogates UTF-16 emparejados, y el código llamante proporciona un presupuesto positivo de unidades de código de hasta 1048576; el valor por defecto es 65535
La cancelación se comprueba antes de la asignación y mientras se consume cada valor escalar, incluso con entrada vacía
Wrapping de campos rich
Una palabra demasiado ancha en un campo rich multilínea con wrapping se divide en clusters de grafemas extendidos completos y se mide con la fuente y el espaciado seleccionados
Cada fragmento conserva los valores V y RV originales, los mapeos Unicode reales y la alineación del párrafo; un cluster indivisible más ancho que el rectángulo se mantiene intacto y se recorta
Las anchuras de los fragmentos se comprueban tras el shaping, incluidas las formas de unión que se ensanchan al darle forma por separado; los desbordamientos divisibles se parten de nuevo en clusters completos
El dibujado de scripts complejos sigue usando HarfBuzz y FriBidi; la segmentación de grafemas no aporta shaping de glifos ni layout bidireccional de párrafos
Oportunidades de salto de línea Unicode por defecto están disponibles en la misma unidad portable; partir palabras entre límites de estilo y el bidi de párrafos con estilos mixtos siguen siendo objetivos activos independientes
Conformidad
Ejecuta Tests/Linux/Run-UnicodeGraphemeAcceptance.sh o el runner de tests portable de Windows con HotPDFUnicodeGraphemeTests y Tests/Linux/resources
Los tests consumen los 766 casos oficiales del GraphemeBreakTest de Unicode 17 y comparan cada límite publicado en unidades UTF-16
Build-UnicodeTextBoundaryTables.py reconstruye de forma determinista las tablas de rangos compiladas a partir de los datos UCD fijados existentes
Reglas de segmentación de texto de Unicode 17 · Función de límites · Comportamiento de campos rich