QQ登录

只需一步,快速开始

查看: 18623|回复: 12
打印 上一主题 下一主题

FlightGear汉化方法

[复制链接]

主题

好友

618

积分

航院研究生

跳转到指定楼层
楼主
发表于 2013-3-27 23:53:48 |只看该作者 |倒序浏览
FG的汉化分下面几个部分。其实就是对plib的汉化。
(一)首先把XML文件转为UTF-8编码格式,注意是不要BOM的UTF-8,Editplus软件可以完成这项功能。因为如果直接改为中文的话,中文是多字节的,有可能会导致XML解析时碰到特殊字符出错,UTF-8格式就没有问题。至于什么是UTF-8,以及UTF-8,UNICODE,ASCII,国标码之间的关系请百度一下,这些都是基本知识,下面的程序要用。
(二)FG的菜单使用的是plib中的fnt点阵字体,不过,由于在程序中内置了英文的显示方式,不适合中文,所以要想办法加载汉字库,网上有现成的HZK16,是宋体的。还有一个软件可以自定义字体,字号然后输出点阵字体。修改fnt的点阵字体模块,读取汉字,注意读出的是UTF-8,要转换为ASCII才能用,然后根据汉字编码查询汉字库文件,读出点阵信息,记住要上下翻转一下,就是把字上下颠倒,第一行在最下面。替换原英文的buff就可以显示汉字。
(三)FG中的操作提示,如tutorials中的操作提示,ATC的语音,就是在屏幕中间显示的一句话,可以用鼠标拖动的,还有程序中的对话框,控件中的字也是用点阵方式实现的,有的在nas文件中实现,那么nas文件也要改为UTF-8编码方式。
(四)SPLASH提示,就是进入程序前的那些加载地景,加载飞行计划,加载飞机等等的英文提示是用osgtext实现的,osgtext原生支持宽字节编码,就是UNICODE编码,只要修改一下输出函数就可以了,并且可以使用ttf字体,效果非常好。
(五)最难的就是纹理字体,比如在HUD上显示汉字,在面板上显示汉字就要用到plib中的纹理字体,plib的纹理字体是txf格式的,说白了就是一张图片,上面画好了各种字母数字符号等,然后抠出部分图片作为纹理贴到面板上显示。但汉字显然是不能这么做的,因为汉字太多了,无法预做成纹理图片。不过可以使用FreeType来动态生成纹理贴图,这部分可以参考ttf2txf程序的代码,这个程序是利用freetype生成txf字库的程序,我们不生成txf文件,而是把汉字直接渲染到buffer中,然后把buffer显示出来就可以了。就是说原来是利用freetype把ttf字体生成txf字库,然后程序读txf字库显示,现在把中间环节去掉,利用freetype直接渲染到内存,程序读内存显示。实现这个功能我用了2天,其实就是没用过Freetype,不熟。所以最好参考现成代码。


分享到: QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0

主题

好友

713

积分

版主

沙发
发表于 2013-3-28 18:59:29 |只看该作者
高手!精英!这个问题困扰大家很久了,donald3102老师的汉化方法总结的非常精辟。

点评

HWL
不知道现在大家这么久研究的怎么样了?有信吗?  详情 回复 发表于 2013-4-3 22:31
回复

使用道具 举报

主题

好友

66

积分

版主

板凳
发表于 2013-3-28 21:24:27 |只看该作者
思路已经明确,大家团结起来,一起实现吧!
回复

使用道具 举报

主题

好友

285

积分

版主

地板
发表于 2013-4-3 22:31:12 |只看该作者
Steven 发表于 2013-3-28 18:59
高手!精英!这个问题困扰大家很久了,donald3102老师的汉化方法总结的非常精辟。

不知道现在大家这么久研究的怎么样了?有信吗?
回复

使用道具 举报

主题

好友

815

积分

航院研究生

5#
发表于 2013-4-4 22:20:37 |只看该作者
楼主分析得非常透彻!期待将来的汉化版本出现。
回复

使用道具 举报

主题

好友

54

积分

航院新生

6#
发表于 2013-4-8 12:31:12 |只看该作者
期待将来的汉化版本出现
回复

使用道具 举报

主题

好友

47

积分

报考学院待录取

7#
发表于 2013-5-5 08:59:23 |只看该作者
别期待了,还的自己努力研究啊,老师们也都是自己慢慢研究的!!!
回复

使用道具 举报

主题

好友

82

积分

航院新生

8#
发表于 2013-5-7 17:22:33 |只看该作者
个人感觉非汉化版用着也不错,也没有很多障碍,熟悉就好
回复

使用道具 举报

主题

好友

22

积分

报考学院待录取

9#
发表于 2013-5-17 10:13:09 |只看该作者
大家好,我是新手,我想知道FlightGear中的Plib是什么,高手们解答一下吧 谢谢了
回复

使用道具 举报

主题

好友

76

积分

航院新生

10#
发表于 2013-12-16 23:09:22 |只看该作者
谢谢分享。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入FG

本版积分规则

手机版|联系我们| FlightGear ( 吉ICP备19002044号-7 )

GMT+8, 2024-4-20 19:07

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部