游戏/APP的多语言系统设计

多语言需求

游戏或者APP中可以根据不同地区显示不同语言,那么这是怎么实现的呢?要如何处理应用中的图片呢?

思路分析

系统设计

image

字体翻译显示

image

多语言收集工具

image

图例解释

把界面上出现的文字,翻译到多语言表中,系统运行时,去语言表找这个字对应的多语言文字

多语言翻译表: zh_cn.xls ,zh_hk.xls ,ja_jp.xls

简体图集、繁体图集、日文图集中图片名字一样,根据语言配置加载不同的图集,达到图片多语言。

对于材质或其它打成单个ab的文件,可以在ab文件名加语言标识,比如img_01_cn.ab,img_01_jp.ab。

字库要包含多种字形

字库:CommonFont.ttf 字体文件中里面同时包含简体,繁体,日文

但是一般网上下载的字体都是分为 xx简体.ttf,xxx繁体.ttf,但就如何把这两种字体合并到同一个字体中呢?

这需要一个工具 FontCreator 

相关知识传送门

字体的编码问题:GB2312(大陆字体编码) BIG5(港澳台字体编码) Unicode(国际标准组织字体编码)

FontCreate合并字体教程

FontCreate

把A字库中的字拷贝到B字库

1、插入-字体,输入需要插入的字体,我这儿输入1

image

2、我选择的是插入1个字符在最后

imageimage

3、选择 编辑->特殊粘贴

imageimage

当然按照上面的方法复制一个字体到另一个字体中

汉字和Unicode码

通过小程序查询文字的unicode码

以我拷贝的“万”字举例,查询“万”简体和繁体的unicode码如下

image

下面我分别在 方正粗圆简体.ttf方正粗圆繁体.ttf  两种字库中搜索“万” 字的unicode码

在繁体字中查询                                     在合并的简体字中查询

image                        image

_________________________________________________________________________________________

在简体字中查询                                     在合并的简体字中查询

image                        image

所以可以知道这个所谓的繁体字,只是把简体字转成繁体字,但你输入繁体字它就无法识别了。

原因是这样的:

同一个字在简体和繁体中的字体码是不一样的,如:万在简体中是4e07,在繁体中是842c,而如果要合并的话,那就需要把简体和繁体的字体码分别对应在新的字体文件中。

image

 


快速测试字体文件是否包含简繁体

如果想快速地测试字库是否同时包含简体和繁体,可以在Word中输入同一个字的简繁体,如果能正确的显示成你所要的字形,那么这个字库就是同时包含简体和繁体。

文献资料

如何查找汉字对应的unicode码?

在线网站查询 http://www.bangnishouji.com/tools/chtounicode.html

unity的Scene转成文本格式

unity的Label上的文字,也是转成对应的unicode码

posted @ 2015-04-09 17:41  赵青青  阅读(2256)  评论(0编辑  收藏  举报