2011yaya2007777 发表于 2016-3-25 09:19:12

菜单中使用等高不同字型的字符

本帖最后由 2011yaya2007777 于 2016-3-25 09:22 编辑

例子:正文采用楷体,标题采用华文彩云。
1. 使用 GRLDR_Edit_v5.0.2.exe 生成楷体小字库 5-24.hex 。
2. 将标题内容保持到 new.txt,使用 GRLDR编辑器V4.0.exe 生成华文彩云小字库 new.hex。
3. 使用 WinHex.exe 打开 new.hex,修改相应的 unicode 码为 0080、0081、0082、0083.... ,删除其余无用的。
4. 将菜单中的标题内容 "G4D维护菜单" 修改为 "G4D\X0080\X0081\X0082\X0083"。
5. 菜单2次加载字库
    font --font-high=24 /5-24.hex
    font --font-high=24 /new.hex
    或者
    font--simp= --font-high=24 /5-24.hex
    font--simp= --font-high=24 /new.hex

3ax31a 发表于 2016-3-25 10:05:29

强大!

fuldho 发表于 2016-3-25 11:36:21

本帖最后由 fuldho 于 2016-3-25 11:41 编辑

新手有点难度,能不能用x80-xff来替换标题字体内置到G4D,再自动生成 “\X0080\X0081\X0082\X0083......”文本。

2011yaya2007777 发表于 2016-3-25 15:24:23

新手有点难度,能不能用x80-xff来替换标题字体内置到G4D
会写 0x80,就不会写 \X0080?
对于新手来说,难点在于修改 .hex 内的 unicode 码,以及删除其他 英文字型。

fuldho 发表于 2016-3-25 16:25:47

2011yaya2007777 发表于 2016-3-25 15:24
会写 0x80,就不会写 \X0080?
对于新手来说,难点在于修改 .hex 内的 unicode 码,以及删除其他 英文字 ...



我的意思是标题字体不另外加载font --font-high=24 /new.hex
只加载正文font --font-high=24 /5-24.hex
把修改 .hex “\X0080\X0081\X0082\X0083......”内置到G4D
有程序来完成,再输出一个“\X0080\X0081\X0082\X0083......”文本,用于粘帖到标题尾
是否可以调用,

2011yaya2007777 发表于 2016-3-25 18:11:07

当然可以。我只是提供一种思路。两个字库完全可以合并,只是对于有些人困难一些。我的方法,不仅可以实现标题字形不同,也可以实现任意位置的字符的字形不同。当然,你的思路最起码可以实现标题字形不同,并且自动化,也是不错的想法。

不点 发表于 2016-3-25 22:05:13

本帖最后由 不点 于 2016-3-25 22:10 编辑

乱用 unicode 标准字符,好像不太好吧?

Unicode 规范里面,设置了 “私用区”,我觉得那才是可以随便使用的区域。

甚至你可以把私用区的 4 个字符拼接成 2×2 的矩阵(或 9 个字符排列为 3×3 的矩阵),构成一个大号的字(或者干脆是个图形或商标)。

2011yaya2007777 发表于 2016-3-26 10:15:19

中国人使用汉字菜单,通常不会使用 0x0080-0x00ff 字符。在 DOS 时代就是使用 0x0080-0x00ff 区域来存储小字库汉字。
使用 0x0080-0x00ff 区域的人,不会在此费时费力地输入不同字型的汉字。

不点 发表于 2016-3-26 11:10:26

2011yaya2007777 发表于 2016-3-26 10:15
中国人使用汉字菜单,通常不会使用 0x0080-0x00ff 字符。在 DOS 时代就是使用 0x0080-0x00ff 区域来存储小 ...

也可以吧。不过我觉得还是遵照规范要好一些吧。你这个空间 80h~FFh,其一是破坏了此处的 Unicode 字模,万一有人碰巧也用这些 unicode 字符,就冲突了。到时候再来向你报告 bug,你怎么办?其二是这个空间不大,只有 128 个字符的位置,在某些情况下,不一定够用。而 unicode 规定的“私用区”的字符个数,我印象中,应该远远超过 128 个字符,基本不会出现不够用的情况。就提供这两点意见供参考吧。

chenall 发表于 2016-3-26 18:22:12

看起来很不错,但是感觉不实用。

也许可以参考其它启动软件,比如把菜单标题转化为图片,也许会比较简单。

我有一个想法,也许会比较实用,不过实现起来也许会有些麻烦。
直接在菜单标题中添加某个特定的标志或信息来指定字体。
显示的时候根据这个信息来加载对应字库,这样不需要替换字模,而且可以支持N多种字体,需要的字体可以直接从磁盘中读取。

为了加快读取访问速度,可以考虑把目前的HEX格式字库转换成BIN格式这样也比较方便编程读取。

不点 发表于 2016-3-26 19:30:26

chenall 发表于 2016-3-26 18:22
看起来很不错,但是感觉不实用。

也许可以参考其它启动软件,比如把菜单标题转化为图片,也许会比较简单 ...

既然能想到这样,那么,背景图片本身就可以把标题做好(嵌入到背景图片中),根本就不用再去找字库了。而且这样的图片标题,它的字体种类、字体大小、颜色,等等,全都是任意的了,因为图片想怎么改,就怎么改,完全是自由的。

2011yaya2007777 发表于 2016-3-26 20:43:00

我只是拿标题做了个示范,并不是特指标题。
比如,把菜单项的某些字符加粗,作为强调。
再比如,让菜单项帮助信息使用不同的字型。
等等,给菜单制作者提供更多的选择自由。因为我觉得实现起来并没有太大的困难。

chenall 发表于 2016-3-26 23:03:15

我觉得使用用背景图片是个不错的主意,但是目前的GRUB4DOS需要改进一下,把背景作为菜单时有一个高亮选择项的问题需要解决。

fuldho 发表于 2016-3-27 06:53:57

本帖最后由 fuldho 于 2016-3-27 06:57 编辑

chenall 发表于 2016-3-26 23:03
我觉得使用用背景图片是个不错的主意,但是目前的GRUB4DOS需要改进一下,把背景作为菜单时有一个高亮选择项 ...

使用用背景图片做标题可以,但作为菜单可能比较麻烦,
毕竟不能象EasyBoot那样拖动菜单条与背景字体重合,不同分辨率下菜单条与背景字体移位等问题。

不点 发表于 2016-3-27 07:56:59

以上各种尝试、思路、想法,都不错。以后遇到问题,再及时解决,未尝不可。走一步说一步。

2011yaya2007777 发表于 2016-3-27 09:40:28

图形菜单,似乎 G4D 不需要输入和控制字符,而是管理控制一条条小的图片。需要外部程序的紧密配合,需要增加大量代码。

devilma 发表于 2016-3-27 18:58:40

如果能实现高亮显示,就很好。。。
页: [1]
查看完整版本: 菜单中使用等高不同字型的字符