ICU, сочетающий тайские гласные и когда игнорировать

Я обрабатываю тайский ввод с клавиатуры. Некоторые из ключей являются гласными и допускаются только в сочетании с определенными предыдущими символами.

Вот 0x0E33 это гласный знак

Например 0x0E1C + 0x0E33 является действительным
но 0x0E44 + 0x0E33 не является действительным и 0x0E33 следует игнорировать.

Я ищу способ узнать, когда мне следует игнорировать гласный знак или когда он не сочетается с предыдущим символом.

Есть идеи, пожалуйста?

0

Решение

Многие тайские гласные (и, кстати, Tone Marks) принадлежат Объединяющие знаки без интервалов категория. Ваша цель — использовать какую-нибудь библиотеку, которая бы указала, к какой категории относится каждый персонаж. Затем вы можете решить, следует ли «игнорировать» его, что бы это ни значило в контексте вашего приложения.

Проверьте Значения общей категории Unicode

Ваши две достопримечательности:

  • Ло | Other_Letter для нормального персонажа;
  • Mn | Nonspacing_Mark для непропускных меток нулевой ширины;

Дальнейшее чтение:

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]