无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5208|回复: 24
打印 上一主题 下一主题

WinXP Bootfont.bin 查看器

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-19 18:05:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
================================
   WinXP Bootfont.bin 查看器
================================
这是thriller写的WinXP Bootfont.bin 查看器。
http://tyche.cn
综合了几篇相关文章。
可以打开和显示各种版本的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 德语版
供参考。
Enjoy!!!

下载地址:
http://www.tyche.cn/mydoc/bootfont.rar

部分源代码:
  1. Public Type tBootfontHeader
  2.      Sign As Long
  3.     '| #define BOOTFONTBIN_SIGNATURE 0x5465644d |
  4.     ' +------------------------------------------+
  5.      '0x5465644d即为"TedM",Windows最开始的本地化版本是日文版,因此由日本的开发人员做了最初的本地化工作,可以从ntos\boot\bootfont\readme.txt中看出来:
  6.      '0x04-'0x07为语言代码,对于中文则为'0x804。
  7.      LangID As Long
  8.      '0x08-'0x0b为BOOTFONT.BIN支持的单字节字符个数(NumSbcsChars)。
  9.      NumSbcs As Long
  10.      '0x0c-'0x0f为BOOTFONT.BIN支持的双字节字符个数(NumDbcsChars)。
  11.      NumDbcs As Long
  12.      '0x10-'0x13为单字节字符点阵在文件中的偏移(SbcsOffset)。
  13.      NumOffSbcs As Long
  14.      '0x14-'0x17为双字节字符点阵在文件中的偏移(DbcsOffset)。
  15.      NumOffDbcs As Long
  16.      '0x18-'0x1b为所有单字节字符点阵数据的总长度(SbcsEntriesTotalSize)。
  17.      LSbcs As Long
  18.      '0x1c-'0x1f为所有双字节字符点阵数据的总长度(DbcsEntriesTotalSize)。
  19.      LDbcs As Long
  20.      '0x20-'0x2b为一个数组,存放了DBCS的前导字节范围,最后以"\0\0"结尾,MAX_DBCS_RANGE的值当前为5(DbcsLeadTable[(MAX_DBCS_RANGE+1)*2])。
  21.      abDbcsLeadTable(11) As Byte
  22.      '0x2c表示字符的高度(CharacterImageHeight)。
  23.      bHeight As Byte
  24.      '0x2d表示字符的TopPad(CharacterTopPad)。
  25.      bTopPad As Byte
  26.      '0x2e表示字符的BottomPad(CharacterBottomPad)。
  27.      bBottomPad As Byte
  28.      '0x2f表示单字节字符的宽度(CharacterImageSbcsWidth)。
  29.      bWidthSbcs As Byte
  30.      '0x30表示双字节字符的宽度(CharacterImageDbcsWidth)。
  31.      bWidthDbcs As Byte
  32.      '以上为BOOTFONT.BIN的头部,一般来说,接下来就是单字节字符的点阵了。
  33.      '根据头部SbcsOffset的值,找到点阵的开始位置。每一个单字节 字符需要19个字节,
  34.      '第一个字节为ASCII码,之后的16个字节即是点阵数据(根据字符的大小8x16,16个字节正好放下),
  35.      '最后两个字节为该字符的 Unicode(小端)编码;
  36.      '对于双字节字符点阵,每个字符需要36个字节,头两个字节为GB2312编码,之后32个字节为点阵数据,
  37.      '最后两个字节为该 字符的Unicode(小端)编码。
  38. End Type
  39. Type tSBCS
  40.     '第一个字节为ASCII码
  41.     bAscII As Byte
  42.     '16个字节即是点阵数据
  43.     abDATA(15) As Byte
  44.     '最后两个字节为该字符的 Unicode(小端)编码
  45.     iUnicode As Integer
  46. End Type
  47. Type tDBCS
  48.     '头两个字节为GB2312编码
  49.     bDBCSCode As Integer
  50.     '32个字节即是点阵数据
  51.     abDATA(31) As Byte
  52.     '最后两个字节为该字符的 Unicode(小端)编码
  53.     iUnicode As Integer
  54. End Type
