Wie kann ich aus einer otf eine psf-Schriftart für die Konsole erstellen?

9

Ich möchte die Inconsolata-Schriftart in der tty-Konsole verwenden, muss jedoch eine psfSchriftart dafür generieren .

Ich fand, dass es zwei Tools gibt, die funktionieren sollten, otf2bdfund bdf2psfjedes Mal, wenn ich versuche, das zweite zu verwenden, bekomme ich:

/usr/bin/bdf2psf: Inconsolata12.bdf: the width is not integer number.
eloyesp
quelle
Dieser sieht diesem Q sehr nahe: unix.stackexchange.com/questions/21100/…
slm
@slm, meiner Meinung nach geht es bei der Frage eigentlich nicht darum, ein bdf in ein psf umzuwandeln. Es geht darum, einen otf in einen psf umzuwandeln. Das Durchlaufen von PDF war nur eine vorläufige Lösung, die das OP versuchte.
HalosGhost

Antworten:

7

Ich versuche tatsächlich, genau dieses Problem zu lösen. Ich habe es herausgefunden, indem ich diesen Thread-E-Mail-Austausch gelesen habe, der vor einiger Zeit stattgefunden hat. hier besuchen .

Ich muss das noch ausprobieren. Ich melde mich zurück, wenn ich es zum Laufen bringe.

Bearbeiten: Ich konnte die PSF-Schriftart erstellen, habe jedoch nicht versucht, sie als TTY-Schriftart zu verwenden. Ich glaube, das war die Implikation der Frage. Auf diese Weise habe ich die Schriftart erstellt (quasi direkt vom Link kopiert).

  1. Konvertieren Sie den OTF in 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
    

    (Der sed-Aufruf ist erforderlich, da bdf2psf die Eigenschaft AVERAGE_WIDTH anstelle des Begrenzungsrahmens für Schriftarten überprüft oder die DWIDTHs der tatsächlich verwendeten Glyphen überprüft.)

  2. Konvertieren Sie die BDF-Datei in eine PSF-Datei:

    bdf2psf inconsolata-12.bdf /usr/share/bdf2psf/standard.equivalents \
      /usr/share/bdf2psf/required.set+/usr/share/bdf2psf/useful.set 256 inconsolata-12.psf
    

Das ist es.

Xinerama
quelle
1
Zu welcher Distribution gehört required.set? Es ist nicht in Ubuntu oder Debian.
JayEye