- 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 编辑
: @0 {% c; i9 g$ K
# f- X" z5 {: {8 [& ]问题表现
7 `1 ~5 u x) ^用 Locale Emulator 以 ja-JP 运行 ATC4:日语正常,但雷达界面上的 7 段数码管数字变成了普通字体数字。 F: z6 t2 G( k/ Q% e1 R; P( W
改用 Ntleas 强制 C932:数字正常了,日语全乱码。
$ p) y( w7 C4 y2 d2 s+ V把 7barSP 装进系统字体库(右键安装或拷进 C:\Windows\Fonts):没有任何作用。$ e( L* I% e9 P& J( D% c
适用范围:Win10 / Win11 的中文系统,以及其他非日文区域系统。日文系统不受影响。
8 u2 I2 k# ?: Z7 b1 C' e解决方案用附件里的 7barsp.ttf 覆盖游戏目录下的同名文件,原件先备份。9 a8 \+ C' b1 ?4 Y1 z
要点:替换的是游戏目录里的文件,不是往系统字体库安装。 游戏用 AddFontResource 加载自己目录下那份,装进 C:\Windows\Fonts 它不认。
1 { A+ k% N" o0 w) @# [( o5 p不用重装游戏,不用清字体缓存。重装游戏后要再覆盖一次,安装包里还是原版。
* S8 N& V! Z% p/ N1 b原理7barsp.ttf 的 OS/2 表里 ulCodePageRange1 = 0x4000009F,声明了西欧那几个代码页加一个符号字体位,但没有 932(日文 Shift-JIS)。对比 ipaexg.ttf 的 0x00020001,它声明了 932。0 `7 A" p" Q. k2 p
所以日语正文一直正常——那是 IPAexGothic 在干活;只有雷达数字露馅,因为那是 7barSP。
5 H4 R' U+ G( ]8 \9 X6 z( c游戏在日文进程里是按 SHIFTJIS 字符集向系统要 "7barSP" 的。Windows 查到这字体没登记日文,判定不适用,直接替换成 MS PGothic,7 段数码管就成了普通数字。
3 E- Q. w3 P5 t7 |我改的只有一处:把 ulCodePageRange1 的第 17 位(932)置 1,变成 0x4002009F,再重算 head.checkSumAdjustment(字体自带校验和,改了表要跟着改)。整个文件只差 2 个字节,字形轮廓、字体名、字符映射都没动,大小仍是 12212 字节。
' h0 y( j: \6 B U2 A2 X" i/ O# n踩过的坑- 不是工作目录。 实测 LEProc 启动子进程时,cwd 就是目标 exe 所在目录,跟快捷方式的"起始位置"、你从哪个目录启动都无关。调 Start in 属于白费功夫。
) r; L( N* K: X' r9 P1 n
- 不是管理员权限。 提权解决不了,我这边实测提权启动后日语反而乱了。8 q. N7 S! V( T1 ^) i
- 不是字体没装进系统。 就是上面那条,游戏不认系统字体库。这个坑最容易绕进去,我在这上面耗了很久。$ b: ^+ l! E! Y9 ~0 A( B/ y2 a
- AXA.ini 的 file= 别写绝对路径。 游戏会在前面再拼一次自己的目录,结果是两个字体全部加载失败。表现很好认:选单界面字体明显变大,进游戏后一个字都没有。
A8 q9 E4 U3 f5 n N& ?0 l) P
- Ntleas 在新版 Windows 上强制代码页已经失效,别指望用它绕开这个问题。Locale Emulator 走 ja-JP 才是正路。
5 P" m8 X* Z0 W8 Y/ V/ R+ l; f
) h( b1 [! X( W" a! C/ o' G: A. j' i( }9 `! D" P2 l% W! }2 H
|
|