无忧启动论坛

标题: 菜单中使用等高不同字型的字符 [打印本页]

作者: 2011yaya2007777    时间: 2016-3-25 09:19
标题: 菜单中使用等高不同字型的字符
本帖最后由 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

1.jpg (262.12 KB, 下载次数: 101)

1.jpg

0.jpg (101.88 KB, 下载次数: 113)

0.jpg

作者: 3ax31a    时间: 2016-3-25 10:05
强大!
作者: fuldho    时间: 2016-3-25 11:36
本帖最后由 fuldho 于 2016-3-25 11:41 编辑

新手有点难度,能不能用x80-xff来替换标题字体内置到G4D,再自动生成 “\X0080  \X0081  \X0082  \X0083......”文本。
作者: 2011yaya2007777    时间: 2016-3-25 15:24
新手有点难度,能不能用x80-xff来替换标题字体内置到G4D

会写 0x80,就不会写 \X0080?
对于新手来说,难点在于修改 .hex 内的 unicode 码,以及删除其他 英文字型。
作者: fuldho    时间: 2016-3-25 16:25
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
当然可以。我只是提供一种思路。两个字库完全可以合并,只是对于有些人困难一些。  我的方法,不仅可以实现标题字形不同,也可以实现任意位置的字符的字形不同。  当然,你的思路最起码可以实现标题字形不同,并且自动化,也是不错的想法。
作者: 不点    时间: 2016-3-25 22:05
本帖最后由 不点 于 2016-3-25 22:10 编辑

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

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

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


作者: 2011yaya2007777    时间: 2016-3-26 10:15
中国人使用汉字菜单,通常不会使用 0x0080-0x00ff 字符。在 DOS 时代就是使用 0x0080-0x00ff 区域来存储小字库汉字。
使用 0x0080-0x00ff 区域的人,不会在此费时费力地输入不同字型的汉字。
作者: 不点    时间: 2016-3-26 11:10
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
看起来很不错,但是感觉不实用。

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

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

为了加快读取访问速度,可以考虑把目前的HEX格式字库转换成BIN格式这样也比较方便编程读取。
作者: 不点    时间: 2016-3-26 19:30
chenall 发表于 2016-3-26 18:22
看起来很不错,但是感觉不实用。

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

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


作者: 2011yaya2007777    时间: 2016-3-26 20:43
我只是拿标题做了个示范,并不是特指标题。
比如,把菜单项的某些字符加粗,作为强调。
再比如,让菜单项帮助信息使用不同的字型。
等等,给菜单制作者提供更多的选择自由。因为我觉得实现起来并没有太大的困难。
作者: chenall    时间: 2016-3-26 23:03
我觉得使用用背景图片是个不错的主意,但是目前的GRUB4DOS需要改进一下,把背景作为菜单时有一个高亮选择项的问题需要解决。
作者: fuldho    时间: 2016-3-27 06:53
本帖最后由 fuldho 于 2016-3-27 06:57 编辑
chenall 发表于 2016-3-26 23:03
我觉得使用用背景图片是个不错的主意,但是目前的GRUB4DOS需要改进一下,把背景作为菜单时有一个高亮选择项 ...


使用用背景图片做标题可以,但作为菜单可能比较麻烦,
毕竟不能象EasyBoot那样拖动菜单条与背景字体重合,不同分辨率下菜单条与背景字体移位等问题。
作者: 不点    时间: 2016-3-27 07:56
以上各种尝试、思路、想法,都不错。以后遇到问题,再及时解决,未尝不可。走一步说一步。
作者: 2011yaya2007777    时间: 2016-3-27 09:40
图形菜单,似乎 G4D 不需要输入和控制字符,而是管理控制一条条小的图片。需要外部程序的紧密配合,需要增加大量代码。
作者: devilma    时间: 2016-3-27 18:58
如果能实现高亮显示,就很好。。。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3