多语言需求

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

思路分析

系统设计

字体翻译显示

多语言收集工具

图例解释

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

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

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

字库要包含多种字形

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

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

这需要一个工具 FontCreator

相关知识传送门

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

FontCreate合并字体教程

FontCreate

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

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

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

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

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

汉字和Unicode码

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

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

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

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

                       

_________________________________________________________________________________________

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

                       

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

原因是这样的:

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


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

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

文献资料

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

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

unity的Scene转成文本格式

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

游戏/APP的多语言系统设计的更多相关文章

  1. 丢沙包游戏(或杀人游戏)的C语言实现

    丢沙包游戏(或杀人游戏)用C语言实现: 游戏简述: 杀人游戏(或者丢沙包游戏),设定一些人(人数为:num)一起玩游戏,从某个指定的人(设定为:start)开始轮流扔沙包,扔沙包人的下一个人为1,每隔 ...

  2. 大数据应用:五大地区喜新厌旧游戏APP类别之比较与分析

    今天,我们来分享点不一样的资讯.....游戏APP之喜新厌旧排行榜!! 前阵子笔者开发了一套系统可以用来收集亚洲五大地区上架APP的每日排名信息,希望观察出五大地区在APP上的喜好和使用程度之间的相异 ...

  3. App内切换语言

    前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不 ...

  4. 24点小游戏app宣传文案

    24点小游戏app宣传文案 游戏背景 24点小游戏是传统的扑克牌游戏,是通过扑克牌来完成的竞争性智力游戏,除了希望能够消磨我们的空闲时间,加强同学们的临机和速算能力,还能够促进我们每个人的大脑和逻辑性 ...

  5. 如何做一个跨平台的游戏App?

    如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...

  6. 控制游戏/app使用期限/过期,证书有效期,弹出公告支持离线使用/后端控制,支持Swift、Objective-C集成非常简单,永久免费框架

    CertCheck.framework (for iOS) 只能运行于真机上,切勿在模拟器上使用 这是一个控制游戏/app使用期限(到设定的时间无法打开app),或发布弹出公告永久免费的框架,可以全版 ...

  7. 初探Android逆向:通过游戏APP破解引发的安全思考

    如今移动互联网已经完全融入到我们的生活中,各类APP也是层出不穷,因此对于安卓APP安全的研究也尤为重要.本文通过对一款安卓APP的破解实例,来引出对于APP安全的探讨.(本人纯小白,初次接触安卓逆向 ...

  8. Android app应用多语言切换功能实现

    最近在做一个多语言切换的功能,类似于微信的语言切换,搜了下资料基本上都是以下这种: 1. 实现的效果 和微信类似,在设置界面打开切换语言的界面,选择语言后重启 HomeActivity,语言切换完成, ...

  9. 小项目特供 贪吃蛇游戏(基于C语言)

    C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第 ...

随机推荐

  1. 记STM32F030多通道ADC DMA读取乱序问题

    问题描述通过 uint16_t ConvData[8]保存DMA搬运的ADC转换数值,但是这个数组数值的顺序总是和ADC不是顺序对应的.比如用7个通道的ADC,当设置ADC_InitStructure ...

  2. SharePoint 2013 WebPart 管理工具分享[开源]

    前言 之前做门户的时候,经常要导入导出WebPart,非常的频繁,然后就需要一个个导出,然后一个个导入,非常繁琐:闲暇之际,就考虑能不能自动化一下,把这个功能写成一个工具,可以方便的管理WebPart ...

  3. 【Leafletjs】7.结合echart图表展示信息

    1.popup中添加图表信息 //定义marker var marker = L.marker(val.location).addTo(map); var content = '<div sty ...

  4. swift 2.2 语法 (上)

    前言: 1.此文中的语法会根据Swift的升级变动而更新. 2.如果需要请移步 -> swift2.2 语法(中).swift 2.2语法(下) Swift与OC中常见的区别 导入框架 OC: ...

  5. 搭建一个完整的Android工程(一)Dagger2

    写在前面 现在越来越多的使用到了开源项目,但是仅限于使用,却不了解,更谈不上深入.也是因为越来越多的开源项目,平时工作中遇到问题也是第一时间寻找对应的开源项目,少了许多独立的思考.现在虽然能很轻松的完 ...

  6. iOS不同IDS说明

    1.Vindor标识符  identifierForVendor 一个英文字符串,对于相同的产品商(这里指com.zhang.*,也就是前缀一样),其唯一的标识设备. * 这个值对于相同的产品商在相同 ...

  7. 跨域调用webapi web端跨域调用webapi

    web端跨域调用webapi   在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...

  8. Spring AOP 动态代理 缓存

    Spring AOP应用:xml配置及注解实现. 动态代理:jdk.cglib.javassist 缓存应用:高速缓存提供程序ehcache,页面缓存,session缓存 项目地址:https://g ...

  9. SharePoint Content Database简介

    SharePoint作为微软主打的企业Portal平台,功能强大,使用简单,非常的方便.对于很多关系数据,我们可以使用自定义列表来维护,如果是非关系数据,可以使用文档库来维护.另外还可以在上面进行版本 ...

  10. Linux简介及常用命令使用1--linux环境搭建

    1.先安装:VMWare10软件 VMware Workstation是一款功能强大的虚拟机软件,可以使你在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,并进行开发.测试.部署新 ...