我想使用Inconsolata字体在 tty 控制台中,但我需要psf
为此生成一种字体。
我发现有两个工具应该可以工作,otf2bdf
但是bdf2psf
每次我尝试使用第二个工具时,我都会得到:
/usr/bin/bdf2psf: Inconsolata12.bdf: the width is not integer number.
答案1
我实际上正在尝试解决这个同样的问题。我通过阅读不久前发生的这个线程电子邮件交流来解决这个问题。访问这里。
我还需要尝试一下。如果我让它工作,我会报告。
编辑:我能够创建 PSF 字体,但尚未尝试将其用作 TTY 字体。我相信这就是问题的含义。这是我创建字体的方式(准直接从链接复制)。
将 OTF 转换为 BDF
otf2bdf -r 72 -p 12 -c C /usr/share/fonts/truetype/incon...a/inconsolata.otf | sed -e "s/AVERAGE_WIDTH.*/AVERAGE_WIDTH 80/" > inconsolata-12.bdf
(需要 sed 调用,因为 bdf2psf 健全性检查 AVERAGE_WIDTH 属性而不是字体边界框,或检查它实际使用的字形的 DWIDTH)
将 BDF 文件转换为 PSF 文件:
bdf2psf inconsolata-12.bdf /usr/share/bdf2psf/standard.equivalents \ /usr/share/bdf2psf/required.set+/usr/share/bdf2psf/useful.set 256 inconsolata-12.psf
就是这样。