textCapitalizeWords function
Implementation
String textCapitalizeWords(String text) {
final graphemes = text.characters.toList(growable: false);
final buffer = StringBuffer();
var capitalizeNext = true;
for (final grapheme in graphemes) {
if (_isWordGrapheme(grapheme)) {
buffer.write(
capitalizeNext ? grapheme.toUpperCase() : grapheme.toLowerCase(),
);
capitalizeNext = false;
} else {
buffer.write(grapheme);
capitalizeNext = true;
}
}
return buffer.toString();
}