2021-06-03
如何生成和使用多国语言的sft字库文件

准备工作:

● 找到要生成国家语言的ttf字库文件

Makelang.exe工具( 生成unicode编码表)

ttf_to_sft_v3_0 (sft生成工具)



一、生成unicode编码表

打开Makelang.exe,选择要生成的语言,点击‘生成’。

如:越南语,生成‘越南语code.txt


1:如果工具中没有包含要生成的语言,只需要自己去网上查找对应语言的unicode来生成该文件。

2Unicode list file 里保存是的需要从字库文件里提取的内容;比如一个ttf字库文件里包含了多国语言,如果不需要转换中文,只需要把list中中文字字符的范围去掉。



二、生成sft文件

(1)ttfunicode编码表拷贝到‘eStudio\Softwares\ttf_to_sft_v3_0\tools’目录下

(2)编辑create_sft_spec_char_v3_0.bat文件,并保存。

(3)双击运行create_sft_spec_char_v3_0.bat.

如果运行过程是秒结束的,可能是有问题的,需要更换 TTF字库文件,可以查看log.txt里有没有正常转换的条目。

(4) 完成sft文件生成


三、使用新生成的sft文件

(1)将生成的sft拷贝到\workspace\suniv\beetles\rootfs\res\fonts

如果是更换字库,则与原字库同名;如果是新增字库,要名字要与原文件名不同。

非强制限定文件名称,只是与代码相关联。

(2)代码里创建新的字库文件

字号必须与生成的字体字号要相同。

如越南语字库font_veitnam.sft

SWFFont_veitnam24=GUI_SFT_CreateFont(24/*创建字体的字号需和生成sft字号相同*/, BEETLES_APP_ROOT"res\\fonts\\font_veitnam.sft");

(3)切换语言时重新设置字库 - (参考‘设置’应用如何切换语言来实现)

GUI_SetFont(SWFFont_veitnam24);