vendor\font\MTK\official\project\plutommi\content\src\MainLcd240X320\FontRes.c //以lcd为 240X320 为例.
plutommi\Customer\CustResource\PLUTO_MMI\MMI_features_switchPLUTO.h
plutommi\mmi\Inc\MMI_features.h
以下以简体中文为例
1. 编译开关 :
__MMI_LANG_SM_CHINESE__ 在 plutommi\mmi\Inc\MMI_features.h 中定义.(07A以前的版本plutommi\mmi\Inc\MMI_features_switch.h中自己定义,)
CFG_MMI_LANG_SM_CHINESE 在 plutommi\Customer\CustResource\PLUTO_MMI\MMI_features_switchPLUTO.h 中定义.(07A以前的版本没有该文件)
#define CFG_MMI_LANG_SM_CHINESE (__ON__) //有简体中文
#define CFG_MMI_LANG_SM_CHINESE (__OFF__) //没有简体中文
注:
有些语言不带有zi输入法,在将其编译开关改成 (__ON__) 时, 要将相应的zi输入法关掉
简体中文zi输入法为 #define CFG_MMI_ZI_SM_CHINESE (__AUTO__) //开 (__ON__), 关(__OFF__), 自动(__AUTO__)
2. 添加字库文件包含
#if defined(__MMI_LANG_SM_CHINESE__) //要将系统本身 __MMI_LANG_SM_CHINESE__ 的使用处删掉.
#include "L_Chinese_Font_16.h"
#include "L_Chinese_Font_20.h"
#include "L_Chinese_Font_24.h"
#endif
注:要将字模文件放在 plutommi\Customer\CustResource 下.
3. 系统语言总数的增加
const U16 mtk_gMaxDeployedLangs //是当前系统的语言总数
如果添加系统本身支持的语言,mtk_gMaxDeployedLangs 本身不需要任何改动,
如果增加新的语言,需要将该值 + 1 .
4. 定义每种字体信息
#if defined(__MMI_LANG_SM_CHINESE__)
const RangeData GBK_CH_RangeData[3641]={ // 编码段信息数组
{63,63}, // 第一个编码段
{164,164}, // 第二个编码段
.
.
.
{65507,65507},
{65509,65509},
};
const RangeDetails GBK_CH_RangeInfo={ // 总体编码段信息
3641, // 编码段个数
GBK_CH_RangeData // 编码段信息数组地址
};
sCustFontData Chinese_Font_Small = { // 某种字体信息
16, 16, 14,2,1, 32, 500, // 字体高、字体宽、不明,不明,是否等宽、每个字模字节数、最大字符数
(U8*)NULL,
(U32*)NULL, (U8*)GBK_16_Data,
(U32*)GBK_16_RangeOffset, // 每个字符宽度表、数据地址、字模数据、每个字模在数据中的偏移(本行内容通常在字模数据.h
即L_Chinese_Font_16.h中定义)
{
{FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH,FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH},
{0, 0},
{0, 0},
{FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH,FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH},
{0, 0},
{0, 0}
}, // 当被设置成某个字体时,支持艺术字的类型
&GBK_CH_RangeInfo}; // 总体编码段信息
注: (1) sCustFontData 在07以前,以后和6235的版本中都有所改变,具体内容根据自己环境设定.
(2) Chinese_Font_Small.pFontType 所支持的字体类型数与 pluto_ch_standardFamily.nTotalFonts 相等.
#endif
5. 定义所有字体信息
#if defined(__MMI_LANG_SM_CHINESE__)
sFontFamily
pluto_ch_standardFamily =
{6,{&Chinese_Font_Small,&Chinese_Font_Medium,&Chinese_Font_Medium,
&Chinese_Font_Small,&Chinese_Font_Medium,&Chinese_Font_Medium}};
//字体个数、每种字体信息地址
#endif
6. 添加语言信息
在 const sLanguageDetails mtk_gLanguageArray[MAX_LANGUAGES] 中添加
文章评论(0条评论)
登录后参与讨论