回答編集履歴
1
誤りの訂正
answer
CHANGED
@@ -9,10 +9,15 @@
|
|
9
9
|
更に言えばMicrosoftが自社のフォントでだけ1文字に見える職業猫絵文字を定義していたりします。
|
10
10
|
つまり見た目の文字数は環境依存です。
|
11
11
|
|
12
|
-
このGraphem Clusterを求めるアルゴリズムは「[書記素分割/Unicode カテゴリー判定 | ++C++; // 未確認飛行 C ブログ](https://ufcpp.net/blog/2018/12/unicodecategory/)」によれば
|
12
|
+
~~このGraphem Clusterを求めるアルゴリズムは「[書記素分割/Unicode カテゴリー判定 | ++C++; // 未確認飛行 C ブログ](https://ufcpp.net/blog/2018/12/unicodecategory/)」によれば~~
|
13
|
-
> Unicode 標準としては、「あくまで参考。もっといいアルゴリズムにしてもらってもいいけど」という但し書き付きですが
|
13
|
+
> ~~Unicode 標準としては、「あくまで参考。もっといいアルゴリズムにしてもらってもいいけど」という但し書き付きですが~~
|
14
14
|
|
15
|
-
というレベルのもので、これで完璧というようなものではありません。
|
15
|
+
~~というレベルのもので、これで完璧というようなものではありません。~~
|
16
|
+
(追記)
|
17
|
+
↑この部分、どの実装にも共通するGrapheme Clusterを求めるアルゴリズム自体(=Grapheme Clusterの定義)についてのものだと読んでいましたが、そうではなくUnicodeのドキュメントに書かれたある1つの実装のアルゴリズムに対してのものであり、私の主張とは無関係なものでした。取り消します。(コメント参照)
|
18
|
+
根拠がやや弱くなりますが、以下の主張に変更はありません。
|
19
|
+
(追記終)
|
20
|
+
|
16
21
|
そもそも世界の様々な文字を考えれば、「文字数」などまともに定義できるものではありません。
|
17
22
|
その一方でGraphem Clusterを求めるためにはUnicodeの全ての文字に対する巨大なテーブルを引いて文字ごとの属性を得る面倒な処理が必要です。Unicodeのバージョンが上がればテーブルは更新しなければなりません。
|
18
23
|
|