MTK的语言与字库

FONTEDITOR V1.3版本出来了 字库格式转换:ttf2bdf,bdf2fnt,bdf2fnb,fnt2bdf,fnb2bdf,fnt2fnb,fnb2fnt FontEditor 为一款功能强大的字体编辑和字体格式转换工具,支持制作32*32的全字库。能将TTF,OTF矢量字库转换为BDF字库,可以很方便的将Windows 已经安装到系统的矢量字库转换为BDF字库,并能将TTF,OTF文件直接转换成BDF格式,并支持BDF,FNT,FNB文件格式的互转换,随心所欲将 windows字体应用于各种嵌入式系统中。并支持将GB2312,BIG5,GBK转换为UCS2,UTF8,以及UCS2,UTF8编码的互转换 本软件现已应用于多个嵌入式平台,如MTK,QUALCOMM,TI,展讯等。 本软件主要功能: 1.字体点阵编辑,支持制作32*32点阵的全字库 2.支持BDF,FNT,FNB格式的互转换,BDF<-->FNT, BDF<-->FNB,FNT<-->FNB 3.直接将TTF,OTF文件转换为BDF,FNT,FNB格式 4.将Windows系统安装的TTF,OTF导入为BDF,FNT,FNB格式 5.将字符点阵导出为Bitmap文件,并提供字符点阵宽度索引 6.支持将GB2312,BIG5,GBK转换为UCS2,UTF8,并支持UCS2,UTF8编码的互转换 运行环境:Win2003, WinXP, Win2000, NT, WinME 版本发布说明: V1.2 (1)BDF,FNT,FNB字体格式的互转换 (2)将Windows已经安装TTF转换为BDF格式 (3)将TTF文件导入转为BDF,FNT,FNB格式 (4)汉字查码 V1.25 (1)Windows已经安装TTF字体导入为BDF时,剔除无效字符 (2)将BDF,FNT,FNB导出为bitmap文件和字符宽度索引 (3)GB2312,BIG5,GBK转换为UCS2,UTF8,以及UCS2,UTF8互转换 V1.25.03 (1)将单个字符导出为Bitmap文件 (2)解决导出字库bitmap时,字符少于256个导出文件不正确的问题 (3)解决导出选择中字符实际上是导出所有字符的问题 V1.26 (1)增加修正字符点阵的功能,可对所有字符或者当前页字符的点阵大小和位移进行调整 (2)修正V1.25.03中导出位图文件选择取消无法退出程序的问题 V1.3 (1)增加导出全字库bitmap方式,同时支持二进制导出和ASCII码导出 (2)增强读取BDF文件的兼容性 (3)增加手动剔除无效字符功能 欢迎所需了解相关使用情况的人员与我联系,可以提供3天的体验版本。 ================================================================================== TTF转换成BDF 2008-09-12 21:47 由于TTF格式的字库可以转换成任意大小的BDF字库,而可以找到的BDF字库都是固定大小的,因此在实际制作BDF字体文件时,还是需要TTF格式的字库。把TTF转换成BDF的方法如下: ./ttf2bdf source.ttf -p yourSize -o destination.bdf 即利用软件ttf2bdf可以把源文件source.ttf转换成大小为yourSize的BDF格式的文件destination.bdf。那在程序内部是如何实现将TTF转成BDF的呢?由2.2.1和2.2.2的介绍,并且查阅参考文献[3],可以知道TTF的内部存储结构。其中最核心的部分是 TTF文件格式中的12个字节的文件表:表目录按tag以升序排列。 Type Name Description ULONG tag 4字节的标识 ULONG checkSum 表中的CheckSum ULONG offset TrueType font文件的起始偏移量Offset ULONG length 表长 还有一个有关Offset表的信息,包括版本号,表的数量,查找范围。入口选择,转换范围。 通过操作文件表,将描述表中的数据取出来,按照BDF字体所定义的格式写入,就可以生成对应的字体。比如,可以给出一小段c语言程序,此程序用于计算当前CheckSum的位置。 ULONG CalcTableChecksum(ULONG *Table,ULONG Length) { ULONG Sum = 0L; ULONG *Endptr=Table+((Length+3)& ~3)/sizeof(ULONG); while(Table #ifdef __MMI_16X16_CHINESE_FONT__ #include "L_Pluto_16x16_ch.h" //引入字库头文件 #else <2> const RangeData XXX_RangeData[a]={。。。} <3> const U16 mtk_gMaxDeployedLangs = 1; <4> #if defined(__MMI_LANG_SM_CHINESE__) sFontFamily pluto_ch_standardFamily = {6,{&Pluto_ch, &Pluto_ch, &Pluto_ch, &Pluto_ch, &Pluto_ch,&gVirtualKeyboardFont}}; #endif <5> #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},//Language Name "*#0086#",//SSC string name 0, { &pluto_ch_standardFamily }, "zh" }, #endif 附注:<2> 中对应字体的长,宽,高,偏离值等, <3> 对应添加的语言的种类数, <4> 定义了界面中具体模块的字体,如gVirtualKeyboardFont对应与虚拟键盘中字体的显示问题 <5> (mtk_gLanguageArray)中对应要添加的语言以及其在手机语言列表中的显示顺序(注意各种语言的顺序) 我们通常遇到的问题是在真机中有些地方的字体显示有问题(如虚拟键盘,日历等,还未探索清楚),每个语言都有相对应的语系(如pluto_en_standardFamily pluto_ch_standardFamily),当(虚拟键盘)有问题时,首先定位到有问题的语言(),寻找其中利用的语系中的相应模块(virtual_keyboard_latin),对其进行修改(可参考其他显示正确的相近工程中的相应模块拷贝修改(virtual_keyboard_latin),缺少相应字库时添加字库并在fontres.c中添加) MTK多国语言相关经验总结 一、 移植多国语言 移植多国语言主要牵涉到对mmi_features.h(整个工程的宏控定义文件)、fontres.c(字体资源文件)的修改,并添加相应的字库文件。 1、 语言宏控的修改 在mmi_features.h文件中,用于控制各种语言的开关是类似于__MMI_LANG_ENGLISH__的宏,打开该宏,那么工程就支持该种语言。有时侯,需要同时打开与该语言相关的一些宏,比如阿拉伯语的编码模式、汉语的编码模式。(当然这个编码模式一般都是设置好了的,但也有些许例外,自己看着办) 2、 字库文件的添加 在mtk中,字库主要是两个文件,一个是*.h文件,还有一个是对应的fontres.c文件。 ①字库的获取 有两个方式:1)直接去网上找对应语言的字库文件。2)自己利用mtk公司所提供的MCT 6.0工具来制作字库。不过mct6.0制作字库需要.bdf的点阵字库源文件,而网上能找的基本上都是.ttf的矢量字库文件,这就存在一个需要将ttf文件转换成bdf文件的第三方软件,并且转换的好坏将直接影响到最终用mct6.0生成的字库文件(目前我们用的是otf2bdf3,免费的,因此效果不是很好)。 ②字库的使用。首先我们查看下mtk版本中自带的英文字库L_1_Pluto_Large.h是存放在什么位置的,然后将我们的*.h也放入相同的文件夹下;接下来我们需要将我们的fontres.c文件与mtk中原有的fontres.c文件合并为一个fontres.c文件:合并的方法就参考原有的fontres.c文件中英文字库的代码分布方式,将我们的fontres.c文件里面的代码利用语言宏控拷入mtk原有的fontres.c文件中。 3、修改默认显示语言 这个只需要修改C:/NEOTEL26_06B_W07.20.MP.V21_MMI/custom/app/NEOTEL26_ 06B_BB这个目录下面的nvram_cust_pack.c文件(不同的版本,该文件所处位置不一样,这里是6225的版本)。在该文件里面有如下一处: 0x00, 这个0x00值指的就是设置语言界面某种语言所处的位置。如果我们想修改默认显示语言为简体中文,而设置语言界面中文在第6的位置,那么我们将0x00这个值改为0x05即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: MTK(联发科技)烧录底层字库工具是一种用于将字库文件烧录到MTK芯片上的工具。MTK芯片是一种常用于移动通信设备的芯片,需要使用特定的工具将字库文件烧录到芯片中,以供设备在运行过程中使用。 烧录底层字库对于移动通信设备非常重要,它可以提供设备在各种语言环境下显示字符和文字的能力。使用MTK烧录底层字库工具可以将各种语言字库文件烧录到MTK芯片中,包括中文、英文、日文等各种字库。 烧录底层字库工具通常包括一个图形化用户界面和一系列命令行工具。用户可以通过图形化界面选择要烧录的字库文件,并设置一些相关的参数,然后通过命令行工具执行烧录操作。烧录过程需要连接设备到计算机上,并保证设备能够正常进入烧录模式。 烧录底层字库的过程通常包括以下几个步骤:首先,将设备连接到计算机上,并确保设备处于烧录模式。然后,打开烧录底层字库工具,选择要烧录的字库文件,并设置相应的参数。接下来,点击开始烧录按钮,工具会自动将字库文件烧录到MTK芯片中。烧录完成后,设备将可以在各种语言环境下正确显示字符和文字。 总之,MTK烧录底层字库工具是一种用于将字库文件烧录到MTK芯片上的工具,它可以提供设备在各种语言环境下正确显示字符和文字的能力。通过该工具,用户可以方便地将字库文件烧录到MTK芯片,从而满足不同语言文字显示的需求。 ### 回答2: MTK烧录底层字库工具是一种用于将字体数据写入MTK(联发科技)芯片的底层字库编程工具。这个工具主要用于将自定义的字库数据烧录到芯片中,以供设备在运行时使用。 MTK烧录底层字库工具通常由开发人员使用,用于开发智能设备和嵌入式系统中的字库功能。它提供了一种简单而有效的方式,让开发人员能够将自己设计的字体数据烧录到MTK芯片中。 使用MTK烧录底层字库工具,开发人员可以通过输入字体数据文件,指定要烧录的区域和地址等参数,然后开始烧录过程。该工具将会通过编程接口与MTK芯片进行通信,并将字库数据按指定的方式写入芯片的存储器中。 烧录底层字库数据后,设备就可以在执行程序时使用这些自定义的字库了。开发人员可以通过编程接口访问这些字库,根据需要在设备的界面上显示不同的文字和符号。这样,用户就能够在设备上看到使用自定义字体的内容。 总的来说,MTK烧录底层字库工具是一种便捷的编程工具,可以帮助开发人员将自定义的字库数据烧录到MTK芯片中,以供设备在运行时使用。它为开发智能设备和嵌入式系统的字库功能提供了可靠和高效的解决方案。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值