MTK环境中如何新增语言

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] 中添加   #if defined(__MMI_LANG_SM_CHINESE__)

   {

   {(char)0x80,(char)0x7B,(char)0x53,(char)0x4F,(char)0x2D,(char)0x4E,(char)0x87,(char)0x65,(char)0x00,(char)0x00},// 本语言名称

   "*#0086#", // 用来切换语言的方法

    0,

   { &pluto_ch_standardFamily },// 本语言所有字体信息

   "zh-CN"

   },

   #endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值