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
查看完整版本: GRLDR内置菜单编辑工具V4.0(2016.3.4更新)-支持任何字体中文字库的生成