泰语键盘布局和 UCHAR_DEFAULT_IGNORABLE_CODE_POINT

问题描述

我正在使用 icu lib unicord-org 来处理键盘输入。

如果我加载泰语键盘布局并按下键 fe (ดำ) 然后 e (ำ) 与前一个字符 f (ด) 结合

u_charTypee 返回的 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 (将#修改为@)