文字列を書記素クラスタに分割する
Scrapboxでこの辺りの問題を解決するために必要
国旗の絵文字の構成文字がそのまま表示される例 ( JP
に分かれて表示される)
書記言語において意味上の区別を可能にする最小の図形単位
> 書記素クラスタ とは、 Unicodeにおいて自然な“1文字”を表す単位です。 Unicode による文字の一部は複数のコードポイントから構成 (例: U+0061 U+0301 á) されますが、書記素クラスタを用いると、これを1文字ごとに分割することができます。
書記素クラスタに分解するnpmを探そう
分解さえできれば文字列長=分割後の要素数といえる
書記素クラスタ (grapheme cluster) 関連のnpmこれしか見つからなかった
使ってみる
日本の国旗の例
jsconst gs = new GraphemeSplitter()
for (const c of gs.splitGraphemes('🇯🇵のbest🍣')) {
console.log(c)
}
いけた
クメール語の例
微妙に失敗している
所々/forumでの塩澤先生のキャプチャと違う
♀のような形状の文字は表示されないはず
気になる
