mt2503 泰语音标字符发生偏移
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
手机上界面显示如下,一些小字符显示位置不正确
[SOLUTION]
修改:
一、
1 、 BOOL RequireToMoveCursor(U16 preCh, U16 curCh)
{
if (curCh >= 0x0E01 && curCh <= 0x0E7F)
{
#if 1 //add begin
if (curCh == 0x0E33 &IsThaiConsonant(preCh) )
{
return FALSE;
}
else
#endif //add end
if (IsThaiBaseLineChar(curCh) || IsThaiDigitChar(curCh) ||
IsThaiBaseSignChar(curCh))
{ /* For base level character */
return TRUE;
}
2 、 MMI_fe_show_thai_char_internal 函数中
if (CharDataAttr==0 && curCh >= 0x0E01 && curCh <= 0x0E7F)
{
if (IsThaiBaseLineChar(curCh))
{
if (IsThaiLongTailChar(preCh))
{
iX += 1;
advance_x += 1;
}
//if the current character is 0x0E33 and previous or previous 2 character
is base line character, 0x0E33 shall be
//moved ahead to let the circyle sign on the top of previous or previous2
character
if (curCh == 0x0E33 && (IsThaiBaseLineChar(preCh) ||
IsThaiBaseLineChar(pre2Ch)))
{
iX -= 3; // 初始值 1
advance_x -= 1;
}
}
二、
mmi_fe_show_thai_char_internal 函数中
S32 PY = 0;// 增加一个变量
else if (IsThaiToneMark(curCh))
{
/* Tone marks */
iY -= 1;
if (IsThaiBaseLineChar(preCh))
{
iX -= ((S32) nWidth);
if (preCh == 0x0E33)
{
iY -= 3 ; /* tone mark higher */
if (IsThaiBaseLineChar(pre2Ch))
{
//iX -= 7; // 去掉 /* Move tone mark ahead across the width of */
PY -=3;// 增加
}
}
iY = CurrentY + (param->BaseLineHeight - ascent)+PY;
三、修改 case3 mmi_fe_show_thai_char_internal 函数中
else if (IsThaiToneMark(curCh))
{
......
else if (IsThaiLongTailChar(preCh))
{
iX -= 5 ;// 3/* move tone mark ahead for 3 pixel */
}
手机上界面显示如下,一些小字符显示位置不正确
[SOLUTION]
修改:
一、
1 、 BOOL RequireToMoveCursor(U16 preCh, U16 curCh)
{
if (curCh >= 0x0E01 && curCh <= 0x0E7F)
{
#if 1 //add begin
if (curCh == 0x0E33 &IsThaiConsonant(preCh) )
{
return FALSE;
}
else
#endif //add end
if (IsThaiBaseLineChar(curCh) || IsThaiDigitChar(curCh) ||
IsThaiBaseSignChar(curCh))
{ /* For base level character */
return TRUE;
}
2 、 MMI_fe_show_thai_char_internal 函数中
if (CharDataAttr==0 && curCh >= 0x0E01 && curCh <= 0x0E7F)
{
if (IsThaiBaseLineChar(curCh))
{
if (IsThaiLongTailChar(preCh))
{
iX += 1;
advance_x += 1;
}
//if the current character is 0x0E33 and previous or previous 2 character
is base line character, 0x0E33 shall be
//moved ahead to let the circyle sign on the top of previous or previous2
character
if (curCh == 0x0E33 && (IsThaiBaseLineChar(preCh) ||
IsThaiBaseLineChar(pre2Ch)))
{
iX -= 3; // 初始值 1
advance_x -= 1;
}
}
二、
mmi_fe_show_thai_char_internal 函数中
S32 PY = 0;// 增加一个变量
else if (IsThaiToneMark(curCh))
{
/* Tone marks */
iY -= 1;
if (IsThaiBaseLineChar(preCh))
{
iX -= ((S32) nWidth);
if (preCh == 0x0E33)
{
iY -= 3 ; /* tone mark higher */
if (IsThaiBaseLineChar(pre2Ch))
{
//iX -= 7; // 去掉 /* Move tone mark ahead across the width of */
PY -=3;// 增加
}
}
iY = CurrentY + (param->BaseLineHeight - ascent)+PY;
三、修改 case3 mmi_fe_show_thai_char_internal 函数中
else if (IsThaiToneMark(curCh))
{
......
else if (IsThaiLongTailChar(preCh))
{
iX -= 5 ;// 3/* move tone mark ahead for 3 pixel */
}
顶一顶