无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: haijie1223
打印 上一主题 下一主题

[原创] GRLDR内置菜单编辑工具V4.0(2016.3.4更新)-支持任何字体中文字库的生成

    [复制链接]
跳转到指定楼层
1#
发表于 2016-3-4 21:30:02 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 haijie1223 于 2016-3-4 21:35 编辑

多谢2011yaya2007777的测试,再次更新一下。身体不太好,不打算再继续更新了。

更新内容:
1、大于16*16的字库,增加   !"#$%&()*+-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]abcdefghijklmnopqrstuvwxyz{|}~' 这些ASCII字符的支持。
2、重新设置字体对齐方式,修正部分字体对齐方式错误的bug。

3、其中提示信息中的↓↑没搞明白是什么哪个字符,应该是英文的箭头字符,没找到这个字符,所以没添加进去。


程序说明:
  1. 1、根据选择系统安装的字体自动生成HEX字体库。
  2. 2、hex字库的生成是根据内置及外置菜单中的文字个数自动检测生成,不会将整个中文库都添加进去,减少内置字库对grldr体积的增加。
  3. 3、支持外置menu.lst菜单文中的中文字体支持。
  4. 4、点击"制作字库"将生成hex字库,根据此功能可生成外置字库。
  5. 5、字库支持16*16,24*24,32*32,40*40四种尺寸,字库生成时,支持粗体,斜体,粗斜体。为了兼顾ASCII码,英文字符的尺寸适当减小。
  6. 6、使用本工具保存过的grldr文件,将会保存内置菜单和字库信息,用本工具编辑时,可直接读取内置菜单和内置字库的信息。
  7. 7、本程序只有1.12M,支持快捷键操作,更多功能请在使用过程中自行摸索,有问题欢迎跟贴反馈。
复制代码

界面预览:




文件信息:
  1. 文件:D:\GRLDR编辑\grldr编辑V4.0\GRLDR编辑器V4.0.exe
  2. 大小:1212816 字节
  3. 文件版本: 4.0.0.0
  4. 修改时间: 2016年03月04日,21:14:49
  5. MD5: 9BC69A1ED7FE72C789B8E20FD93F3201
  6. SHA1: 78E744BA82A9A77557676F7D0CE1D8608C97F840
  7. CRC32: 1225BC31
复制代码

下载地址:
游客,如果您要查看本帖隐藏内容请回复

历史更新:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=374933

评分

参与人数 10无忧币 +50 收起 理由
wuxin9712 + 5
蓝星明月 + 5 很给力!
2011_yycn + 5 很给力!
2011cwj6958 + 5
2010auID + 5 很给力!
xingyongfa + 5 赞一个!
helloman + 5 赞一个!
2011yaya2007777 + 5 赞一个!
freesoft00 + 5
826773297 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2016-3-4 21:52:50 | 显示全部楼层
weibin6199 发表于 2016-3-4 21:46
楼主,不用每次更新就开新贴吧~~

多谢提醒,以后不会了。
编辑旧帖排版很麻烦,我这眼老昏花的,开个新帖省事点。
回复

使用道具 举报

3#
 楼主| 发表于 2016-3-4 22:39:04 | 显示全部楼层
2011yaya2007777 发表于 2016-3-4 22:10
↓↑→←在中文字库里有。还应当有空格‘ ’。

提示信息中的剪箭头应该是英文字符。把启动项标题设置为中文箭头能显示,但是提示中的不显示。
回复

使用道具 举报

4#
 楼主| 发表于 2016-3-5 10:17:35 | 显示全部楼层
fuldho 发表于 2016-3-5 09:14
2字节字体与4字节不等高处理,菜单中中混排会很难看。

4.0非等高效果预览

我发给你的ttf转点阵的代码中有个结构,你看我后来发给你那个网页,有介绍那个结构的,里面包含坐标信息。根据那个坐标平移即可。至于微软雅黑,微软标宋等字体的点阵信息位宽超过相应大小字体的grub4dos的hex字体的宽度,所以有些字符没法显示,可以适当减小英文字符的字号解决这个问题。

点评

减少字号必须填充 (0x00)增加高度,其效果如我的贴图,变成了非等高,已经失去了原字形。  详情 回复 发表于 2016-3-5 10:43
回复

使用道具 举报

5#
 楼主| 发表于 2016-3-5 10:21:54 | 显示全部楼层
fuldho 发表于 2016-3-5 10:14
宋体,新宋体等采用 ASCII字体为汉字的一半宽
但很多艺术字体(包括'微软雅黑')都使用了汉字等宽模式

