textSanitizeRunes function
Implementation
List<int> textSanitizeRunes(List<int> runes, {required bool multiline}) {
final tabRunes = multiline
? const <int>[0x20, 0x20, 0x20, 0x20]
: const <int>[0x20];
final newlineRunes = multiline ? const <int>[0x0A] : const <int>[0x20];
final result = <int>[];
for (final rune in runes) {
if (rune == 0xFFFD) {
continue;
} else if (rune == 0x0D || rune == 0x0A) {
result.addAll(newlineRunes);
} else if (rune == 0x09) {
result.addAll(tabRunes);
} else if (_isControlRune(rune)) {
continue;
} else {
result.add(rune);
}
}
return result;
}