Visible characters, not UTF-16 length
é 👨👩👧👦 🇱🇹 你好 world
Counts grapheme clusters so a base letter plus accent, a joined family emoji, and a flag are not inflated by their underlying UTF-16 representation; words still use the browser’s word-boundary data.