Unicode grapheme boundaries

HPDFUnicodeTextBoundary implementeert Unicode 17.0.0 default extended grapheme-clusters met de ingecheckte Grapheme_Cluster_Break-, Indic_Conjunct_Break- en Extended_Pictographic-properties

De portable Pascal-implementatie behandelt combining marks, Hangul, Indische linker-sequenties, emoji ZWJ-sequenties en paren regional indicators zonder een GUI of segmentation DLL te vragen

Offsets tellen UTF-16-code-units vanaf nul en omvatten zowel begin als einde van de tekst; lege tekst geeft de enkele offset nul terug

Invoer moet gepaarde UTF-16-surrogaten bevatten, en de aanroeper levert een positief code-unit-budget tot 1048576 aan; de default is 65535

Annulering wordt gecheckt vóór allocatie en tijdens het consumeren van elke scalar, ook voor lege invoer

Rich field wrapping

Een te breed woord in een gewrapped multiline rich-veld wordt verdeeld op complete extended grapheme-clusters en gemeten met het gekozen font en de spacing

Elk fragment behoudt originele V- en RV-waarden, echte Unicode-mappings en de paragraafuitlijning; een ondeelbare cluster breder dan de rechthoek blijft intact en wordt geclipt

Fragmentbreedtes worden na shaping gecheckt, inclusief joining-vormen die breder worden wanneer apart geshaped; deelbare overlopen worden opnieuw gesplitst op complete clusters

Complex-script schilderen blijft HarfBuzz en FriBidi gebruiken; grapheme-segmentatie levert geen glyph-shaping of paragraaf-bidirectionele layout

Default Unicode line-break opportunities zijn beschikbaar via dezelfde portable unit; woorden wrappen over stijlgrenzen heen en mixed-style paragraaf-bidi blijven aparte actieve doelen

Conformiteit

Draai Tests/Linux/Run-UnicodeGraphemeAcceptance.sh of de Windows portable test-runner met HotPDFUnicodeGraphemeTests en Tests/Linux/resources

De tests consumeren alle 766 officiële Unicode 17 GraphemeBreakTest-cases en vergelijken elke gepubliceerde grens in UTF-16-units

Build-UnicodeTextBoundaryTables.py herbouwt de gecompileerde range-tabellen deterministisch vanuit de bestaande gepinde UCD-data

Unicode 17 text segmentation rules · Boundary function · Rich field behavior