这是thriller写的WinXP Bootfont.bin 查看器。
综合了几篇相关文章。
可以打开和显示各种版本的BOOTFONT.BIN。
自带7种BOOTFONT.BIN,分别是
BOOTFONT.BIN.jpn 日文版
BOOTFONT.BIN.kor 韩文版
BOOTFONT.BIN.ru 俄语版
BOOTFONT.BIN.chs 中文简体
BOOTFONT.BIN.cht 中文繁体
BOOTFONT.BIN.fr 法语版
BOOTFONT.BIN.ger 德语版
供参考。
bootfont.bin
是汉化引导菜单用的,删除后引导菜单会变成英文
BOOTFONT.BIN是NTLDR和SETUPLDR.BIN使用的字体文件,它提供了Windows系统启动阶段其他语言(非英语)的字体点阵。本 文针对的BOOTFONT.BIN为中文版本Windows XP With SP2所附带(Windows 2000/XP/2003使用的字库文件完全相同),其他语言的应该类似。
用Ultraedit-32打开BOOTFONT.BIN,可以发现头四个字节为"MdeT",为什么要用这么奇怪的魔数呢?答案在泄漏的windows nt4源代码中。在bootfont.h中对这个魔数进行了定义:
+------------------------------------------+
| // Define signature value. |
| // |
| #define BOOTFONTBIN_SIGNATURE 0x5465644d |
+------------------------------------------+
0x5465644d即为"TedM",Windows最开始的本地化版本是日文版,因此由日本的开发人员做了最初的本地化工作,可以从ntosootootfont
eadme.txt中看出来:
+-----------------------------------------------------------------------+
| The jpn directory contains the original fntjapan.h that was once |
| compiled into the x86 boot loaders, and a program I wrote to generate |
| bootfont.bin for Japan from it. |
| |
| - tedm, 7/11/95, Tokyo |
+-----------------------------------------------------------------------+
0x04-0x07为语言代码,对于中文则为0x804。
0x08-0x0b为BOOTFONT.BIN支持的单字节字符个数(NumSbcsChars)。
0x0c-0x0f为BOOTFONT.BIN支持的双字节字符个数(NumDbcsChars)。
0x10-0x13为单字节字符点阵在文件中的偏移(SbcsOffset)。
0x14-0x17为双字节字符点阵在文件中的偏移(DbcsOffset)。
0x18-0x1b为所有单字节字符点阵数据的总长度(SbcsEntriesTotalSize)。
0x1c-0x1f为所有双字节字符点阵数据的总长度(DbcsEntriesTotalSize)。
0x20-0x2b为一个数组,存放了DBCS的前导字节范围,最后以"