comparator function
Implementation
int comparator(String first, String second) {
if (first.length > 0 && second.length > 0) {
if (!isThaiCharacter(first) || !isThaiCharacter(second)) {
return first.compareTo(second);
}
var rmFirstToneMark = removeToneMarks(first);
var rmSecondToneMark = removeToneMarks(second);
var firstTHChar = getFirstThaiAlphabet(rmFirstToneMark);
var secondTHChar = getFirstThaiAlphabet(rmSecondToneMark);
if (firstTHChar == null || secondTHChar == null) {
return first.compareTo(second);
}
if (firstTHChar != secondTHChar) {
return firstTHChar.compareTo(secondTHChar);
}
if (rmFirstToneMark != rmSecondToneMark) {
return rmFirstToneMark.compareTo(rmSecondToneMark);
}
}
return first.compareTo(second);
}