AGS Grapheme Splitter (or Autohotkey Grapheme Splitter)
It split text strings by Unicode® Standard Annex (UAX) #29 and collect them into an array of strings
#Include "ags.ahk"
text := "Hello! 👨👩👧👦 café 🎉 தமிழ் 你好,𰻝𰻝面!"
graphemes := AGS.Split(text)
msg := Format("Total {} graphemes`r`n`r`n", graphemes.Length)
for grapheme in graphemes
msg .= Format(" Grapheme {:02}:`t`"{}`"`r`n", A_Index, grapheme)
MsgBox(RTrim(msg))- STGraphemeSplitter
- Unicode Standard Annex #29
- Unicode Character Database GraphemeBreakProperty.txt
- Unicode Character Database emoji-data.txt