此应用为隶属于SimpleGUI的子项目,用于再资源不允许的情况下,使开发者能够方便的生成或使用对系统资源消耗最小的字库。
这个就说来话长了…… 最初开发SimpleGUI的时候,为了方便,使用了完整的GB2312字库,当时还没有开发模拟器环境,只是在STM32+KS0108显示屏的硬件环境下开发和调试,但是GB2312字库的体积实在是大了点儿,片上Flash资源要被字库吃掉大半。 在SimpleGUI正式发布后,随着学习和使用的人越来越多,这个问题越发严重的凸显出来。例如很多人都在STM32F103C8上学习和开发,但是这款芯片的Flash资源就十分有限,根本不足以容纳GB2312字库,精简字库的问题必须提上日程了。 针对字库的精简,我构思了几种方式:
出于第三种解决问题的思路,字库精简工具MinimumFontLib诞生了。
本工具基于wxWidgets图形库,使用TDM-GCC5.1.0编译器,在Codeblocks IDE 17.12 版本下开发。想要从源代码开始搞的朋友,可以下载wxWidgets3.0.3以上版本和Codeblocks 16.01以上版本的IDE进行编译和二次开发。wxWidgets的编译指令如下
mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=0 UNICODE=1 BUILD=release CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11"
不想关心代码的朋友,在工程目录的Build/Execute文件夹下有编译好的可执行文件,可直接运行。Build/Execute/Bin中为程序可执行文件,Build/Execute/Lang下位语言文件,目前支持中、英、日三国语言,自己翻译的,如果错了或者不合适的,还请指正。
目前编码只有一种格式,基本ASCII字符占用一个Byte,最大值0X7F。ASCII以外的字符使用两个Byte,最大值0x7FFF,但为了解析和标记,非ASCII的高字节最高为均为1。
工具栏上的“标准ASCII”按钮被选中后,代表用户将使用标准ASCII表中的所有可见字符(0x20-0x7F),此时工具将不再对标准ASCII字符进行编码,非ASCII字符的编码自0x0060起,根据前文中的规则,第一个字符在字符串编码中将被反应为0x80, 0x60。
在提取字库和重编码完成后,使用者就可以通过提取的字符集,配合取模软件做出最小化的字库数据了。
这个工具本身目前就是个半成品,我本来的计划是将取模功能一并开发的。但是由于取模功能开发比较繁琐,需要考虑的东西很多,所以短时间内可能难见成效,所以先放出此工具给各位朋友应急,目前取模工具正在开发中,介时将会呈现给大家一个完整的集成化的字库制作工具,敬请期待。
如果您在使用中发现了Bug或有更好的建议,可以通过以下方式告知开发者。
感谢您的理解和支持。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。