当前为全年龄模式,部分 R18 / NSFW 内容已隐藏
美少女万华镜2.5外传 -献给曾经是少女的你-

美少女万华镜2.5外传 -献给曾经是少女的你-WindowsLinux其它简体中文魔改补丁资源下载

SFW
Bishoujo Mangekyou -Katsute Shoujo Datta Kimi e-美少女万華鏡 -かつて少女だった君へ-美少女万華鏡 -かつて少女だった君へ-
全 CG 存档魔改补丁人工翻译补丁日本語简体中文WindowsLinux其它

美少女万華鏡 -かつて少女だった君へ- 萌*妹汉化组 汉化修复补丁

该补丁资源最后更新于 大约 9 小时前

平台托管下载 0.113 MB 5 次下载
魔改补丁简体中文WindowsLinux其它 平台托管下载 0.113 MB
eurocontrol
eurocontrol
发布于 2026-11-09 - 06:53

收藏此资源,下载链接或文件更新时通知你

【技术发布】《美少女万华镜2.5》QLIE引擎字体底层重构与排版修复补丁 (qliehook.dll)

各位玩家好。

《美少女万华镜2.5》汉化版长期以来一直受困于极其严重的底层文本渲染与排版缺陷:

  1. 字符断裂与方块字(豆腐块):文本推进过程中频繁出现“口口口口”或无规律的问号乱码,导致关键剧情汉字缺失;
  2. 字符间距异常与重叠:部分中文字符间距抽风,字与字之间偶尔紧贴重叠,偶尔异常拉长;
  3. 字体选择器功能锁死:设置菜单中的字体选项实为“假选项”,无论如何更改,游戏内文本始终被强制回落到生硬的系统“黑体”;
  4. 现代中文字体隐匿:系统内安装的现代字体(如 MiSans、OPPO Sans、思源黑体、微软雅黑等)均无法在游戏字体列表中被识别列出;
  5. 字符横向畸变拉伸(“宽体”化):即使强行置换字体,由于引擎渲染管线的逻辑错误,文字会遭受近 35% 的强制横向拉伸,汉字扁宽发虚。

当年汉化补丁留下的这套底层渲染逻辑,其诡异程度堪比张将军的驱逐舰——表面上指令都发出去了,底层判定全掉进虚空,最后还给玩家回传了一屏幕的方块乱码与拉伸变形。

为彻底解决上述问题,我们对 QLIE 引擎的优质管线与老汉化补丁进行了全面逆向分析,重写并构建了 1:1 原生兼容的 qliehook.dll。


问题成因技术溯源

  1. 方块字与乱码根因:GBK 编码双字节判定断裂
    QLIE 原版基于日文 Shift-JIS 架构,其双字节字符前导码(Lead Byte)上限仅截断至 0xFC,引擎内部的字符扫描只处理到 0xFE。
    汉化文本采用的是中文 GBK 编码(前导字节 0x81~0xFE,尾字节 0x40~0xFE,偶见高位边界 0xFF)。由于汉化组未对引擎内部的字符扫描逻辑做完整重构,导致汉字经常被引擎当成单字节截断,尾字节剥离后 GDI 无法匹配字形,直接跌落为方块字(□)或不可识别乱码。

  2. 对话文本底层锁死“黑体”
    老汉化组提供的 qliehook.dll 在模块加载时,直接硬编码挂钩了文本渲染函数 sub_492594(0x49279E),强制将传入的 LOGFONTA.lfFaceName 改写为 GBK 编码的“黑体”。无论上层 UI 脚本传参为何值,底层均被无差别拦截改写。

  3. 字体枚举的字符集与等宽属性拦截

    • 字符集限制:枚举入口 sub_493C20 硬编码了 lfCharSet = 0x80(Shift-JIS),且在多处回调函数中设置了非 0x80 即丢弃的条件跳转;

    • Pitch 属性过滤:游戏脚本配置了 system_fix 等宽限制,导致引擎在回调中检测到 Variable-Pitch(现代比例中文字体的常规标志 0x02)时直接过滤。

  4. 字距步进错位(ExtTextOutA 步距未折叠)
    GDI 底层在调用 ExtTextOutA 渲染文本时,需要传入与字符一一对应的字符间距数组 lpDx。由于汉化层未正确处理双字节跨度,导致步距信息未能按双字节折叠,字符间距随之错乱。

  5. 横向拉伸(宽体普京)机理
    在 sub_492594(0x4926C7)中,引擎存在如下硬编码逻辑:

    sar ebx, 1          ; ebx = (fontSize * supersample) / 2
    mov [ebp-4Ch], ebx  ; lf.lfWidth = ebx
    

    引擎将字体的平均字宽(tmAveCharWidth)硬编码设为字高的 0.5 倍。这虽然吻合日文等宽字体的半角/全角混合比例,但现代中文比例字体由于英文字符与标点的紧凑设计,天然平均字宽仅为 0.35~0.38 倍字高。强制传入 0.5 * height 会迫使 GDI 判定调用方需要额外加宽,进而将整套中文字形横向等比拉长 33%~37%,造成字形严重畸变。


