MTK金拇指矢量文字字库配置方法.docVIP

  • 2
  • 0
  • 约7.67千字
  • 约 10页
  • 2018-03-16 发布于江苏
  • 举报
MTK金拇指矢量文字字库配置方法

金拇指矢量文字字库配置方法 一、单语言单字库 配置需求: 1. 只配置一种语言 2. 针对该语言,只配置一种字库。 配置方法: 假定该语言为 LANG1, 对应的金拇指字库文件: kmx_LANG1_ttf.h 1. 如果该语言不是 english, 则还需要选择一款支持english 的字库,因为在所有语 言环境下都需要能显示english. 假定选择的是 kmx_latin1_ttf.h 2. 将font字库(.h)文件拷贝到vendor\vectorfont\scripteasy\font目录下 3. 修改vendor\vectorfont\scripteasy\font\font_table.c文件 a) 在开始部分添加/修改 #include, 将需要用的字库.h文件include进来 #include kmx_latin1_ttf.h #include kmx_LANG1_ttf.h b) 配置物理字库(静态字库) 修改void* font_table[] 数组定义, font_table结构里每行2个字段, 第一个是字库名,第二个必须为0. 字库名:打开字库头文件,里面会有一个 const unsigned int 数组,数组名就是 font_table中要记录的字库名。 font_table最后一行是0, 表示font_table结束。下面是一个范例: void* font_table[] = { (void*)kmx_latin1_ttf, 0, //英文字库 (void*)kmx_LANG1_ttf, 0, //该语种字库 0, 0 }; c) 配置逻辑字库 font_table中定义的是物理字库,scripteasy支持逻辑字库,1个逻辑字库可以是1 个或多个物理字库组成。 修改static unsigned char logical_font_table_config 每个逻辑字库占一行, 用花括号括起来,如 {2, 0, 1}, 花括号内第一个数字表示该逻辑字库包好几个物理字库(示例为2),后面是对应的物 理字库编号表(示例中为 0, 1),物理字库从0开始编号。 建议:每个逻辑字库都至少包含一个英文字库,如上面范例的物理字库,则可以考 虑下面方式配置逻辑字库 static unsigned char logical_font_table_config[][MAX_LOGICAL_FONT_SIZE] = { {2, 0, 1}, //逻辑字库0, 包含latin1 和 kmx_LANG1 }; d) 配置动态字库 font_name_config用于动态加载字库(大多数情形下不需要), 一般情况下按下面规 则配置即可: 每行固定写入 {0, 0}, 有多少个物理字库,就写多少行。 如针对上面示例的font_table, 则应该这样配置: font_name_config[] = { {0, 0}, {0, 0}, }; 4. 系统菜单增加 【字号设置】 选项 打开option.mak文件, 找到下面一行,如果前面有 注释号#, 去掉 COM_DEFS += __MMI_SCRIPT_EASY_FONT_SIZE_OPTION__ __MMI_SCRIPT_EASY_FONT_SIZE_OPTION__ 选项会在系统主菜单\设置\手机设置 下 增加 【字号设置】 一项,用户可以调整mtk screen的标题,列表和左右软键的字号。 二、单语言多字库 配置需求: 1. 只配置一种语言 2. 针对该语言,只配置2个以上字库。 常见于中文手机,需要配置多种字体。下面给出示例,英文配latin1, 中文配 兰亭黑 ,魏碑,卡通。 相关细节请参考 (一、单语言单字库)部分。 1. include 部分 #include kmx_latin1_ttf.h //latin1字库 #include fzlth_gb18030_ttf.h //兰亭黑字库 #include fzbwksk_gbk_ttf.h //北魏楷字库 #include fzkatong_gb2312_ttf.h //方正卡通字库 2. 物理字库 void* font_table[] = { (void*)kmx_latin1_ttf, 0, //英文字库 (v

文档评论(0)

1亿VIP精品文档

相关文档