What happened: d3d9.dll enumerates system fonts, converts Unicode font names into its SJIS tunnel encoding, then copies them into a fixed 32-byte LOGFONTA.lfFaceName buffer with strcpy_s. Your system has long Chinese font family names, especially:
阿里巴巴普惠体 2 95 ExtraBold
阿里巴巴普惠体 2 105 Heavy
阿里巴巴普惠体 2 115 Black
Those exceed the 32-byte face-name buffer after conversion, so MSVC’s safe CRT kills the process immediately. That’s why deleting d3d9.dll lets the game launch but loses Chinese glyph handling.
无法正常启动,删除d3d9.dll后转区启动成功,但是字体丢失。
部分日文里没有的中文字体变成了···
点带cn的那个启动文件
启动的就是cn后缀的,不转区是乱码
破案了,让gpt逆向了一下,有字体名称太长导致的,卸载就好了。应该是上游 VNTranslationTools的问题。
What happened: d3d9.dll enumerates system fonts, converts Unicode font names into its SJIS tunnel encoding, then copies them into a fixed 32-byte LOGFONTA.lfFaceName buffer with strcpy_s. Your system has long Chinese font family names, especially:
阿里巴巴普惠体 2 95 ExtraBold
阿里巴巴普惠体 2 105 Heavy
阿里巴巴普惠体 2 115 Black
Those exceed the 32-byte face-name buffer after conversion, so MSVC’s safe CRT kills the process immediately. That’s why deleting d3d9.dll lets the game launch but loses Chinese glyph handling.