重度强迫症的一个小小发现: G4D 中 ,菜单中的 ASCII 码字符显示有些细微的变化
本帖最后由 blank007 于 2023-6-18 19:13 编辑重度强迫症的一个小小发现: G4D 中 ,菜单中的 ASCII 码字符显示有些细微的变化
G4D 2022-11-28 可以使用中文字库中的字体显示 ASCII 码字符,从之后的某个版本开始,似乎是强制使用 BIOS 中的字体来显示 ASCII 码字符。有什么办法能让它使用中文字库中的字体来显示 ASCII 码吗?
有请各位大神开示!
是不是要问问丫丫{:1_186:} 因为好多人自己制作的字库不包含ASCII 码字符。 yaya 说清楚了。我再来补充一下(其实是解释一下而已,因为担心有人不太明白,所以解释一下)。
BIOS 中存在英文字体,却没有中文字体。这是为什么呢?大家都懂。计算机是谁发明的?(西方发明的)。中文要占用多大空间?(很大空间,不能放进当时非常狭小的 ROM 里面。)
grub4dos 的外置字库,可以包含各国(各地区)语言,也可以包含 ASCII 字符。
如果外置字库里面包含了 ASCII 的点阵,就会启用它。如果外置字库里面没有 ASCII 字符的点阵,那就使用 ROM 里面的点阵。
楼主所说的问题,如果真的存在,那么,我理解为,新版可能存在 bug 了。 不点 发表于 2023-6-19 12:34
yaya 说清楚了。我再来补充一下(其实是解释一下而已,因为担心有人不太明白,所以解释一下)。
BIOS 中 ...
用这个字库就可以看出来了
G4D 2022-11-28 中使用这个字库,ASCII字符显示明显单薄。G4D 2023-06-15 中使用,会发现 ASCII 字符明显饱满,显然就是 BIOS中的字体和字形。 是不是错觉
解压gb2312.gz,编辑 hex字体
上面 是 g4d2023-6-15 在虚拟机中,有可能实体机中 不一样。 本帖最后由 不点 于 2023-6-19 15:30 编辑
blank007 发表于 2023-6-19 13:22
用这个字库就可以看出来了
G4D 2022-11-28 中使用这个字库,ASCII字符显示明显单薄。G4D 2023-06-15 ...
我看了你的字库中的 0~7F (即通常所说的 ASCII)的点阵格式,是正常的。
0~7F 称为 ASCII。ASCII 的地位很特殊。在 grub4dos 的字库处理中,ASCII 字符都按照 8*16 的点阵(窄字符)来处理,不允许 ASCII 字符采用 16*16 的宽字符格式。这是因为,一旦 ASCII 采用宽字符来显示,整个显示就乱套了。字库中的 ASCII 字符的点阵,如果是宽字符格式(16*16),这一行将被忽略,而会用 ROM 里面的 8*16 点阵(这是 ASCII 字符的默认点阵)来取代。除了 ASCII 之外,其他字符都可以采用 16*16 的宽字符格式,当然也可以采用 8*16 的窄字符格式。也就是说,只有 ASCII 字符被限定为 8*16 点阵,而其余字符都是既可采用 8*16 点阵, 也可采用 16*16 点阵,不作任何限制。
既然你看到了 2022-11-28 与 2023-06-15 的显示不同,那就说明是有问题了。
要么是 2022-11-28 有 bug,要么是 2023-06-15 有 bug。
你可以胡乱修改一个字符,看看是谁的 bug。
比如说,你修改 空格 的点阵,看看你修改后的空格是否有更新。
空格是这行:
0020:00000000000000000000000000000000
你把它修改成这样(其实就是胡乱修改一下罢了,点阵数据都是十六进制):
0020:77777777777777777777777777777777
注意这一行的长度可不能变啊,原来是多少个字符,修改后也应该是多少个字符。
修改后,用旧版 grub4dos 和新版 grub4dos 分别测试,看看你新修改的这个空格字符的点阵是否被采用。
这样,很快就可以确定究竟是哪个版本有 bug 了。 本帖最后由 dfw9 于 2023-6-19 16:16 编辑
变化是有点,避开或重新设计字体应用即可。就如同xp及win7之间的变化,适应即可,无大碍。我开始去适应新版了。 小白一枚,借宝地求教个问题:几年前我学习细细哥的U盘启动VHD的帖子,随便找个成品PE,再借助FbinstTool就可以看到存在的UD分区,随便编辑菜单文件,现在新版的PE,为什么隐藏分区全都无法查看了?是需要什么新的软件工具才行吗? 本帖最后由 blank007 于 2023-6-20 18:06 编辑
不点 发表于 2023-6-19 15:06
我看了你的字库中的 0~7F (即通常所说的 ASCII)的点阵格式,是正常的。
按照大侠的设计做了测试,发现:自 G4D 2023-03-01 版本开始,ASCII 字符的显示就开始使用 BIOS 内置字体了
图 001:空格被改后,G4D 2022-11-28 、2023-02-28 版的显示:字库读取显然正常
图 003:空格被改后,G4D 2023-03-01 、2023-06-15 版的显示:ASCII 字符显然是 BIOS 字库
图 002:G4D 2023-03-01 版更新信息
blank007 发表于 2023-6-20 18:01
按照大侠的设计做了测试,发现:自 G4D 2023-03-01 版本开始,ASCII 字符的显示就开始使用 BIOS 内置字体 ...
报告得很详细,能用虚拟机重现 bug,
说明与硬件无关,是在任何电脑都
必定出现的 bug。
还报告了出现 bug 的日期,我想,
这对开发者排错来说是很有帮助的。 本帖最后由 2011yaya2007777 于 2023-6-22 10:04 编辑
再说详细一点,有人反馈执行 SISO 后有中文字符而没有 ASCII 字符,因此 2023-03-01 做了修改。
现在优先使用用户加载的16*16字库。
2011yaya2007777 发表于 2023-6-22 07:24
再说详细一点,有人反馈执行 SISO 后有中文字符而没有 ASCII 字符,因此 2023-03-01 做了修改。
现在优先 ...
多谢大侠
试了一下,确实是加载用户字库了
页:
[1]