|
|
我要做grub4dos菜单,自己英文太烂无法表达,只好尝试用中文。
但中文字库压缩后仍有148K,此外grldr、grub.exe的中文版比英文版体积分别大了16K、24K。这点大小对动辄几十兆、几百兆的普通PE微不足道,但我要做的是一个软盘装得下的PE,这代价就不小了。
怎样以最小体积实现中文菜单呢?
首先想到精简字库。菜单用不了几个汉字,把字库中没用到的汉字点阵清零,字库就可以压缩得很小,但这要解剖字库文件结构,编写程序进行处理,体力活。更致命的是,中文版启动过程可能有些错误提示信息,想必也是中文的,使用精简字库会显示不了,这时还不如英文版还能完整显示。
遇到挑战动动脑,想出一个中文菜单简单解决方法——背景图法。
做法:
1、找一张背景图、字库
搜论坛帖子,有介绍grub4dos背景图做法的,对背景图的大小、颜色数、文件类型都有要求,还要用工具转化。
我初次弄,图省事,随便下载一个PE(例如H3兄的)取出其现成的背景图,肯定符合要求吧。
2、制作带背景图普通中文版菜单
用中文版grub4dos制作一个适合自己的普通中文菜单。背景图、字库文件、加载字库和背景的grub菜单语句都从现成的PE里找。
启动后,出现菜单时截个图,作为新的背景图,里面已经带汉字。
原始背景中文版菜单
3、对新的背景图进行少量编辑修改
主要是去掉选项序号。还有,不客气的替换上自己的个人信息:)
最后按背景图要求作必要的转换处理,得到新的背景图。漂亮与否不管了。
新背景图
4、改回英文版grub4dos
把菜单里的中文部分删去(保留选项序号),加载新背景图,不加载字库,完成。
最终效果
我这个中文菜单,最终代价是增加一个文件,大约12K。
grub4dos已支持gfxmenu,以后普及了我再学吧。
|
|