带有dmenu的自定义字体


8

我在运行dmenu的各个地方都找到了引用,如下所示:

dmenu_run -b -fn 'Inconsolata 12'

但是,无论我尝试什么字体名称的变体,我总会得到 dmenu: warning: cannot load font <font name>

fc-list | grep cons 给我:

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

它不会显示,xlsfonts并且确实与xlsfonts一起显示的所有字体都可以正常工作。

从命令行引用这些字体的正确方法是什么?

另外,这是引用字体的标准方法,还是在使用诸如此类的程序时会改变pango


大声笑...仅dmenu
Saad Farooq,

Answers:


8

dmenu的标准版本不包含对xft字体的支持。要使用Inconsolata之类的字体,您需要构建dmenu的补丁版本。

  1. 下载源代码补丁
  2. 打开一个终端,cd进入包含源代码和补丁的目录。
  3. 运行以下命令以应用补丁:

    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. 要构建修改后的dmenu版本,您需要安装以下软件包: libxft-dev libxft2 libxinerama-dev

  5. UBUNTU 14.04上的更新生成失败

    严重错误:ft2build.h:没有此类文件或目录

    要解决此问题,请编辑config.mk文件并进行更改

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

    XFTINC = -I / usr / include / freetype2

  6. 运行以下命令来构建和安装修改后的dmenu版本:

    make
    sudo make install
    

i3是否不包含汉字吸盘工具?
2014年

然后http://git.suckless.org/dmenuhttp://tools.suckless.org/dmenu/patches/xftmaster 复制并在master上应用补丁makechmod +x dmenu_path并安装(或仅将符号链接添加到dmenu,dmenu_run,dmenu_path和stest)。
Stephen Niedzielski

2

您必须对X提供的字体使用X逻辑字体描述(XLFD)全名xfontsel。例如,您可以使用类似以下内容的东西-bitstream-*-*-*-*-*-12-*-*-*-*-*-*-*

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

xfontsell 工具可让您预览不同的设置。

如果要使用如下语法:

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

与您的要求更接近,可以使用Xft支持补丁。请参阅此处有关如何使用补丁程序的说明dmenu


2

从dmenu 4.6(于2015年11月发布)开始,默认情况下启用XFT字体渲染(4.6发行说明),并且该方法可以正常工作:

dmenu_run -fn 'Inconsolata 12'
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.