- 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)