我在运行 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
?
答案1
dmenu 的标准版本不支持 xft 字体。要使用 Inconsolata 等字体,您需要构建 dmenu 的修补版本。
- 下载源代码和修补。
- 打开终端,
cd
进入包含源代码和补丁的目录。 运行以下命令来应用补丁:
tar zxvf dmenu-4.5.tar.gz cd dmenu-4.5 mv ../dmenu-4.5-xft.diff . patch -p1 < dmenu-4.5-xft.diff
要构建 dmenu 的修改版本,您需要安装以下软件包:
libxft-dev libxft2 libxinerama-dev
更新 UBUNTU 14.04 构建失败
致命错误:ft2build.h:没有此文件或目录
要修复此问题,请编辑 config.mk 文件并更改
XFTINC = -I /usr/local/include/freetype2
到
XFTINC = -I /usr/include/freetype2
运行以下命令来构建并安装修改后的 dmenu 版本:
make sudo make install
答案2
您必须使用X 逻辑字体描述 (XLFD)提供的字体的全名xfontsel
。例如,您可以使用类似这样的名称-bitstream-*-*-*-*-*-12-*-*-*-*-*-*-*
:
dmenu_run -b -fn -bitstream-*-*-*-*-*-12-*-*-*-*-*-*-*
xfontsell
该工具允许您预览不同的设置。
如果你想使用如下语法:
dmenu_run -b -fn <family>-<size>:<name>=<value>
答案3
自 dmenu 4.6(2015 年 11 月发布)以来,XFT 字体渲染默认启用(4.6 发行说明),这样就可以了:
dmenu_run -fn 'Inconsolata 12'