﻿まじかりて！完全版  ——  简体中文补丁（免转区版）
================================================================

【文件清单】

  data.xp3.new         汉化后的数据归档（由安装脚本改名使用）
  _chs.exe             免转区启动器（原版 exe 的逐字节副本）
  _chs.exe.manifest    代码页清单（必需，缺了就要转区）
  安装补丁.bat         一键安装（自动备份原版 data.xp3）
  卸载补丁.bat         还原日文原版
  缺字清单_原版曾缺字.txt
  本说明

【安装】

  1. 把以上全部文件复制到**游戏根目录**
     （与 まじかりて！完全版.exe、原版 data.xp3 同一层）。
  2. 运行「安装补丁.bat」。
     它会把原版 data.xp3 改名成 data.xp3.日文原版备份，再把汉化版顶上去。
  3. 双击 _chs.exe 启动。不需要转区、不需要 Locale Emulator、不用改系统区域。

  注意：请**不要**手动把 data.xp3.new 改成 data.xp3 覆盖过去，
        那样原版就没有备份了，卸载会失效。

  还原：运行「卸载补丁.bat」，会把 data.xp3 换回日文原版。

【原理：为什么这次能成】

  1）直接替换 data.xp3，不再依赖 patch_01.atw。
     本作引擎实际不会挂载外部补丁归档（Initialize.tjs 里那段 patch_01.atw
     自动挂载在运行中从不触发），所以旧方案无论怎么打包都不生效。
     日志里 "Done. (contains N file(s))" 只出现 data.xp3 那一次可证。

  2）_chs.exe.manifest 把进程代码页设成 932（日文）—— 免转区的关键。
     原版 exe 是 ANSI 程序且 PE 内没有 RT_MANIFEST，所以放在同级的
     同名外部清单一定生效。需要 Windows 10 1903+ / Windows 11。

     为什么不用 UTF-8？
     实测：代码页设为 UTF-8 时，GDI 的 A 系列 API（GetTextFaceA 等）会返回
     非法字节，引擎在 AnimationLayer 构造函数里读 font.face 就抛
     "ANSI 文字列を UNICODE 文字列に変換できません"，直接崩在开场。
     GDI 至今不支持 CP_UTF8，所以 UTF-8 这条路走不通。
     改用 932 后，字体名、窗口标题、%APPDATA% 里的日文目录名全部正常。

  3）剧本 .ks 用 UTF-16LE（单个 BOM）保存。
     中日文都在 Unicode 里，显示时不再经过代码页转换，不会变问号/乱码。

【关于「缺字」（阳台的阳、确认的确 显示为空白）】

  原版正文并不用系统字体画字，用的是 others.atw 里打包好的「预渲染位图
  字库」text.tft。这份字库用日文字体生成，日文里不存在的简体汉字只有
  码位、没有字形（宽高皆为 0），画出来就是一片空白。

  text.tft 里 17978 个字形中有 3888 个是空字形；剧本实际踩到 67 个字、
  共 1048 处（确 186 次、离 147 次、沉 66 次、桌 49 次、达 47 次、跑 41 次
  …… 阳 18 次）。

  本补丁已解除位图字库映射，正文、历史记录、选项按钮、退出确认框全部改用
  系统字体 SimSun，这 67 个字以及今后可能出现的其它字都不会再缺。
  完整清单见同目录「缺字清单_原版曾缺字.txt」。

【本版更新：剧情通读润色】

  * 术语与称谓统一
      - 魔术部 / 部员 / 部长 / 废部 / 活动室（原译文混用「魔术社」「社员」
        「社长」「废社」「社办」等）
      - 人名统一：小乃爱（不再出现「小爱」「乃爱酱」）、弓良学姐
        （不再出现「摇学姐」「夕湖学姐」等）、夜都、三叶、小衣、真绢
      - 自称统一为「我」（清掉个别混入的「人家」「在下」）

  * 修掉 26 处台词破损
      原译文把 [addDictionary] / [mruby] 这类内联标签当成了断句点，
      于是在标签后多插了一个「，并连带译错了后半句。例如：
        原：「那么，丝绸[标签]「那么，就再试一次吧」
        新：「那么，再把丝绸[标签]取出来试一次吧」
      另修掉 2 处混进句子的残留数字（「1」「1.5」）与 1 处多余括弧。
      现已全文校验：引号/书名号括号配平 0 处异常。

  * 清掉全部日文注音
      [mruby] 的注音（ruby）原本是日文假名，会直接把假名显示在正文上。
      现在 scenario 内 44 个 mruby 标签中日文假名为 0：
        - 纯读音类（夜都←ないと、小衣←こころ、静謐←せいひつ 等）直接去掉注音
        - 双关/中二招式名改成中文注音，保留原作的双层效果
            （魔法←魔术、钻石←乃爱、白炎神←阿格尼、≪雷神≫←托尔 等）
        - 逐字强调（・）保留，中文本来就用这个着重号

  * 魔术词典补完
      【Silk】→【丝绸】、【top】→【牌顶】、
      【Hindu Shuffle】→【印度式洗牌】，并统一了人名中点为中文的「·」。

【已实测通过的检查项】

  * 游戏能启动，主窗口/标题画面正常渲染（背景图、立绘、菜单栏都在）。
  * 对话文字为简体中文，长段落连续阅读无缺字（含确/离/沉/桌/达/跑/适/糕/
    极/灵/碰/笔/运/袜/阳/耍 等原先会空白的 67 个字）。
  * 历史记录（翻页按钮、正文）为中文且不缺字。
  * 退出/存档确认框、快进提示、存档异常提示均为中文。
  * %APPDATA%\zippersoft\まじかりて！完全版 目录名正确，旧存档 record_*.ksd 可用。

【已知问题】

  * 标题画面的按钮、配置界面（コンフィグ）的文字是**图片美术字**，
    不是可替换文本，因此仍为日文。功能不受影响。
  * 打字小游戏（まじかりて！タイピング）的词库本身是日文假名/英文，
    属于游戏设计，无法汉化。
  * 系统变量文件（prody_data*.ksd）若来自乱码目录，首次启动会自动重建；
    旧存档 record_*.ksd 不受影响。

【术语表（已应用）】

  こころ = 小衣      ないと = 夜都      だいあ = 乃爱
  みつば = 三叶      まきぬ / 真絹 = 真绢
  キヌセンセ = 绢老师   ブラックナイト = 黑骑士
  ゆら = 弓良
