HeraldEmbar
Joined 7 years ago
Joined 7 years ago
CCG player stockholm syndrome is why we can't have nice things.
Your language's length function is probably just returning the number of unicode codepoints in the string. You need to a function that computes the number of 'extended grapheme clusters' if you want to get actually displayed characters. And if that function is out of date, it might not handle ZWJ and variation selectors properly, and still give you a value of 2 instead of 1. Make sure your libraries are up to date.
Also, if you are writing a command line tool, you need to use a library to work out how many 'columns' a string will occupy for stuff like word wrapping, truncation etc. Chinese and Japanese characters take up two columns, many characters take up 0 columns, and all the above (emoji crap) can also affect the column count.
In short the Unicode standard has gotten pretty confusing and messy!
Where can I find a tutorial, examples, or any concrete details?