Unicode grapheme-grænser

HPDFUnicodeTextBoundary implementerer Unicode 17.0.0 default extended grapheme clusters med de indcheckede Grapheme_Cluster_Break-, Indic_Conjunct_Break- og Extended_Pictographic-properties

Den portable Pascal-implementering håndterer combining marks, Hangul, Indic linker-sekvenser, emoji ZWJ-sekvenser og parvis regionale indikatorer uden at kræve en GUI eller en segmenterings-DLL

Offsets tæller UTF-16 code units fra nul og inkluderer både start og slut af teksten; tom tekst returnerer den enkelte offset nul

Input skal indeholde parrede UTF-16 surrogater, og kalderen leverer et positivt code unit-budget op til 1048576; standarden er 65535

Cancellation tjekkes før allokering og under forbrug af hver scalar, også for tomt input

Rich felt-ombrydning

Et for bredt ord i et multiline ombrudt rich felt deles ved komplette extended grapheme clusters og måles med den valgte font og afstand

Hvert fragment bevarer originale V- og RV-værdier, faktiske Unicode-mappings og afsnitsjusteringen; en udelelig cluster bredere end rektanglet forbliver intakt og clips

Fragmentbredder tjekkes efter shaping, inklusive joining-former, der udvider sig, når de formes separat; delelige overløb deles igen ved komplette clusters

Complex script-maling fortsætter med at bruge HarfBuzz og FriBidi; grapheme-segmentering leverer ikke glyph-shaping eller afsnits bidirektionelt layout

Standard Unicode line break-muligheder er tilgængelige gennem samme portable unit; ombrydning af ord på tværs af style-grænser og mixed-style afsnits-bidi forbliver separate aktive mål

Konformitet

Kør Tests/Linux/Run-UnicodeGraphemeAcceptance.sh eller Windows portable test-runner med HotPDFUnicodeGraphemeTests og Tests/Linux/resources

Testene forbruger alle 766 officielle Unicode 17 GraphemeBreakTest-cases og sammenligner hver publiceret grænse i UTF-16 units

Build-UnicodeTextBoundaryTables.py genbygger deterministisk de kompilerede intervaltabeller fra det eksisterende pinned UCD-data

Unicode 17 tekstsegmenteringsregler · Boundary-funktion · Rich felt-adfærd