主要观点:
- 近期一直在思考本地化,计划以资产驱动的方式支持多语言,方便翻译实施,如将用户界面文本作为特殊对象。
- 原本想为支持日语用新的 8x8 字体位图,后经搜索找到 Misaki 字体,但发现其 7x7 且单像素间隙易导致字符粘连,难以单独识别。
- 经过一番探索,通过 Shift-JIS 编码找到与 Misaki 字体 PNG 对应的 JIS X 0208 标准,利用相关文件和代码实现了将 Unicode 编码映射到 JIS 字符的功能,成功渲染了日语字符。
- 但发现 Misaki 字体的罗马字符与 ASCII 映射的字符编码不同,需额外函数处理,且尝试使用 8x12 字体后效果更好,但需更新 UI 以支持可变高度文本。
关键信息:
- 本地化工作围绕资产驱动,收集各资产文本到电子表格进行翻译。
- Misaki 字体为 7x7 且 90 年代用于 Sharp PC-E500 口袋电脑。
- 找到 JIS X 0208 标准及相关 Unicode 文件 JIS0208.TXT 。
- 编写解析文件的代码,实现 Unicode 到 JIS 的映射。
- 完成日语字符渲染,富文本渲染也正常,后处理罗马字符编码问题。
重要细节:
- 本地化为游戏引擎构建提供便利,方便后续翻译。
- 作者对字体渲染的各种尝试和遇到的问题,如精度控制、像素大小等。
- 介绍了不同编码方式及相关函数的实现细节,如 Accept-style 递归下降解析、utf8 字符串处理等。
- 展示了不同字体大小在游戏中的效果对比。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。