论坛风格切换切换到宽版
  • 1043阅读
  • 6回复

[求助]Vertus Fluid Mask汉化时如何修改字体和大小 [复制链接]

上一主题 下一主题
离线wyfxqx
 

发帖
1
金钱
10
威望
1
只看楼主 倒序阅读 0 发表于: 2017-09-25
程序下载:https://www.52pojie.cn/thread-602087-1-1.html
汉化过程中,发现汉化后的字体不好看,还有就是右侧栏的字体偏小。由于都是非标资源,使用athena查找字体没找到,用winhex查找常用几个字体的名称也无法找到,主程序检测是[Microsoft Visual C++ 9.0 - VS 2008 * vic4key {CiN1}],结合QT5开发的貌似。不会调试程序,不懂该如何修改字体以及右侧栏的字体大小。恳请哪位大师帮忙指点一下,或者直接帮忙修改一下。


离线yxg

发帖
113
金钱
490
威望
49
只看该作者 1 发表于: 2017-09-26
这个字号默认的就可以了,今天尝试汉化了几下,这个软件容易乱码,有还有需要调整字符长度。

离线dfui

发帖
78
金钱
700
威望
70
只看该作者 2 发表于: 07-05
2017年的产品    2018-6月份才完美解决 汉化字体大小。哎呀呀呀呀。
214648137  群号  进群  群文有 QT5修改字体大小录 演示如何更改 字体大小。
离线wanfu

发帖
2683
金钱
11680
威望
1168
只看该作者 3 发表于: 07-06


看到没有?乱码已经正常,字体大小也正常了。汉化方法如下:
1、用非标宏来提取和写入翻译


2、显示乱码


3、此为QT5编译的程序,经用非标宏中的字符编码修改器反复测试,为toLocal8Bit函数引起,改为toUtf8函数,全部写入即可



4、运行看看,是否显示正确,但是字体太小,QT程序的通病


下面我们来调整字体大小,这里比较复杂
1、我们用 x32dbg 来调试,先设置一下菜单中的选项为如下值


2、加载程序


3、搜索当前模块中的跨模块调用,搜索完成后,输入Font,缩小模块名称的范围


4、找到 setPointSize 函数单击,程序自动转入 CPU 界面


5、我们知道,setPointSize 只有一个大小参数。所以只要查找这个参数即可。
往上翻,看看输入到 setPointSize 函数的参数值是什么?
我们看到了 push eax,这是输入 eax 寄存器中的值,可以确定该函数使用了 eax 中的值。
我们在此下断,再一直按 F9 运行到下断的地方,看到右边 eax 寄存器中的值为 8,如图:


6、那么这个 8 是怎么来的呢?
我们再往上翻,发现有 dec eax 语句,它的意思是 eax  值减去 1,那就说明原来的 eax 值原来是 9,9 不正好是我们中文的字体大小吗?
那我们把它取消掉,汇编为 nop,再重新开始按 F9 直到断点,再看看 eax 寄存器中的值是不是变成 9 了。


7、再把修改 dump 出来,做成补丁,保存为文件。


8、运行看看,是不是正确了啊


最后,感谢济友汉化爱好者QQ群、朵朵、永乐大师。
离线舞叶秋风

发帖
29
金钱
50
威望
5
只看该作者 4 发表于: 07-21
回 3楼(wanfu) 的帖子
wanfu: 看到没有?乱码已经正常,字体大小也正常了。汉化方法如下:1、用非标宏来提取和写入翻译....... (2018-07-06 16:18) 

不知道这个字符编码修改器哪里可以下载到
离线wanfu

发帖
2683
金钱
11680
威望
1168
只看该作者 5 发表于: 07-21
非标宏里的小工具,下载非标宏就有了。
离线舞叶秋风

发帖
29
金钱
50
威望
5
只看该作者 6 发表于: 07-26
回 5楼(wanfu) 的帖子
wanfu:非标宏里的小工具,下载非标宏就有了。 (2018-07-21 18:43) 

噢噢 谢谢