微软雅黑,微软标宋的英文字符有些超宽,不符合grldr的hex显示机理,减小字号处理吧。
回复

使用道具 举报

6#
 楼主| 发表于 2016-3-5 10:36:01 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 10:06
ASCII字体通常是汉字的一半宽。如字体是24*24,那么半角ASCII字体是12*24.汉字全角ASCII字体是24*24.

点阵信息用全角矩阵存贮半角字符,grldr不显示。
回复

使用道具 举报

7#
 楼主| 发表于 2016-3-5 10:49:12 | 显示全部楼层
fuldho 发表于 2016-3-5 10:43
减少字号必须填充 (0x00)增加高度,其效果如我的贴图,变成了非等高,已经失去了原字形。

你说的不等高是什么意思?英文比中文小是不是?对于特殊字符只能这么处理了,其实还可以增加一个检测字体宽度的函数,昨晚本来想添加进去的,后来又放弃了。累了,不想搞了。
回复

使用道具 举报

8#
 楼主| 发表于 2016-3-5 10:55:10 | 显示全部楼层
fuldho 发表于 2016-3-5 10:47
并不是版本问题,现有字模已经不再遵循ASCII字体为汉字的一半宽规则。

这几款字体都出自微软,矢量转点阵函数也出自微软,他肯定不会考虑到适应grub的情况,只能曲线处理。
回复

使用道具 举报

9#
 楼主| 发表于 2016-3-5 10:58:41 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...

没有和汉字一样,只是点阵信息的宽度比其它字体的宽度要宽一些,但是没有和汉字那么宽。有点特殊,比半角要宽点,比全角要窄一点,所以既不能按照全角处理,又不能按照半角处理,我最终的处理办法是把英文字符减小些字号。其实可以添加个函数提前检测一下字体是否属于这种特殊字体。
回复

使用道具 举报

10#
 楼主| 发表于 2016-3-5 10:58:42 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...

没有和汉字一样,只是点阵信息的宽度比其它字体的宽度要宽一些,但是没有和汉字那么宽。有点特殊,比半角要宽点,比全角要窄一点,所以既不能按照全角处理,又不能按照半角处理,我最终的处理办法是把英文字符减小些字号。其实可以添加个函数提前检测一下字体是否属于这种特殊字体。
回复

使用道具 举报

11#
 楼主| 发表于 2016-3-5 11:01:12 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 10:55
"A"字符,存储为ASCII字体0x41,那只能是半角,一半宽。
"A"字符,存储为中文全角字体,那就是全宽。可以显 ...

微软肯定是不会改变了,不知道grub是否能够更新一下,能够兼顾到这种特殊字体,超过半角的直接按全角处理得了。
回复

使用道具 举报

12#
 楼主| 发表于 2016-3-5 11:05:57 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 11:02
明白了。显示半角,丢了字符信息,显示全角,英文字符间距太大。

使用半角,丢失部分字符信息,不是所有字符都超宽。使用全角,直接不能显示,grub不认。
回复

使用道具 举报

13#
 楼主| 发表于 2016-3-5 11:06:30 | 显示全部楼层
dafs 发表于 2016-3-5 11:05
又更新啦 太敬业了  
顺便请教一下  菜单行距是哪个参数 我用了多个工具都没改成功 gfxboot.cfg里不知道是 ...

请教yaya,这个我不懂

点评

谢谢 多保重  详情 回复 发表于 2016-3-5 11:50
回复

使用道具 举报

14#
 楼主| 发表于 2016-3-5 11:20:25 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 11:12
如果有需要,可以修改。

嗯~如果有需要,我可以专门做个工具,专门检测字体字符信息的。
回复

使用道具 举报

15#
 楼主| 发表于 2016-3-5 11:46:13 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 11:44
明白了。英文字符仍然使用0x41,...,0x61,...编码。
中文半角 A
中文全角 A

如果把英文全搞成全角显示的话,就不会出现上面讨论的问题了。
回复

使用道具 举报

16#
 楼主| 发表于 2016-3-5 11:46:14 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 11:44
明白了。英文字符仍然使用0x41,...,0x61,...编码。
中文半角 A
中文全角 A

如果把英文全搞成全角显示的话,就不会出现上面讨论的问题了。
回复

使用道具 举报

17#
 楼主| 发表于 2016-3-5 14:24:55 | 显示全部楼层
fuldho 发表于 2016-3-5 12:57
点阵字模依点数描述一个字形 ,如:24x24,横向24点x纵向24点,16进制记录24点需要6位,

即:0xff 0 ...

