如何从otf中为控制台制作psf字体?


9

我想在tty控制台中使用Inconsolata字体,但是我需要为此生成一个psf字体。

我发现应该使用otf2bdf和两种工具bdf2psf,但是每次尝试使用第二种工具时,都会得到:

/usr/bin/bdf2psf: Inconsolata12.bdf: the width is not integer number.

这个看起来非常接近这个问题:unix.stackexchange.com/questions/21100/…–
slm

在我看来,@ slm实际上不是关于将bdf转换为psf的问题。这是关于将otf转换为psf。通过bdf只是OP尝试的一种临时解决方案。
HalosGhost 2014年

Answers:


7

我实际上是在试图解决这个同样的问题。我通过仔细阅读前一段时间进行的该线程电子邮件交换来解决此问题。拜访这里

我仍然需要尝试一下。如果可以,我会报告。

编辑:我能够创建PSF字体,但没有尝试将其用作TTY字体。我认为这就是问题的含义。这是我创建字体的方式(准直接从链接复制)。

  1. 将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)

  2. 将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
    

而已。


1
required.set属于哪个发行版?它不在ubuntu或debian中。
JayEye
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.