- UID
- 374
- 积分
- 586
- 威望
- 540
- 金币
- 340
- 功勋
- 46
- 荣誉
- 0
- 精华
- 0
- 最后登录
- 2026-10-25
- 注册时间
- 2010-3-15

E-8 二级管制员
 
- 积分
- 586
- 威望
- 540
- 金币
- 340
- 功勋
- 46
- 荣誉
- 0
- 最后登录
- 2026-10-25
  
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 littleasan 于 2026-10-25 14:49 编辑
4 c; ?' T2 l. V
% _4 e/ d8 U8 r, T: g5 V问题表现2 \, n/ i: L" k: O
用 Locale Emulator 以 ja-JP 运行 ATC4:日语正常,但雷达界面上的 7 段数码管数字变成了普通字体数字。- Y3 I1 c! S. L. M
改用 Ntleas 强制 C932:数字正常了,日语全乱码。
Y: ~6 j, h4 f8 U4 m) k: ?/ m1 M! ]把 7barSP 装进系统字体库(右键安装或拷进 C:\Windows\Fonts):没有任何作用。) G5 w: `! @$ W
适用范围:Win10 / Win11 的中文系统,以及其他非日文区域系统。日文系统不受影响。
# Q& D) Z5 R( h, W$ d解决方案用附件里的 7barsp.ttf 覆盖游戏目录下的同名文件,原件先备份。 q3 }) s- a* ~4 v2 N& t
要点:替换的是游戏目录里的文件,不是往系统字体库安装。 游戏用 AddFontResource 加载自己目录下那份,装进 C:\Windows\Fonts 它不认。
" b9 W$ H/ ]$ E* q8 e& F不用重装游戏,不用清字体缓存。重装游戏后要再覆盖一次,安装包里还是原版。
: o d4 D1 j! D4 ~* @& d原理7barsp.ttf 的 OS/2 表里 ulCodePageRange1 = 0x4000009F,声明了西欧那几个代码页加一个符号字体位,但没有 932(日文 Shift-JIS)。对比 ipaexg.ttf 的 0x00020001,它声明了 932。
0 \% D; U2 V! W所以日语正文一直正常——那是 IPAexGothic 在干活;只有雷达数字露馅,因为那是 7barSP。
" k/ ~5 D5 n! p. {4 e5 ~0 t! k游戏在日文进程里是按 SHIFTJIS 字符集向系统要 "7barSP" 的。Windows 查到这字体没登记日文,判定不适用,直接替换成 MS PGothic,7 段数码管就成了普通数字。
( R. J n8 U) I+ \( ]我改的只有一处:把 ulCodePageRange1 的第 17 位(932)置 1,变成 0x4002009F,再重算 head.checkSumAdjustment(字体自带校验和,改了表要跟着改)。整个文件只差 2 个字节,字形轮廓、字体名、字符映射都没动,大小仍是 12212 字节。) R0 M$ `5 S) p4 u/ `) [' c* F
踩过的坑- 不是工作目录。 实测 LEProc 启动子进程时,cwd 就是目标 exe 所在目录,跟快捷方式的"起始位置"、你从哪个目录启动都无关。调 Start in 属于白费功夫。
5 L$ W! t" N5 t
- 不是管理员权限。 提权解决不了,我这边实测提权启动后日语反而乱了。
7 c% T5 o0 N+ e' c: n+ ?& L* h/ n
- 不是字体没装进系统。 就是上面那条,游戏不认系统字体库。这个坑最容易绕进去,我在这上面耗了很久。( V2 m( w- K: ~$ l7 M
- AXA.ini 的 file= 别写绝对路径。 游戏会在前面再拼一次自己的目录,结果是两个字体全部加载失败。表现很好认:选单界面字体明显变大,进游戏后一个字都没有。5 J2 }" v; P8 Z4 j* x: X5 o8 p
- Ntleas 在新版 Windows 上强制代码页已经失效,别指望用它绕开这个问题。Locale Emulator 走 ja-JP 才是正路。1 }1 L1 `3 B% r1 }8 S/ K/ h# s8 q
$ C( V+ L& [$ f/ \$ l X" H) P9 l4 S3 a3 ~$ h) m) k# P* }+ d' {# e
|
|