tytannial / H3FontExtension

A HOMM3 font extension for non ascii font
MIT License
5 stars 1 forks source link
heroes-of-might-and-magic-3 heroes3 homm3

关于

H3CN是针对与英雄无敌3完全版的汉语字体扩展插件,插件源码基于对于英雄无敌3可执行文件3.2的逆向工程,该项目仅仅基于个人兴趣爱好,您可以在MIT协议约束内自由使用该源码,但商用必须注明出处。您可以对编码规则进行修改,生成自己的字库来兼容其他语言编码。

实现原理

替换掉了原本程序中绘制字体和计算词、行宽度的函数。使用GBK点阵汉字字库绘制汉字。您可以使用多种注入工具注入该插件到游戏,推荐使用HOMM3 HD

功能

开发兼容

插件基于C++20和Visual Studio 2022进行开发,使用到了部分C++20的特性。源码中还有不少可以优化的地方,希望能够有高人指点进一步优化插件性能。源码请提交时使用UTF8进行编码。

程序依赖

H3API 英雄无敌3程序内部数据结构
Toml++ 配置文件读写

待实现内容

  1. 拥有图形界面的字体生成配置工具。
  2. 自定义字体行间距。
  3. 拆行式文本输出支持跨行彩色文本。即彩色文本头和尾不用在同一行,影响位置地图、任务简报。
  4. 与最新的ERA扩展兼容(当前仅兼容)(重要)
  5. 兼容GOG的4.0原始可执行文件,该可执行文件重新进行过编译,需要重新适配。
  6. 拆行美化,使得一些汉字中的标点符号出现位置更加合理。