就算全显示出来在grldr也不能全部显示,和点阵字体的宽度没有关系,主要是看框架点阵字体的矩形有没有被显示出来。这个主要就要grldr修正了,微软肯定是不会改了。

点评

当然和点阵字体的宽度有关系,一个18点阵字"W"按汉字24位处理, 用 4E00: 后面"W"24位16进制 144个字符 菜单写“一”显示不是“一”而是“W” 用0057: 24位16进制 144个 就不会被显示,因为他超出显示  详情 回复 发表于 2016-3-5 15:11
回复

使用道具 举报

18#
 楼主| 发表于 2016-3-5 20:48:15 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 16:13
请问,现在众多汉字字体中,对于24*24点阵字体,英文字符有些什么宽度?

微软雅黑,微软标宋好像可以达到18
回复

使用道具 举报

19#
 楼主| 发表于 2016-3-5 21:34:29 | 显示全部楼层
2011yaya2007777 发表于 2016-3-5 16:13
请问,现在众多汉字字体中,对于24*24点阵字体,英文字符有些什么宽度?

字符点阵测试.rar (349.74 KB, 下载次数: 3)

点评

字体名加个下拉框就更好了.因为不清楚有些什么名称.  发表于 2016-3-6 09:04
字体名加个下拉框就更好了.因为不清楚有些什么名称.  发表于 2016-3-6 09:04

评分

参与人数 1无忧币 +5 收起 理由
2011yaya2007777 + 5 很给力!

查看全部评分

回复

使用道具 举报

20#
 楼主| 发表于 2016-3-6 12:13:55 | 显示全部楼层
2011yaya2007777 发表于 2016-3-6 09:07
似乎应当附加 0x20 至 0xff 字符.

字符点阵转码V1.1.rar (382.71 KB, 下载次数: 289)


点评

好东西,学习了。  详情 回复 发表于 2023-5-22 18:37
谢谢分享;但是 我的 menu.lst 怎么都显示不了中文,谁给个完整的文件组成、目录、menu.lst范本 ---------------- timeout 6 default /default fontfile (hd0,6)/menu24.hex #如下也试过,不行 #fontfile  详情 回复 发表于 2020-5-23 10:10
上下左右箭头 0018 0019 001A 001C  详情 回复 发表于 2016-3-7 08:44
非常棒  发表于 2016-3-6 15:25
回复

使用道具 举报

21#
 楼主| 发表于 2016-3-6 17:17:53 | 显示全部楼层
kellllby 发表于 2016-3-6 16:15
我试一下,中文老是乱码

什么字体?

点评

他的问题已经解决了,在另外一个帖子里。  详情 回复 发表于 2016-3-6 19:22
回复

使用道具 举报

22#
 楼主| 发表于 2016-3-7 09:00:38 | 显示全部楼层
2011yaya2007777 发表于 2016-3-7 08:54
这个在中文字库里好像没有。在英文字库里,所表示的图形,不尽相同。

是个UTF8编码
字体自身信息:字体宽:7  字体高:22
显示字体所需:矩阵宽:12  矩阵高:22

...@............................
..@@@...........................
.@@@@@..........................
@..@..@.........................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
...@............................
回复

使用道具 举报

23#
 楼主| 发表于 2016-3-7 21:10:14 | 显示全部楼层
2011yaya2007777 发表于 2016-3-7 14:59
我现在感到疑惑,放开字符宽度限制,是否有意义。也不过就是0x20-0xff几个字符。就算是艺术字体好,未必比 ...

转化点阵的过程是微软的api完成的,至于怎么转化,那是微软的规则。其实我也觉得没有必要,字体那么多~选个别的呗
回复

使用道具 举报

24#
 楼主| 发表于 2016-3-7 21:10:41 | 显示全部楼层
月光海洋 发表于 2016-3-7 15:06
请问这种效果是什么做出来的,谢谢!

这是grldr?还是bios?
回复

使用道具 举报

25#
 楼主| 发表于 2016-3-8 05:33:48 | 显示全部楼层
本帖最后由 haijie1223 于 2016-3-8 09:53 编辑
2011yaya2007777 发表于 2016-3-7 15:03
我使用 “点阵字库生成器 V3.8” 观察,0x19 不是下箭头,而是 ├
它里面有个字体大小调整,从预览中,可 ...

0x19我这里也是这么个图形。3.8是谁的工具?老年痴呆的工具原理和我的应该是一样的,原始代码就是用微软的api转化一下,你用我那个预览试试。至于他又怎么调整就不得而知了。别的工具不了解。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-6 00:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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