复制代码
参考文章:
1、NT LE*KED S*URCE;
2、《关于建立grub4dos国际化版本的猜想》
http://bbs.znpc.net/viewthread.php?tid=2598
BOOTFONT.BIN
2008-09-19 13:37
XP系统几个重要的文件
2007/03/28 10:41 A.M.
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最开始的本地化版本是日文版,因此由日本的开发人员做了最初的本地化工作,可以从ntos\boot\bootfont\readme.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的前导字节范围,最后以"\0\0"结尾,MAX_DBCS_RANGE的值当前为5(DbcsLeadTable[(MAX_DBCS_RANGE+1)*2])。
     0x2c表示字符的高度(CharacterImageHeight)。
     0x2d表示字符的TopPad(CharacterTopPad)。
     0x2e表示字符的BottomPad(CharacterBottomPad)。
     0x2f表示单字节字符的宽度(CharacterImageSbcsWidth)。
     0x30表示双字节字符的宽度(CharacterImageDbcsWidth)。
     以上为BOOTFONT.BIN的头部,一般来说,接下来就是单字节字符的点阵了。根据头部SbcsOffset的值,找到点阵的开始位置。每一个单字节 字符需要19个字节,第一个字节为ASCII码,之后的16个字节即是点阵数据(根据字符的大小8x16,16个字节正好放下),最后两个字节为该字符的 Unicode(小端)编码;对于双字节字符点阵,每个字符需要36个字节,头两个字节为GB2312编码,之后32个字节为点阵数据,最后两个字节为该 字符的Unicode(小端)编码。

http://www.tyche.cn/mydoc/bootfont.rar
2#
发表于 2009-7-19 18:21:37 | 只看该作者
嗯,看是能看到其中的字,但要是能改其中的字就好了,只能看也不知有什么用。
回复

使用道具 举报

3#
 楼主| 发表于 2009-7-19 18:30:28 | 只看该作者
原帖由 lrbin50 于 2009-7-19 18:21 发表
嗯,看是能看到其中的字,但要是能改其中的字就好了,只能看也不知有什么用。


嗯嗯,为什么要修改呢?这是微软的原版,估计没什么值得改的,呵呵。
参考源码,修改是很EASY的事情,能看,当然能改。
回复

使用道具 举报

4#
 楼主| 发表于 2009-7-19 18:35:41 | 只看该作者
这毕竟是第一个能查看各种BOOTFONT.BIN的自由软件,作为本软件来讲,功能够用了。
能够修改的不会叫作“查看器”了,对不对?
回复

使用道具 举报

5#
发表于 2009-7-19 20:30:29 | 只看该作者
看不出这东西有什么用,能说说吗?谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2009-7-19 21:14:16 | 只看该作者
原帖由 kzr588 于 2009-7-19 20:30 发表
看不出这东西有什么用,能说说吗?谢谢


表面上这是一部电话,其实它是一部剃须刀。

呵呵,的确是显摆,没啥用的。
不过内附的7个BOOTFONT.BIN可以用于GRUB4DOS或其他启动软件的国际化支持。
很难找全的。

我写这东西的目的,一个是实现bootfont.bin的跨系统显示,支持DOS,LINUX,WIN32,一个是为了实现多语言支持,另外就是提供给大家一个BASIC实现方法,证明BASIC还有用。
而且,可以应用在我写的GRUB4DOS前端中,写着玩的。
呵呵。
回复

使用道具 举报

7#
发表于 2009-7-20 10:57:09 | 只看该作者
好像很有用,但是懂,收藏!
回复

使用道具 举报

8#
发表于 2009-7-20 11:35:55 | 只看该作者
可惜楼主显摆错了地方,连时空论坛的形式D讨论区都发了。我也觉得不能修改,查看没什么用……
回复

使用道具 举报

9#
 楼主| 发表于 2009-7-20 16:50:01 | 只看该作者
呵呵呵呵呵呵

