Unicode line breaking
HPDFUnicodeLineBreaks implementerer Unicode 17.0.0 default line break-muligheder med de indcheckede Line_Break-, General_Category-, East_Asian_Width- og Extended_Pictographic-properties
Den portable implementering opløser combining-sekvenser, tegnsætningskontekst, numeriske udtryk, Hangul, Brahmic ortografiske stavelser, emoji-modifikatorer og parvise regionale indikatorer uden en segmenterings-DLL
Funktionen returnerer positionen før den første scalar og efter hver scalar udtrykt som nul-baserede UTF-16-offsets; hver position er forbudt, tilladt eller obligatorisk
Tekstslutningen er obligatorisk, også for tomt input; start af ikke-tom tekst er forbudt, og parrede surrogater har ingen indre position
Default Southeast Asian-håndtering opløser almindelige SA-tegn til AL og SA combining marks til CM; sprogordbøger og orddeling er separate tailoring-tjenester
HPDFUnicodeLineBreakClass udstiller den rå eller LB1-opløste property for enkelte code points; THPDFUnicodeLineBreakClass-navne beholder hver Unicode 17 property-forkortelse
De eksisterende HPDFComputeLineBreaks- og HPDFLineBreakClassOf-dokument-API'er forbruger de samme komplette tabeller på Delphi 2009 og senere samt understøttede FPC-mål og bevarer etablerede enum-ordinaler og tom-input-adfærd
Misdannet UTF-16 og code unit-budgetter uden for én til 1048576 udløser EArgumentException; cancellation tjekkes inden allokering, under dekodning og under evaluering af grænser
Faktisk rich felt-layout
Ombrydning af typede rich runs forbruger lovlige default-muligheder, holder ikke-brydende mellemrumsgrupper og åbnende tegnsætning sammen og honorerer CRLF, NEL, LINE SEPARATOR og PARAGRAPH SEPARATOR som eksplicitte brud
Originale separatorer forbliver i V og kanonisk RV; linjeseparatorer udelades fra malede glyph-fragmenter, og for brede grupper bruger den eksisterende komplet-grapheme nødombrydning
Uafhængige fragmenter på samme faktiske linje fortsætter med målte advances; lovlige brud kræver ikke en separat fysisk linje, medmindre tilpasning vælger dem
Komplette afsnitsmuligheder bevarer lovlige grupper på tværs af style-ændringer og forener splittet CRLF; faktiske stylede advances afgør, hvornår en hel passerende gruppe flyttes til en frisk linje
Cross-style grapheme nødtilpasning og kontekstuel shaping, mixed-style afsnits-bidi, vilkårlig XHTML og sprogspecifik tailoring forbliver aktive integrationsmål
Konformitet
HotPDFUnicodeLineBreakTests forbruger alle 19338 officielle Unicode 17 LineBreakTest-tilfælde og sammenligner hver publiceret position; det obligatoriske slut samt misdannet, budget- og cancellation-adfærd har separate tjek
Build-UnicodeLineBreakTables.py --check verificerer reproducerbarhed og SHA-256-pinnene for de tre yderligere UCD property-input
Unicode 17 line breaking-regler · Boundary-funktion · Returnerede positioner · Rich field-integration