Fronteiras de graphemes Unicode
HPDFUnicodeTextBoundary implementa os extended grapheme clusters default do Unicode 17.0.0 usando as propriedades Grapheme_Cluster_Break, Indic_Conjunct_Break e Extended_Pictographic embarcadas no repositório
A implementação Pascal portátil lida com combining marks, Hangul, sequências de linkers índicos, sequências de emoji com ZWJ e regional indicators pareados sem exigir GUI nem DLL de segmentação
Os offsets contam code units UTF-16 a partir de zero e incluem tanto o início quanto o fim do texto; texto vazio retorna o único offset zero
A entrada precisa conter surrogates UTF-16 pareados, e o chamador fornece um orçamento positivo de code units de até 1048576; o default é 65535
O cancelamento é checado antes da alocação e enquanto cada scalar é consumido, inclusive para entrada vazia
Wrapping de campos rich
Uma palavra larga demais num campo rich multilinha com wrapping é dividida em extended grapheme clusters completos e medida com a fonte e o spacing selecionados
Cada fragmento preserva os valores V e RV originais, os mapeamentos Unicode reais e o alinhamento do parágrafo; um cluster indivisível mais largo que o retângulo permanece intacto e é clipado
As larguras dos fragmentos são checadas após o shaping, incluindo formas de junção que alargam quando o shaping é feito separadamente; overflows divisíveis são divididos de novo em clusters completos
A pintura de scripts complexos continua usando HarfBuzz e FriBidi; a segmentação de graphemes não fornece shaping de glyphs nem layout bidirecional de parágrafos
Oportunidades default de line breaking Unicode estão disponíveis na mesma unit portátil; quebrar palavras através de fronteiras de estilo e o bidi de parágrafos com estilos mistos permanecem alvos ativos separados
Conformidade
Execute Tests/Linux/Run-UnicodeGraphemeAcceptance.sh ou o runner portátil de testes do Windows com HotPDFUnicodeGraphemeTests e Tests/Linux/resources
Os testes consomem todos os 766 casos oficiais do GraphemeBreakTest do Unicode 17 e comparam cada fronteira publicada em unidades UTF-16
Build-UnicodeTextBoundaryTables.py reconstrói deterministicamente as tabelas de faixas compiladas a partir dos dados UCD fixados existentes
Regras de segmentação de texto do Unicode 17 · Função de fronteiras · Comportamento de campos rich