Я обрабатываю тайский ввод с клавиатуры. Некоторые из ключей являются гласными и допускаются только в сочетании с определенными предыдущими символами.
Вот 0x0E33
это гласный знак
Например 0x0E1C + 0x0E33
является действительным
но 0x0E44 + 0x0E33
не является действительным и 0x0E33
следует игнорировать.
Я ищу способ узнать, когда мне следует игнорировать гласный знак или когда он не сочетается с предыдущим символом.
Есть идеи, пожалуйста?
Многие тайские гласные (и, кстати, Tone Marks) принадлежат Объединяющие знаки без интервалов категория. Ваша цель — использовать какую-нибудь библиотеку, которая бы указала, к какой категории относится каждый персонаж. Затем вы можете решить, следует ли «игнорировать» его, что бы это ни значило в контексте вашего приложения.
Проверьте Значения общей категории Unicode
Ваши две достопримечательности:
Дальнейшее чтение:
Других решений пока нет …