问题描述
我正在使用 icu lib unicord-org 来处理键盘输入。
如果我加载泰语键盘布局并按下键 fe
(ดำ) 然后 e
(ำ) 与前一个字符 f
(ด) 结合
u_charType
为 e
返回的 unicode 字符类型为 UCHAR_DEFAULT_IGnorABLE_CODE_POINT
如何确定 e
是否与后续字符 f
是有效组合?
这是我目前想到的...
UChar32 newChar;
UChar32 prevIoUsChar;
int32_t gcb = u_getIntPropertyValue(newChar,UCHAR_GRAPHEME_CLUSTER_BREAK);
if (gcb != U_GCB_OTHER)
{
int32_t insc = u_getIntPropertyValue(newChar,UCHAR_INDIC_SYLLABIC_CATEGORY);
if (insc == U_INSC_VOWEL_DEPENDENT || insc == U_INSC_TONE_MARK)
{
if (u_getIntPropertyValue(prevChar,UCHAR_INDIC_SYLLABIC_CATEGORY) != U_INSC_CONSONANT)
{
// invalid combination,ignore
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)