修复方案与补丁特性

  • 完整 GBK 编码判定链注入:

    • 全局拦截并纠正 IsDBCSLeadByte 与 IsDBCSLeadByteEx,适配标准的 GBK 双字节边界;

    • 热修补引擎内部 9 处双字节截断与边界检查地址(0x49100F, 0x49177D, 0x491CD0, 0x493027, 0x4D4176, 0x48286E, 0x482D25, 0x4E6E7D, 0x56625D),将比较上限由 0xFE 拓宽至 0xFF,根除汉字截断,方块字全数消除。

  • 字距步进折叠重写:

    • 拦截 GDI ExtTextOutA,在双字节场景下重算并折叠 wDx 步进,确保字符间距均匀平整,杜绝字符重叠。
  • 天然字形比例还原(消除拉伸):

    • 补丁修补 0x4926C7 处硬编码字宽计算,并在 Hook 入口强制指定 lfWidth = 0,交还 GDI 遵循字体原生设计度量,字形回归周正端庄的标准长宽比。
  • 字体选择器全面解封:

    • 修正 sub_493C20 字符集为 DEFAULT_CHARSET(0x01),并 NOP 移除 3 处字符集过滤跳转;

    • 移除 Fixed-Pitch 等宽校验,允许系统中所有 TrueType / OpenType 比例字体进入游戏选择列表。

  • 平滑回退与高质量渲染:

    • 默认优先探测并载入优质无衬线字体(优先级:OPPO Sans 4.0 → 微软雅黑 → 系统默认 UI 字体),同时忠实保留玩家在设置菜单中的手动选择;

    • 全局启用 GDI ClearType 抗锯齿(CLEARTYPE_QUALITY)。

  • 二进制兼容:

    • 导出 ?Empty@@YGXXZ 符号,严格保证对汉化主程序的原生兼容性。

【重要】部署与脱壳指南

核心机制说明:
汉化补丁原版使用了 Enigma Virtual Box (EVB) 虚拟化封装工具,将真正的可执行文件与旧版依赖打包成了一个体积约 55MB 的单文件 美少女万華鏡2.5_CHS.EXE。
这种虚拟化壳就像带有反应装甲的重装载具——如果直接把新 qliehook.dll 放入游戏根目录,虚拟内存层会优先挂载内部封装的旧 DLL,导致新补丁完全被隔离吃掉。
因此,必须先执行一次解包操作(脱壳),方可完成有效覆盖。

步骤一:准备解包工具(二选一)

  • 推荐方案(通过 Python 官方 PyPI,干净轻量):
    打开命令行终端,运行以下命令安装解包工具:

    pip install evbunpack
    
  • 备选方案(图形界面工具):
    下载常用的 EnigmaVBUnpacker(或 EVB Extractor)独立可执行程序。

步骤二:解包抽取真实主程序

  • 使用 evbunpack(推荐):
    在游戏目录下打开终端执行:

    evbunpack 美少女万華鏡2.5_CHS.EXE unpacked
    

    解包完成后,所有封装文件将输出至 unpacked 目录中。

  • 使用图形界面工具:
    运行工具,载入 55MB 的 美少女万華鏡2.5_CHS.EXE,选择输出目录并点击解包。

解包后可以发现,核心的真实主程序 美少女万華鏡2.5_CHS.EXE 实际仅约 1.8MB。

步骤三:覆盖与生效

  1. 将解包出的所有文件及文件夹覆盖回游戏根目录;
  2. 将原先 55MB 的打包文件重命名备份(如 美少女万華鏡2.5_CHS_EVB_packed.EXE)或移出目录;
  3. 将本补丁提供的 qliehook.dll 放入游戏根目录,覆盖旧版本文件;
  4. 直接双击运行 1.8MB 的 美少女万華鏡2.5_CHS.EXE 即可启动游戏。

启动游戏后进入“环境设定”->“字体”:

  • 方块字与乱码问题已彻底清除;

  • 本地中文字体已完整列出,支持自由切换;

  • 字体长宽比例恢复正常,不再存在横向拉伸变形。

本文及代码注释使用哈鸡米3.8闪电降智流口水版编写。

点击下方链接下载(共 1 个)

BLAKE3 校验码,可校验下载文件完整性

5998adb10f23ae6773ff8c831ada7c5f2ebea5dcec5138b520f6adc17312c147

压缩包内容

7 个文件 · 4 个文件夹 · 解压后 264 KB

文件名以 UTF-8 存储,部分系统自带的解压工具会解成乱码,推荐用 7-Zip 或 Bandizip 解压。文本、图片、音频和 RPG Maker 存档可以直接点开查看。

biman25_font_patch
264 KB
README.md
1.3 KB

该补丁资源每次编辑的字段变化,只标出改动的部分: 删除新增

为安全起见,下载链接、提取码与解压密码只标记为「已更新」,不显示内容。

编辑2026-11-09 - 06:56普通用户
AI 模型 −14
哈鸡米3.8闪电降智流口水版

资源评论

资源有问题?就在这里反馈

下载链接失效、提取码或解压密码错误、文件损坏、解压后无法运行、补丁与游戏版本不匹配……都请直接在下面留言。评论会 @ 到资源发布者,他会收到通知并来处理,这里是最快能解决问题的地方。反馈时请带上你的系统、游戏版本和具体报错,方便定位。

请 后发表评论
还没有人评论这个资源, 用得怎么样, 说两句吧~