我做了下面的函数来把字符串分解成印地语字符。但它的表现与android API 29和API 30不同。在Android29中,印地语单词चक्की被分解为चक्की,但在Android30中,它被正确地分解为चक्की。
public List<String> breakIntoHindiChar(String textAnswer) {
List<String> ansCharList = new ArrayList<String>();
Locale hindi = new Locale("hi", "IN");
BreakIterator breaker = BreakIterator.getCharacterInstance(hindi);
breaker.setText(textAnswer);
int start = breaker.first();
for (int end = breaker.next();
end != BreakIterator.DONE;
start = end, end = breaker.next()) {
ansCharList.add(textAnswer.substring(start, end));
}
return ansCharList;
}我该如何解决这个问题?
发布于 2021-08-01 22:41:40
BreakIterator的Android实现不能准确地解释印度文字(abiguda类型)。查看此错误- https://code.google.com/p/android/issues/detail?id=230832
看起来它已经在API 30中修复了,并且在以前的版本中没有被向后移植。
https://stackoverflow.com/questions/66429398
复制相似问题