[ 本帖最后由 thriller 于 2009-7-21 08:46 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2009-7-25 23:10:05 | 只看该作者
原帖由 xianglang 于 2009-7-20 11:35 发表
可惜楼主显摆错了地方,连时空论坛的形式D讨论区都发了。我也觉得不能修改,查看没什么用……

呵呵,我能说啥呢?你的ID号是112916,我的是2599,你需要学的东西太多了,呵呵、
你很牛逼啊,从无忧追到ZNPC,很有心呶

[ 本帖最后由 thriller 于 2009-7-25 23:49 编辑 ]
回复

使用道具 举报

11#
发表于 2009-7-26 00:22:47 | 只看该作者
太可怜了,这么高深技术的东西无人喝彩,我就再给你顶了一下吧。

你的ID号是112916,我的是2599,真牛!按此逻辑,我上校,你是上士,见到我还不快敬礼,站一边去,不笑死我都不行,哈哈……
回复

使用道具 举报

12#
发表于 2009-7-26 00:24:58 | 只看该作者
原帖由 thriller 于 2009-7-25 23:10 发表

呵呵,我能说啥呢?你的ID号是112916,我的是2599,你需要学的东西太多了,呵呵、
你很牛逼啊,从无忧追到ZNPC,很有心呶


我追你?你太抬举你自己了。时空和无忧,是我每天都来的两个个论坛,你要不到处发,我也懒得理你。只许楼主显摆,不准我显摆,很美国哦……
回复

使用道具 举报

13#
 楼主| 发表于 2009-7-26 15:49:52 | 只看该作者
呵呵,你还真是精彩哟
回复

使用道具 举报

14#
 楼主| 发表于 2009-7-26 15:51:51 | 只看该作者
如果你对我写BOOTFONT.BIN有意见,我还有很多其他的东西呢,呵呵。
我说的是追杀,不是追求,我说的是兄台,不是兄弟,你要不是真傻,就是个间谍
回复

使用道具 举报

15#
 楼主| 发表于 2009-7-26 15:54:19 | 只看该作者
112916,我的是2599,意思就是说,我比你注册的早一点点,我是个程序员,我懂的你不一定明白,所以我本来也无所谓有没有关注,呵呵,我自己知道它有用就行了,呵呵。
其实我说的很多话都没有恶意,只不过你多想了,你非常无知和无聊,而且自命不凡。
我是自由软件作者,如果我的软件你觉得没用,尽管路过,你凭啥指手画脚呢?如果你需要修改功能,我把源代码都放在G4D论坛了,请自便。
我真不知道怎么得罪你的,你是版主吗?这论坛是你开的吗?

原帖由 xianglang 于 2009-7-26 00:24 发表

我追你?你太抬举你自己了。时空和无忧,是我每天都来的两个个论坛,你要不到处发,我也懒得理你。只许楼主显摆,不准我显摆,很美国哦……


这两个论坛我注册都比你早的多,如果我不是觉得这个东东对GRUB4DOS和启动盘有用,我才不会拿出来显摆呢,呵呵。
你显摆的啥呀?骂人的功夫吗?

[ 本帖最后由 thriller 于 2009-7-26 16:30 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2009-7-26 21:36:14 | 只看该作者
OK, 我的新工具也做好了,但我懒得再发了,反正怎么着都会有人骂,难得糊涂、
无忧和时空,我也关注了6年多了,不会放弃的。
愿大家开心。
回复

使用道具 举报

17#
发表于 2009-7-26 23:16:23 | 只看该作者
怎么又来口水仗了?这年头························
回复

使用道具 举报

18#
发表于 2009-7-26 23:30:03 | 只看该作者
原帖由 thriller 于 2009-7-26 15:54 发表
112916,我的是2599,意思就是说,我比你注册的早一点点,我是个程序员,我懂的你不一定明白,所以我本来也无所谓有没有关注,呵呵,我自己知道它有用就行了,呵呵。
其实我说的很多话都没有恶意,只不过你多想 ...


好笑了,我说你的东西不好,版主禁止了不让我说吗?很美国,很岳不群啊,哈哈……
回复

使用道具 举报

19#
发表于 2009-7-26 23:32:05 | 只看该作者
原帖由 七仙花 于 2009-7-26 23:16 发表
怎么又来口水仗了?这年头························


有什么办法呢,这看着就有只准人家说他好的,不准人家说他的东西没用的。人家说他的东西无用,他就说人家是傻子,以为自己多了不起呢!
回复

使用道具 举报

20#
 楼主| 发表于 2009-7-27 06:11:05 | 只看该作者
唉,对你来说没用,并不代表对别人没用,对吧?
我也不认为这是什么口水仗,而是侮辱。
我起码没到你的帖子去骂对吧。
看你这么有心,半夜出来骂人,我也相当的无语了。
但是我还是要说一句,就是一块狗屎,它也是细菌的食物,是有用的,更何况有人费了许多心血、精力去写的软件,呵呵。
你说无用就无用了?你以为你是谁啊?
把有用的东西认为没用而且大放厥词,这本身就是愚蠢的表现。而且你的帖子发在无忧,我到时空说了几句玩笑话,你就一直追骂,这是一个聪明人会做的吗?
你已经承认自己对编程不感冒,一个对编程不感冒的人,可以真正能维护计算机?你以为计算机是电视机?自己只拉不吃,无视别人的汗水和心血,我一口一个兄台,你说我没资格,我还能说什么呢?
总而言之,我们本身也是为了研究技术,没有个人恩怨。
讨论技术可以语气强烈,但不应该人身攻击。
如果你觉的我说傻子受了侮辱,我道歉。
但其实我真的是在开玩笑,你不要误会。
我们这儿自己足球俱乐部的朋友们都互相尊称傻子,呵呵。
回复

使用道具 举报

21#
 楼主| 发表于 2009-7-27 06:23:51 | 只看该作者
顺便再显摆一下,呵呵
1、我写了一个软件,可以使用OEM自动生成8种语言的微型WINPE,利用的是WindowsXP-KB835935-SP2-xxx.exe,这个你就更不懂了,呵呵。而且还有OPK方面的代码。涉及到解压、注册表编辑和文件搜索,如果你不懂编程,根本对你也是无用,呵呵。
2、我写了一个软件,可以使用VBSP6生成9种语言的精简版VB6,附带精简版的MSDN for vb,如果你不懂编程,根本对你也是无用,呵呵。
3、我写了一个软件,可以学习30种语言,总共只有50MB,包括你常说的粤语,是自由软件,如果你不懂编程,根本对你也是无用,呵呵。
4、我写了一个软件,可以操作MUGEN游戏人物动画包,如果你不懂编程,根本对你也是无用,呵呵。
5、我还写了很多很多,但是也没必要再说,否则,又要有人来骂了,呵呵。
回复

使用道具 举报

22#
发表于 2009-7-27 11:15:02 | 只看该作者
果然强大的无话可说了,支持你楼主,我也是自由作者(很垃圾的那种)

在论他发点原创,经常被指指点点,还说我缺少坚持,占位编辑,还当恶意灌水,一阵狂扣啊

[ 本帖最后由 wxt51 于 2009-7-27 11:19 编辑 ]
回复

使用道具 举报

23#
发表于 2009-7-27 12:01:23 | 只看该作者
你自己喜欢,就不能让人家不喜欢?你不让人家批评,就窝在家里不要出来;既然出来了,就应该有被批评的准备。人家一批评你,你就侮辱人家,就象石头在时空的回复一样……

不懂编程就不懂维护?可笑加无知了,这世界上电脑、网络维护的时候,有多少时候用到编程了?难道画家要会造纸、做笔和颜料?还有你吃饭,也得会自己种粮、发电、挖金属、造炊具……

自己喜欢的,就一定要别人喜欢,真的很美国,可惜你没有美国的能力。既然你有那么多作品,怎么不见在网上出现呢?怎么那么少人知道和宣传呢?这足以证明:你的东西对一般电脑用户甚至是绝大部分电脑用户没用!

我对编程不感冒,对于BASIC也只能在屏幕上打出些字而已。稍为用得多的也只是FOXBASE也丢下近十年不用了,简单的使用也得找本命令说明的书来查才行。做出的东西也丑陋,但是还算实用,减少了相关人员的工作量,DOS时代的工资管理系统、某行业的一个统计系统,也算得上是在地区的系统内推广使用;一个县的行政事业单位工资统发的数据中间转换程序,也曾使用了好几年……

再和你争论下去也什么意思了,最后还是再假洋鬼子一下(我相信用电脑的,没有不假洋鬼子,没有不用OK的):

THE END!

[ 本帖最后由 xianglang 于 2009-7-27 12:17 编辑 ]
回复

使用道具 举报

24#
 楼主| 发表于 2009-7-27 12:49:34 | 只看该作者
我见过邪驴,但驴也不是很邪的,呵呵。
"你的东西对一般电脑用户甚至是绝大部分电脑用户没用!"
你以为无忧的都是你一样的一般电脑用户吗?
当然也对绝大部分电脑用户没用!技术性的东西,对绝大多数人都有用,对我来说就没用,呵呵。
我就喜欢搞别人没搞过的,这样才过瘾。
人人都像你一样喜欢别人用剩的,那社会该多和谐啊?
我的这几个软件,很多是灰色工具,不是那么可以让人随便用的,再说,对你来说更没用,我为什么要做违法的事情呢?
楼上说的几个理由,在我看来非常愚蠢。
我告诉你,对编程不感冒就没资格谈维护计算机。
你那种不用编程的“维护”,也不过就是“使用”而已!
做画家是必须会做颜料和CANVAS的,如果你不学种粮,以后来了战争难免饿死。
听你做管理系统,估计你肯定是事业单位铁饭碗的,我跟你没共同语言,请闭嘴。
做管理系统也叫编程,呵呵。
the 不 the end,不是你说了算。
我前面已经为说人傻子道歉了,白白!

[ 本帖最后由 thriller 于 2009-7-27 12:51 编辑 ]
回复

使用道具 举报

25#
发表于 2010-3-20 11:07:30 | 只看该作者
为什么Bootfont.bin在原版的WinPE能显示中文,但放在另一个WinPE内,便不能显示中文了,
真不明白,请高手指点,先谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-26 23:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表