gfxboot-theme-ubuntu的Makefile中有一个font目标,用来生成所用的font。
font:
@if [ -z "$(DI_PATH)" ]; then echo "Please set DI_PATH to an unpacked debian-installer source tree" >&2; exit 1; fi
cat po/*.po >tmp.txt
cat $(DI_PATH)/build/boot/x86/po/*.po >>tmp.txt
gfxboot-font -v -l 18 -p /usr/share/fonts/X11/misc \
-c ISO-8859-15 -c ISO-8859-2 -c koi8-r \
`$(KEYMAPCHARS) keytables.inc` \
-t tmp.txt \
-t install/log -t boot/log \
-t langlist -t langnames.inc \
-f unifont:prop=2:space_width=4 \
16x16.fnt >16x16.fnt.log
rm -f tmp.txt
首先注意前三行:
@if [ -z "$(DI_PATH)" ]; then echo "Please set DI_PATH to an unpacked debian-installer source tree" >&2; exit 1; fi
cat po/*.po >tmp.txt
cat $(DI_PATH)/build/boot/x86/po/*.po >>tmp.txt
其中第一行和第三行实际上是将${DI_PATH}/build/boot/x86/.po 中的内容提取出来,DI_PATH是Ubuntu自定义的软件路径,现在还不太确定,但是从上面的命令序列来看,主要是为了增加所搜索的字的范围,因此即便这个部分没有,我们如果能够确保po/.po的内容足够当前使用,或者再人工添加其他的字也是可以的。因此这两行可以先不考虑。
然后第二行的内容很讲清楚,就是将当前po目录下所有文件的内容全部导入到一个临时文件中。
接下来就是一个完整的gfxboot-font生成自己的命令了,我们主要了解一下其中的参数:
-l 18
设置生成的字体的高度为18px.
-p /usr/share/fonts/X11/misc
字体搜索路径,要生成的字体需要从这里指定的路径下搜索,如果路径有多个的话,可以在路径之间以冒号分隔,例如 /usr/share/fonts/X11/misc:/usr/share/fonts/X11/Type1.