MTK平台上做自己的字库.doc

上传人:hw****26 文档编号:3552199 上传时间:2019-06-04 格式:DOC 页数:7 大小:543KB
下载 相关 举报
MTK平台上做自己的字库.doc_第1页
第1页 / 共7页
MTK平台上做自己的字库.doc_第2页
第2页 / 共7页
MTK平台上做自己的字库.doc_第3页
第3页 / 共7页
MTK平台上做自己的字库.doc_第4页
第4页 / 共7页
MTK平台上做自己的字库.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 MTK 平台上根据 BMP 格式图片来做自己喜欢的字体本人在做 ADAM 项目上的诺基亚风格过程中,在桌面上显示诺基亚风格的时间而自定义了自己的一套字库,因发现在制作的过程中还是有很多的细节问题需要注意,特将整个过程记录下来,既可以加深本人的印象,又可帮助大家在后续的开发过程中节省制作和开发时间。本文仅是记录本人的制作和开发过程,有错误地方还望大家多多指教。一、美工提供一位的 bmp 格式的图片:该图片要特别注意的一个地方,就是是一位的,为白色底黑色的字,最后改为下面这个格式才保证后面在 MCT 中,导出的 buf 数据正确二、利用 MCT 工具将上面的一位的 bmp 格式图片导出生成一个

2、BDF 格式的文件在 MCT 中,将先前的美工提供的一位 bmp 图片导入进来,注意图片的命名,其中,直接以数字命名该格式图片最好,该工具有点变态,识别不出一些字母命名或一些名字不规范的图片,将导入的图片按顺序从左边导入到右边,在右边的 Unicode 栏中,将相应的图片上的字母或者数字正确的 UNICODE 编码填上,一定要填写正确,注意,UNICODE 编码为 16 进制,其实一些数字和字母的 unicode 编码可以在UItraEdit 中查到。最后,点击 create BDF 按钮,导出一个.Bdf 格式的文件。D0to9.bdf三、利用 MCT 中利用 Font Customizer

3、 工具,将上面导出的 bdf 文件导入进来,Step 1 选择自己生成工具Step 2 在编辑框中输入自己想生成字体的名字Step 3 这三项设置基本都按默认的都可以Step 4 输入字体的名字Step 5 选择字体类型,并导入 bdf 文件Step 6 按默认选项,导出两个文件 L_CustFont_Test_Big_Font_alpha_medium.h文件和 FontRes.c 文件。在*.h 文件中有两个数组:const U32 d0To9_RangeOffset8= 0,60,180,840,900,960,1020,1080,;const U8 d0To9_Data1140= /图

4、片的数据 buf0x0,0x0,0x30,0xC,0x18,0x6,0x4,0x3,0x82,0x1,0x41,0x80,0x30,0x60,0x18,0x30,0xC,0xFF,0xBF,0xFF,0x1F,0x86,0x1,0xC3,0x80,0x61,0xC0,0x18,0x60,0xC,0x30,0x6,0xFF,0x9F,0xFF,0xF,0xC6,0x0,0x63,0x80,0x31,0x40,0x8,0x30,0x6,0x18,0x3,0x8C,0x1,0xC6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0

5、,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x3,0x80,0x1,0xC0,0x0,0x60,0xC0,0x30,0xEC,0x9B,0xF7,0xFF,0xC3,0x3F,0x80,0x7,0xC0,0x7,0x30,0x3,0x9C,0x3,0x87,0x83。 。 。 。 。 。 。;在 FontRes.c 文件中#include “FontRes.h“#include “MMI_features.h“#ifndef NULL#define NULL (void *)0 /* NULL : Null pointer */#endif#define MAX_LANGUAG

6、ES 30#include “L_CustFont_Test_Big_Font_alpha_medium.h“#if !defined (MMI_ON_HARDWARE_P)_declspec(dllexport)#endifconst U16 mtk_gMaxDeployedLangs = 1 ;const RangeData d0To9_RangeData8=35,35,42,43,48,58,80,80,87,87,97,97,109,109,112,112,;const RangeDetails d0To9_RangeInfo=8,d0To9_RangeData;sCustFontDa

7、ta alpha_medium = 32, 15, 1, 60, 500,(U8*)NULL, (U32*)NULL, (U8*)d0To9_Data, (U32*)d0To9_RangeOffset, 0, 0,FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH,FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTA

8、TTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH,0, 0,0, 0,0, 0 ,sFontFamily CustFont_Test_Big_Font= 1, #if !defined (_CUSTOMER_LEVEL_1_RELEASE_) 七、在 FontRes.h 中定义自己定义的字体在平台字库数组中的位置宏#define TIME_TO_SHOW_FONT 0x0006八、在 FontType.c 文件中将自己定义的字体相关的属性填写上自定义的字体在整个平台字库中的索引下标stFontAttribute MMI_time_show_font= 0,0,0

9、,TIME_TO_SHOW_FONT,0,1; /诺基亚桌面时间显示字体风格九、这样一个适应自己风格的字体就做好了,在项目中需要用自己定义的字体的时候,只需要调用 gui_set_font(既可以用自己定义的字体来显示相关的内容。十、自己定义的自己显示效果AdamNOKIA N73一个自己喜欢的风格的显示效果出来了,但是和传统的诺基亚风格上还是有差别的,在传统的诺基亚风格下,中间的冒号感觉占用的宽度很小,而且很细,而我们做的这个字体中,中间的冒号和其他的数字或字母占用一样的像素宽度和高度,都是 1532,请问哪位,想到解决该缺陷的办法没有?我想到是否可以由美工在做 bmp 图片的时候,就将该冒号做像素大小和别的数字或字母的像素不一样,比如占用 532 的像素,大家觉得可以解决该问题吗?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。