Grapheme in a sentence as a noun

That's iteration by code point, not by grapheme.

The .NET StringInfo class provides methods to work at the grapheme level, not code points.

Some languages have grapheme clusters that cannot be precomposed.

In English, the grapheme "d" very commonly represents the sound /d/.

You are expecting the string class to function via graphemes rather than characters.

Does Go provide functions for iterating grapheme by grapheme?

There is the size in bytes of various encodings and there is the number of code points and there is the number of grapheme clusters.

So you acknowledge that determining grapheme ranges is important - you just don't see the need to count the ranges?If so, sure, I agree.

You cannot reverse by reversing codepoint list. And you cannot reverse by reversing grapheme list. And string length is hard to compute and then it doesn't any sense.

What he is saying though is that one should prefer to count grapheme clusters instead of characters since the definition of the latter is incredibly vague.

Likewise, the grapheme "j" in English very commonly represents the sound /d/.Additionally /d/ is a single distinct sound.

These abstractions are inadequate: instead you wantsomething like grapheme clusters.

For example, this article wants to count "graphemes", and the author goes through three versions of an algorithm to account for surrogate pairs and various combining marks.

Its completely missing a whole lot of critical Unicode functionality: casemapping & -folding grapheme support normalization collation text segmentation, &c &c &c. Every Ruby string carries around its encoding, instead of sanely unifying into Unicode internally like nearly everything else does.

Grapheme definitions

noun

a written symbol that is used to represent speech; "the Greek alphabet has 24 characters"

See also: character