微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503 在使用etrump引擎的情况下,某些语言的字符显示上下不对齐

mt2503 在使用etrump引擎的情况下,某些语言的字符显示上下不对齐

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
在使用etrump引擎的情况下,某些语言的字符显示的时候会出现上下不对齐的现象。
例如:
(1) 土耳其语下,某些字符显示有问题如下:


最后一个字符 显示偏下
(2) 越南语下,某些字符显示有问题如下:


带圈字符显示偏下

[SOLUTION]
这是由于这些字符不是从同一个字库中取出来导致的,可以按照如下方法做调整,以保证所有字符都从同一个字库中获取出来。
修改方法:
在Res_Font.c中,把
ADD_FONT_RESOURCE(
i++,
CUST_IMG_PATH_root"\\\\..\\\\..\\\\Fonts\\\\Etrump\\\\mtkSansSerifLatinBasicF.ttf",0,MMI_RES_FLAG_FONT_IS_ENFB);
放到
#ifdefined(__MMI_LANG_AFRIKAANS__)||defined(__MMI_LANG_INDONESIAN__)||defined(__MMI_LANG_PORTUGUESE__)||defined(__MMI_LANG_BULGARI
AN__)||\
defined(__MMI_LANG_CATALAN__)||defined(__MMI_LANG_CROATIAN__)||defined(__MMI_LANG_CZECH__)||defined(__MMI_LANG_DANISH__)||defined(
__MMI_LANG_DUTCH__)||\
defined(__MMI_LANG_ESTONIAN__)||defined(__MMI_LANG_FINNISH__)||defined(__MMI_LANG_FRENCH__)||defined(__MMI_LANG_GERMAN__)||defined
(__MMI_LANG_GREEK__)||defined(__MMI_LANG_HAUSA__)||\
defined(__MMI_LANG_HUNGARIAN__)||defined(__MMI_LANG_ZULU__)||defined(__MMI_LANG_ITALIAN__)||defined(__MMI_LANG_KAZAKH__)||defined(
__MMI_LANG_SWAHILI__)||\
defined(__MMI_LANG_LATVIAN__)||defined(__MMI_LANG_LITHUANIAN__)||defined(__MMI_LANG_MALAY__)||defined(__MMI_LANG_SPANISH__)||defin
ed(__MMI_LANG_MOLDOVAN__)||defined(__MMI_LANG_NORWEGIAN__)||\
defined(__MMI_LANG_POLISH__)||defined(__MMI_LANG_ROMANIAN__)||defined(__MMI_LANG_RUSSIAN__)||defined(__MMI_LANG_SERBIAN__)||\
defined(__MMI_LANG_SLOVAK__)||defined(__MMI_LANG_SLOVENIAN__)||defined(__MMI_LANG_SWEDISH__)||defined(__MMI_LANG_TAGALOG__)||defin
ed(__MMI_LANG_TURKISH__)||\
defined(__MMI_LANG_UKRAINIAN__)||defined(__MMI_LANG_VIETNAMESE__)||defined(__MMI_LANG_XHOSA__)||defined(__MMI_LANG_SA_PORTUGUESE__
)||defined(__MMI_LANG_SA_SPANISH__)||\
defined(__MMI_LANG_BASQUE__)||defined(__MMI_LANG_GEORGIAN__)||defined(__MMI_LANG_ICELANDIC__)||defined(__MMI_LANG_IRISH__)||define
d(__MMI_LANG_MACEDONIAN__)||defined(__MMI_LANG_YORUBA__)
ADD_FONT_RESOURCE(
i++,
CUST_IMG_PATH_ROOT"\\\\..\\\\..\\\\Fonts\\\\Etrump\\\\MTKSansSerifLatinFullSetF_OTTB_SE.ttf",0,MMI_RES_FLAG_FONT_IS_ENFB);
#endif
后面
以保证MTKSansSerifLatinFullSetF_OTTB_SE.ttf在MTKSansSerifLatinBasicF.ttf之前被加载到,如上出问题的语言都是由于该语言的某些字符在
MTKSansSerifLatinBasicF.ttf就可以得到,而有些字符需要在MTKSansSerifLatinFullSetF_OTTB_SE.ttf得到
,MTKSansSerifLatinFullSetF_OTTB_SE.ttf字库由于集合了多种语言的字符(MTKSansSerifLatinBasicF.ttf是
MTKSansSerifLatinFullSetF_OTTB_SE.ttf的子集),设计上与MTKSansSerifLatinBasicF.ttf有所不同,所以不同字库取出来的字符在显示上会有差
异。只要保证开启的语言的字符从同一字库中取出来,就可以解决此问题。
另外,系统中所加载的矢量字库及加载顺序,可以在CustFontDataHW.h中查询到。

路过!

路過..  推

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

网站地图

Top