Confini dei grapheme Unicode
HPDFUnicodeTextBoundary implementa i cluster grapheme estesi predefiniti di Unicode 17.0.0 usando le proprietà archiviate Grapheme_Cluster_Break, Indic_Conjunct_Break e Extended_Pictographic
L'implementazione Pascal portabile gestisce combining mark, Hangul, sequenze linker indiche, sequenze emoji ZWJ e regional indicator accoppiati senza richiedere una GUI né una DLL di segmentazione
Gli offset contano le code unit UTF-16 da zero e includono sia l'inizio sia la fine del testo; testo vuoto restituisce il singolo offset zero
L'input deve contenere surrogate UTF-16 accoppiate e il chiamante fornisce un budget positivo di code unit fino a 1048576; il default è 65535
La cancellazione è controllata prima dell'allocazione e mentre si consuma ogni scalar, incluso per input vuoto
Wrapping dei campi rich
Una parola troppo larga in un campo rich multilinea con wrapping è divisa ai cluster grapheme estesi completi e misurata con il font e la spaziatura selezionati
Ogni frammento preserva i valori V e RV originali, le vere mappature Unicode e l'allineamento del paragrafo; un cluster indivisibile più largo del rettangolo resta intatto e viene ritagliato
Le larghezze dei frammenti sono controllate dopo lo shaping, comprese le joining form che si allargano quando modellate separatamente; gli overflow divisibili sono divisi di nuovo ai cluster completi
Il disegno degli script complessi continua a usare HarfBuzz e FriBidi; la segmentazione dei grapheme non fornisce shaping dei glyph né layout bidirezionale del paragrafo
Le opportunità di line break Unicode predefinite sono disponibili tramite la stessa unità portabile; il wrapping di parole oltre i confini di stile e il bidi di paragrafo a stili misti restano obiettivi attivi separati
Conformità
Esegui Tests/Linux/Run-UnicodeGraphemeAcceptance.sh o il test runner portabile Windows con HotPDFUnicodeGraphemeTests e Tests/Linux/resources
I test consumano tutti i 766 casi ufficiali GraphemeBreakTest di Unicode 17 e confrontano ogni confine pubblicato in unità UTF-16
Build-UnicodeTextBoundaryTables.py ricostruisce in modo deterministico le tabelle range compilate dai dati UCD con pin esistenti
Regole di segmentazione testo Unicode 17 · Funzione dei confini · Comportamento dei campi rich