mt2503 Neptune中越南语带音标字符显示分割(比如 '' 被分开显示为...
时间:10-02
整理:3721RD
点击:
[ShapeEngine]Neptune 中越南语带音标字符显示分割(比如 '' 被分开显示为 'e' +'~')
[DESCRIPTION]
Neptune工程中一些带音标字符被分开显示成两个字符 ( 比如''被分开显示为'e'+'~' )
[SOLUTION]
修改函数MMI_fe_prepare_string_to_render()
1、添加定义:
#ifdefined(__MMI_LANG_VIETNAMESE__)
UI_character_typedummy_c;
viet_tone_marktone_mark=VIET_TONE_NONE;
viet_vowel_letterviet_vowel=VIET_VOWEL_NONE;
U16i=0;
#endif/*defined(__MMI_LANG_VIETNAMESE__)*/
2、增加变型规则,参考 //add_start //add_end之间代码:
CurrentX=0;
#ifdef __MMI_INDIC_ALG__
CurrentY=0;
#endif
//add_start
#ifdefined(__MMI_LANG_VIETNAMESE__)
for(idx=0;idx<len;idx++)
{
if((disp_buff[idx]>0x0040)&&(disp_buff[idx]<0x01B1))
{
unicode=disp_buff[idx];
dummy_c=disp_buff[idx+1];
tone_mark=mmi_viet_tone_mark(dummy_c);
viet_vowel=mmi_viet_vowel_letter(unicode);
if((VIET_TONE_NONE!=tone_mark)&&
(VIET_VOWEL_NONE!=viet_vowel))
{
viet_vowel=mmi_viet_vowel_letter(disp_buff[idx]);
disp_buff=mmi_viet_combine_vowel_tone(viet_vowel,tone_mark);
idx++;
}
else
{
disp_buff=disp_buff[idx];
}
}
else
{
disp_buff=disp_buff[idx];
}
i++;
if((idx+1)>=len)
{
disp_buff=0;
break;
}
}
String=(U8*)disp_buff;
len=UCS2Strlen((constchar*)String);
*p_disp_len=len;
#endif/*defined(__MMI_LANG_VIETNAMESE__)*/
//add_end
/*Extractdatafor1stcharacter*/
Counter=0;
unicode=mmi_fe_process_next_char(String,&font_data_param);
[DESCRIPTION]
Neptune工程中一些带音标字符被分开显示成两个字符 ( 比如''被分开显示为'e'+'~' )
[SOLUTION]
修改函数MMI_fe_prepare_string_to_render()
1、添加定义:
#ifdefined(__MMI_LANG_VIETNAMESE__)
UI_character_typedummy_c;
viet_tone_marktone_mark=VIET_TONE_NONE;
viet_vowel_letterviet_vowel=VIET_VOWEL_NONE;
U16i=0;
#endif/*defined(__MMI_LANG_VIETNAMESE__)*/
2、增加变型规则,参考 //add_start //add_end之间代码:
CurrentX=0;
#ifdef __MMI_INDIC_ALG__
CurrentY=0;
#endif
//add_start
#ifdefined(__MMI_LANG_VIETNAMESE__)
for(idx=0;idx<len;idx++)
{
if((disp_buff[idx]>0x0040)&&(disp_buff[idx]<0x01B1))
{
unicode=disp_buff[idx];
dummy_c=disp_buff[idx+1];
tone_mark=mmi_viet_tone_mark(dummy_c);
viet_vowel=mmi_viet_vowel_letter(unicode);
if((VIET_TONE_NONE!=tone_mark)&&
(VIET_VOWEL_NONE!=viet_vowel))
{
viet_vowel=mmi_viet_vowel_letter(disp_buff[idx]);
disp_buff=mmi_viet_combine_vowel_tone(viet_vowel,tone_mark);
idx++;
}
else
{
disp_buff=disp_buff[idx];
}
}
else
{
disp_buff=disp_buff[idx];
}
i++;
if((idx+1)>=len)
{
disp_buff=0;
break;
}
}
String=(U8*)disp_buff;
len=UCS2Strlen((constchar*)String);
*p_disp_len=len;
#endif/*defined(__MMI_LANG_VIETNAMESE__)*/
//add_end
/*Extractdatafor1stcharacter*/
Counter=0;
unicode=mmi_fe_process_next_char(String,&font_data_param);
路过!
努力学习
为啥世界上有辣么多种语言文字啊。