Rule LB12a was changed to disallow a break between BA and GL. The Line_Break assignment of FIGURE DASH and EN DASH was changed from HH to BA and SOFT HYPHEN from BA to HH for better linebreaking behavior for those characters.”
⇒ if a language has functionality for detecting line breaking points, it must choose between backwards compatibility and following this change.
Is there any programming language that actually works properly with the new code points ?
Im not an expert but im guessing that java for example must be broken because its char type is 16 bits and unicode code points havelong passed 65k.
Most modern languages support the entire Unicode code point space (1,114,112 entries).
What may cause issues is that they may not know the character class of the newly added code points. That can affect such things as
- upper casing or lower casing strings
- sorting of strings
- matching Unicode digits in regular expressions
There also can be bug fixes/improvements/tweaks that affect behavior. For example, in this release, https://www.unicode.org/versions/Unicode18.0.0/#UAX_Changes states
“UAX #14 Unicode Line Breaking Algorithm
Rule LB12a was changed to disallow a break between BA and GL. The Line_Break assignment of FIGURE DASH and EN DASH was changed from HH to BA and SOFT HYPHEN from BA to HH for better linebreaking behavior for those characters.”
⇒ if a language has functionality for detecting line breaking points, it must choose between backwards compatibility and following this change.
Surrogates: https://en.wikipedia.org/wiki/Universal_Character_Set_charac...
Raku and Racket are language oriented novel programming languages. They may adapt more easy.