Benutzerdefinierte Schriftart mit Menü

8

Ich habe Referenzen an verschiedenen Stellen gefunden, an denen Dmenu wie folgt ausgeführt wird:

dmenu_run -b -fn 'Inconsolata 12'

Unabhängig davon, welche Variation des Schriftnamens ich versuche, bekomme ich immer dmenu: warning: cannot load font <font name>

fc-list | grep cons gibt mir:

/usr/share/fonts/truetype/inconsolata/Inconsolata.otf: Inconsolata:style=Medium

Es wird nicht xlsfontsangezeigt und alle Schriftarten, die mit xlsfonts angezeigt werden, funktionieren einwandfrei.

Was ist der richtige Weg, um diese Schriftarten über die Befehlszeile zu referenzieren?

Ist dies auch eine Standardmethode zum Verweisen auf Schriftarten oder ändert sich dies bei der Verwendung von Programmen wie pango?

Saad Farooq
quelle
Lol ... nur Menü
Saad Farooq

Antworten:

8

Die Standardversion von dmenu unterstützt keine xft-Schriftarten. Um Schriftarten wie Inconsolata verwenden zu können, müssen Sie eine gepatchte Version von dmenu erstellen.

  1. Laden Sie den Quellcode und den Patch herunter .
  2. Öffnen Sie ein Terminal cdfür das Verzeichnis, das sowohl den Quellcode als auch den Patch enthält.
  3. Führen Sie die folgenden Befehle aus, um den Patch anzuwenden:

    tar zxvf dmenu-4.5.tar.gz
    cd dmenu-4.5
    mv ../dmenu-4.5-xft.diff .
    patch -p1 < dmenu-4.5-xft.diff
    
  4. Um die geänderte Version von dmenu zu erstellen, müssen die folgenden Pakete installiert sein: libxft-dev libxft2 libxinerama-dev

  5. UPDATE auf UBUNTU 14.04, mit dem der Build fehlschlägt

    Schwerwiegender Fehler: ft2build.h: Keine solche Datei oder kein solches Verzeichnis

    Um dies zu beheben, bearbeiten Sie die Datei config.mk und ändern Sie sie

    XFTINC = -I / usr / local / include / freetype2

    zu

    XFTINC = -I / usr / include / freetype2

  6. Führen Sie die folgenden Befehle aus, um die geänderte Version von dmenu zu erstellen und zu installieren:

    make
    sudo make install
    
Jesaja
quelle
Ist Sauger nicht in i3 enthalten?
Saad Farooq
Klonen Sie von http://git.suckless.org/dmenuund wenden Sie dann Patch von http://tools.suckless.org/dmenu/patches/xftauf Master an make. chmod +x dmenu_pathund installieren (oder fügen Sie einfach Symlinks zu dmenu, dmenu_run, dmenu_path und stest hinzu).
Stephen Niedzielski
2

Sie müssen den vollständigen Namen der X Logical Font Description (XLFD) für die von bereitgestellte Schriftart verwenden xfontsel. Zum Beispiel können Sie so etwas wie folgt verwenden: -bitstream-*-*-*-*-*-12-*-*-*-*-*-*-*:

dmenu_run -b -fn -bitstream-*-*-*-*-*-12-*-*-*-*-*-*-*

xfontsell Mit dem Tool können Sie eine Vorschau der verschiedenen Einstellungen anzeigen.

Wenn Sie eine Syntax wie die folgende verwenden möchten:

dmenu_run -b -fn <family>-<size>:<name>=<value>

Dies entspricht dem , was Sie gefragt haben. Sie können den Xft-Support- Patch verwenden. Sehen Sie hier die Anweisungen dazu , wie Sie für einen Patch zu verwenden dmenu.

Radu Rădeanu
quelle
2

Seit dmenu 4.6 (veröffentlicht im November 2015) ist das Rendern von XFT-Schriftarten standardmäßig aktiviert ( 4.6 Versionshinweise ) und dies funktioniert einfach:

dmenu_run -fn 'Inconsolata 12'
Graipher
quelle