Unicode line breaking
HPDFUnicodeLineBreaks implementerar Unicode 17.0.0-standardmöjligheter för radbrytning med de incheckade Line_Break-, General_Category-, East_Asian_Width- och Extended_Pictographic-egenskaperna
Den portabla implementeringen löser kombinerande sekvenser, skiljeteckenskontext, numeriska uttryck, hangul, brahmiska ortografiska stavelser, emoji-modifierare och parregionala indikatorer utan en segmentations-DLL
Funktionen returnerar positionen före den första skalären och efter varje skalär, uttryckt som nollbaserade UTF-16-offset; varje position är förbjuden, tillåten eller obligatorisk
Slutet på texten är obligatoriskt, även för tom indata; starten på icke-tom text är förbjuden, och parade surrogat saknar interiörposition
Standardhantering av sydostasiatiska språk löser ordinära SA-tecken till AL och SA-kombinerande märken till CM; språkordlistor och avstavning är separata tailoring-tjänster
HPDFUnicodeLineBreakClass exponerar den råa eller LB1-upplösta egenskapen för enskilda kodpunkter; THPDFUnicodeLineBreakClass-namn behåller varje Unicode 17-egenskapsförkortning
De befintliga HPDFComputeLineBreaks och HPDFLineBreakClassOf dokument-API:erna konsumerar samma completa tabeller på Delphi 2009 och senare samt stödda FPC-mål, med bevarade etablerade enumordnigtal och beteende för tom indata
Felformad UTF-16 och kodenhetsbudgetar utanför en till 1048576 kastar EArgumentException; avbrott kontrolleras före allokering, under avkodning och vid utvärdering av gränser
Faktisk rich-fältlayout
Radbrutna typade rich-sekvenser konsumerar giltiga standardmöjligheter, håller hård-mellanslagsgrupper och öppnande skiljetecken tillsammans och hedrar CRLF, NEL, LINE SEPARATOR och PARAGRAPH SEPARATOR som explicita brytningar
Ursprungliga separatorer förblir i V och kanonisk RV; radseparatorer utelämnas ur målade glyffragment, och överbreda grupper använder den befintliga completa-graphem-nödradbrytningen
Oberoende fragment på samma faktiska rad fortsätter vid mätta avstånd; giltiga brytningar kräver ingen separat fysisk rad om inte anpassningen väljer dem
Completa styckemöjligheter bevarar giltiga grupper över stiländringar och slår samman delad CRLF; faktiska stiliserade avstånd avgör när en hela anpassningsbara grupp flyttas till en ny rad
Över-stil-graphem-nödanpassning och kontextuell formning, blandstil-stycke-bidi, godtycklig XHTML och språkspecifik tailoring förblir aktiva integrationsmål
Överensstämmelse
HotPDFUnicodeLineBreakTests konsumerar alla 19338 officiella Unicode 17 LineBreakTest-fall och jämför varje publicerad position; det obligatoriska slutet samt felformat-, budget- och avbrottsbeteende har separata kontroller
Build-UnicodeLineBreakTables.py --check verifierar reproducerbarheten och SHA-256-stiften för de tre ytterligare UCD-egenskapsindata
Unicode 17 radbrytningsregler · Gränsfunktion · Returnerade positioner · Rich-fältintegration