xks1678
发表于 2016-3-5 09:13:37
支持一大子
fuldho
发表于 2016-3-5 09:14:54
本帖最后由 fuldho 于 2016-3-5 10:08 编辑
2字节字体与4字节不等高处理,菜单中中混排会很难看。
4.0非等高效果预览
等高效果预览
2012huguoliang
发表于 2016-3-5 09:22:12
更新很频繁啦
sh-fluke
发表于 2016-3-5 09:47:59
感谢你的分享。
wlue
发表于 2016-3-5 09:49:38
谢谢提供!
2011yaya2007777
发表于 2016-3-5 09:57:09
GRLDR 中提示信息 "用 ↑ 和 ↓ 键选择菜单。" 是中文,是 UTF-8 格式编码。
从菜单中提取汉字,可能是 UTF-8 格式编码。也可能是 ANSI 格式编码。
如果不放心的话,可以在中文模式下,自己打字输入,反正也没有几个字。
2010xyy0451
发表于 2016-3-5 10:01:38
OKOONM<<<<<<<<<<NUU
2011yaya2007777
发表于 2016-3-5 10:06:20
GRLDR中ASCII双字节字体是不是只能支持16位 (0xff0xff)
ASCII字体通常是汉字的一半宽。如字体是24*24,那么半角ASCII字体是12*24.汉字全角ASCII字体是24*24.
plusv
发表于 2016-3-5 10:14:34
好工具
fuldho
发表于 2016-3-5 10:14:51
2011yaya2007777 发表于 2016-3-5 10:06
ASCII字体通常是汉字的一半宽。如字体是24*24,那么半角ASCII字体是12*24.汉字全角ASCII字体是24*24.
宋体,新宋体等采用 ASCII字体为汉字的一半宽
但很多艺术字体(包括'微软雅黑')都使用了汉字等宽模式
haijie1223
发表于 2016-3-5 10:17:35
fuldho 发表于 2016-3-5 09:14
2字节字体与4字节不等高处理,菜单中中混排会很难看。
4.0非等高效果预览
我发给你的ttf转点阵的代码中有个结构,你看我后来发给你那个网页,有介绍那个结构的,里面包含坐标信息。根据那个坐标平移即可。至于微软雅黑,微软标宋等字体的点阵信息位宽超过相应大小字体的grub4dos的hex字体的宽度,所以有些字符没法显示,可以适当减小英文字符的字号解决这个问题。
haijie1223
发表于 2016-3-5 10:21:54
fuldho 发表于 2016-3-5 10:14
宋体,新宋体等采用 ASCII字体为汉字的一半宽
但很多艺术字体(包括'微软雅黑')都使用了汉字等宽模式
微软雅黑,微软标宋的英文字符有些超宽,不符合grldr的hex显示机理,减小字号处理吧。
erui2015
发表于 2016-3-5 10:22:23
谢谢楼主分享
Loongtze
发表于 2016-3-5 10:22:36
谢谢更新。
haijie1223
发表于 2016-3-5 10:36:01
2011yaya2007777 发表于 2016-3-5 10:06
ASCII字体通常是汉字的一半宽。如字体是24*24,那么半角ASCII字体是12*24.汉字全角ASCII字体是24*24.
点阵信息用全角矩阵存贮半角字符,grldr不显示。
2011yaya2007777
发表于 2016-3-5 10:36:17
这一版本经测试,很好!
fcurrk
发表于 2016-3-5 10:38:44
更新的很快的。
2012cdm999
发表于 2016-3-5 10:42:16
实用,要收藏!
fuldho
发表于 2016-3-5 10:43:41
haijie1223 发表于 2016-3-5 10:17
我发给你的ttf转点阵的代码中有个结构,你看我后来发给你那个网页,有介绍那个结构的,里面包含坐标信息 ...
减少字号必须填充 (0x00)增加高度,其效果如我的贴图,变成了非等高,已经失去了原字形。
fuldho
发表于 2016-3-5 10:47:45
2011yaya2007777 发表于 2016-3-5 10:36
这一版本经测试,很好!
并不是版本问题,现有字模已经不再遵循ASCII字体为汉字的一半宽规则。
haijie1223
发表于 2016-3-5 10:49:12
fuldho 发表于 2016-3-5 10:43
减少字号必须填充 (0x00)增加高度,其效果如我的贴图,变成了非等高,已经失去了原字形。
你说的不等高是什么意思?英文比中文小是不是?对于特殊字符只能这么处理了,其实还可以增加一个检测字体宽度的函数,昨晚本来想添加进去的,后来又放弃了。累了,不想搞了。
mwhyli
发表于 2016-3-5 10:52:34
ddsony
发表于 2016-3-5 10:53:56
再更新一下。
haijie1223
发表于 2016-3-5 10:55:10
fuldho 发表于 2016-3-5 10:47
并不是版本问题,现有字模已经不再遵循ASCII字体为汉字的一半宽规则。
这几款字体都出自微软,矢量转点阵函数也出自微软,他肯定不会考虑到适应grub的情况,只能曲线处理。
2011yaya2007777
发表于 2016-3-5 10:55:15
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显示艺术字体。它的编码就不是0x41了。
我不清楚艺术字体(包括'微软雅黑'),它的“A”使用了汉字等宽模式?意思是它是全角,那编码是0x41?还是其他?
haijie1223
发表于 2016-3-5 10:58:41
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...
没有和汉字一样,只是点阵信息的宽度比其它字体的宽度要宽一些,但是没有和汉字那么宽。有点特殊,比半角要宽点,比全角要窄一点,所以既不能按照全角处理,又不能按照半角处理,我最终的处理办法是把英文字符减小些字号。其实可以添加个函数提前检测一下字体是否属于这种特殊字体。
haijie1223
发表于 2016-3-5 10:58:42
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...
没有和汉字一样,只是点阵信息的宽度比其它字体的宽度要宽一些,但是没有和汉字那么宽。有点特殊,比半角要宽点,比全角要窄一点,所以既不能按照全角处理,又不能按照半角处理,我最终的处理办法是把英文字符减小些字号。其实可以添加个函数提前检测一下字体是否属于这种特殊字体。
123help
发表于 2016-3-5 10:59:56
辛苦了。
haijie1223
发表于 2016-3-5 11:01:12
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...
微软肯定是不会改变了,不知道grub是否能够更新一下,能够兼顾到这种特殊字体,超过半角的直接按全角处理得了。
caoshilian
发表于 2016-3-5 11:02:10
感谢你的分享。
页:
1
[2]
3
4
5
6
7
8
9
10
11