按字符(Unicode 码点)截断。
String truncateChars(String text, int max) { final runes = text.runes.toList(); return runes.length <= max ? text : String.fromCharCodes(runes.take(max)); }