replaceCodeUnits function

List<int> replaceCodeUnits(
  1. List<int> codeUnits
)

Implementation

List<int> replaceCodeUnits(List<int> codeUnits) {
  _initCodeUnits();
  final List<int> finalString = [];
  for (int original in codeUnits) {
    // Combining Diacritical Marks in Unicode
    if (original >= 0x0300 && original <= 0x036F) {
      continue;
    }

    // single unit replacements
    final int? singleUnit = _singleUnit[original];
    if (singleUnit != null) {
      finalString.add(singleUnit);
      continue;
    }

    // multi unit replacements
    final List<int>? multipleUnit = _multipleUnit[original];
    if (multipleUnit != null) {
      finalString.addAll(multipleUnit);
      continue;
    }

    // no replacement
    finalString.add(original);
  }
  return finalString;
}