Fronteiras de graphemes Unicode
HPDFUnicodeTextBoundary implementa clusters de graphemes estendidos por defeito do Unicode 17.0.0 usando as propriedades Grapheme_Cluster_Break, Indic_Conjunct_Break e Extended_Pictographic incluídas no repositório
A implementação portátil Pascal trata marcas de combinação, Hangul, sequências de linkers Índicos, sequências de emoji com ZWJ e indicadores regionais emparelhados sem exigir uma GUI nem uma DLL de segmentação
Os offsets contam unidades de código UTF-16 a partir de zero e incluem tanto o início como o fim do texto; texto vazio devolve o único offset zero
A entrada tem de conter surrogates UTF-16 emparelhados, e quem chama fornece um orçamento positivo de unidades de código até 1048576; o default é 65535
O cancelamento é verificado antes da alocação e durante o consumo de cada scalar, incluindo para entrada vazia
Wrap de campos rich
Uma palavra demasiado larga num campo rich com wrap multilinha é dividida em clusters de graphemes estendidos completos e medida com o tipo de letra e o espaçamento selecionados
Cada fragmento preserva os valores originais de V e RV, os mapeamentos Unicode reais e o alinhamento do parágrafo; um cluster indivisível mais largo que o retângulo permanece intacto e é cortado
As larguras dos fragmentos são verificadas após o shaping, incluindo formas de ligação que alargam quando moldadas separadamente; transbordos divisíveis são divididos outra vez em clusters completos
A pintura de scripts complexos continua a usar HarfBuzz e FriBidi; a segmentação de graphemes não fornece shaping de glyphs nem layout bidirecional de parágrafos
As oportunidades de quebra de linhas Unicode por defeito estão disponíveis através da mesma unidade portátil; wrap de palavras através de fronteiras de estilos e bidi de parágrafos com estilos mistos continuam a ser alvos ativos separados
Conformidade
Corra Tests/Linux/Run-UnicodeGraphemeAcceptance.sh ou o runner portátil de testes de Windows com HotPDFUnicodeGraphemeTests e Tests/Linux/resources
Os testes consomem todos os 766 casos oficiais de GraphemeBreakTest do Unicode 17 e comparam todas as fronteiras publicadas em unidades UTF-16
Build-UnicodeTextBoundaryTables.py reconstrói deterministicamente as tabelas de intervalos 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