書記素
Grapheme
書記言語で意味を為すまとまりとして最小の要素。(これ以上分解すると意味が変わってしまう。)
カーソルを移動するときに1文字として捉えられる文字。
書記素がなぜ難しいのか?
書記素は1コードポイントではない。(よく勘違いされる。)
1以上複数個のコードポイントで書記素が成り立っている。
見た目が同じだが、異なるコードポイント列の書記素が存在している。比較が難しい。
書記素の中味を変更したいことはそれなりにある。
例: アクセント記号を変えたい。
例: 顔文字の色を変えたい。
フォントがつながっていることは書記素としてつながっているということではない。
Unicode の仕様として、テキストの分割方法として書記素に対するアルゴリズムが定義されている。
Unicode® Standard Annex #29 UNICODE TEXT SEGMENTATION
Unicode 書記素クラスタにはレガシーと拡張とがある。
参考
Unicodeのgrapheme cluster (書記素クラスタ)