Board logo

标题: HZK16变成BOOTFONT.BIN! [打印本页]

作者: 本是     时间: 2009-1-4 13:43    标题: HZK16变成BOOTFONT.BIN!

HZK16变成BOOTFONT.BIN!
我研究了一下BOOTFONT.BIN的格式,编了个转换程序,把HZK16放到与BOOTFONT.BIN同一目录,运行一次就可以将HZK16中的字模加进BOOTFONT.BIN。从此可以替换微软的点阵汉字库了。在原HZK16库中无汉字的地方,BOOTFONT.BIN填充的“?”和“□”予以保留。本程序同时保留其它非字模信息。

注意下载后附件的扩展名要改成COM才能运行。
附件 1: HZK2BOOT.rar (2009-1-4 13:43, 360 bytes, 下载附件所需积分 1点 ,下载次数: 84)

作者: xugaohui     时间: 2009-1-4 16:00
本是水平很高啊,变来变去都可以了。微软这个字库跟一般汉字系统默认字库的字体没什么区别。为什么微软的系统引导菜单中文显示没有中空线,而且兼容性超好?

[ Last edited by xugaohui on 2009-1-4 at 16:05 ]
作者: 本是     时间: 2009-1-4 17:38
就汉字显示方式而论,估计NTLDR是图形显示方式,不是象VTmagik/CONFECT等是文本显示方式。文本方式显示的缺陷——裂缝,不重设VGA寄存器是不可能的消失的,而如此重设就必然引起兼容性问题。这是硬件“毛病”,软件无可奈何!

[ Last edited by 本是 on 2009-1-4 at 17:42 ]
作者: xugaohui     时间: 2009-1-4 19:03
微软出的ntldr兼容性应该没问题。为什么BOOTFONT.BIN比汉字系统的点阵字库大很多?
作者: 本是     时间: 2009-1-4 22:38


  Quote:
Originally posted by xugaohui at 2009-1-4 19:03:
微软出的ntldr兼容性应该没问题。为什么BOOTFONT.BIN比汉字系统的点阵字库大很多?

因为微软的BOOTFONT.BIN中汉字从1区到87区之外,还有88到94区(尽管仅仅是作了填充而已),在汉字库前面还有ASCII字符字模库。另外,字库中包含ASCII和汉字字符本身等3个和4个字节,整个文件有个文件头。所以,BOOTFONT.BIN比汉字系统的点阵字库大很多。

补充:ASCII库中空格符之前为表格等字符及7Eh之后为空白和日文字符。空格到7Eh之间的字形是单线的,与汉字相同,在UCDOS中使用应该不错。

[ Last edited by 本是 on 2009-1-5 at 11:09 ]
作者: 本是     时间: 2009-1-4 22:39
我贴张替换后的启动截图:
附件 1: 粗体汉字库.JPG (2009-1-4 22:39, 27.31 K, 下载附件所需积分 1点 )



作者: chishingchan     时间: 2009-1-5 14:45
本是为什么不放弃 HZK16 而使用 BOOTFONT.BIN 呢?
毕竟 XP 菜单也支持 DOS 启动.
作者: 23070205     时间: 2009-2-3 21:53
强大啊,我要好好学习
作者: tuifeile     时间: 2009-2-5 10:11
谢谢分享
作者: lxhwss     时间: 2010-1-10 14:28
感谢楼主的分享。