微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503 输入0x0985后,VK上0x09cd仍然是灰色,不可输入

mt2503 输入0x0985后,VK上0x09cd仍然是灰色,不可输入

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
输入0x0985

之后,vk上0x09cd

仍然是灰色,不可输入。两者应该可以组合。
[SOLUTION]
此现象是由于IRE判断有效输入的代码没有配合BTRC修改0x0985所引起的问题。
可按照如下方式修改代码来解决:
1、修改IndicRuleEngine.c文件中ire_IsValidInput_int函数的相关代码:
(1)增加定义:
U32mCharStatusFlag=0;
U32mCharStatusFlagPrev=0;
U16previous_char=previous_string[0];
U16previous_char2=previous_string[1];
#ifdefined(__MMI_MULTITAP_BANGLA_SPEC__)
U16previous_char3=previous_string[2];
#endif
U16startRange=0;
U8current_char_type=0;
U8previous_char_type=0;
U8previous_char2_type=0;
#ifdefined(__MMI_MULTITAP_BANGLA_SPEC__)
U8previous_char3_type=0;
#endif

(2)caseIRE_CHAR_TYPE_CON增加代码
caseIRE_CHAR_TYPE_CON:
#ifdefined(__MMI_MULTITAP_BANGLA_SPEC__)
if(previous_char==0x09af&¤t_char_type==IRE_CHAR_TYPE_HALant)
{
previous_char3_type=ire_identify_character_type(previous_char3);
if(previous_char2_type==IRE_CHAR_TYPE_HALANT&&previous_char3_type==IRE_CHAR_TYPE_INDEPVOWEL)
{
returnMMI_FALSE;
}
}
#endif
returnMMI_TRUE;
(3)第一个switch(previous_char_type)中增加一个case:
#ifdefined(__MMI_MULTITAP_BANGLA_SPEC__)
caseIRE_CHAR_TYPE_INDEPVOWEL:
if(IS_BENGALI_CHARACTER(candidate[0])&&IRE_CHAR_TYPE_HALANT==current_char_type)
{
returnMMI_TRUE;
}
returnMMI_FALSE;
#endif
default:
returnMMI_FALSE;

2、在文件mcu\plutommi\php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework\IndicLanguages\IndicLanguagesInc\Bengali.h中bengali_characters_enum的定义后面加入如下代码:
#defineIS_BENGALI_CHARACTER(x)(((x)>=BENGALI_DEVANAGARI_S_DANDA&&(x)<=BENGALI_OS_ISSHAR)?MMI_TRUE:MMI_FALSE)

谢谢分享!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top