在 xterm(cygwin)上安装 TTF 字体

在 xterm(cygwin)上安装 TTF 字体

我正在尝试在 Cygwin 上安装新字体。许多网站都提供了旧版 Cygwin 的技巧,旧版 Cygwin 中所有内容都在其中:

/usr/X11R6/lib/X11/fonts/TTF

有人说这很容易:

cp /cygdrive/c/WINDOWS/Fonts/*.[tT][tT][fF] /usr/X11R6/lib/X11/fonts/ttf/

我猜测 Cygwin 7.4 中的字体位置/usr/share/fonts/应该改为这样。

我尝试运行xfontsel,但安装的字体很少。我想安装 DejaVu Sans Mono 和 Consolas。可以吗?如何安装?

无论如何,我天真地尝试了这个:

mkdir /usr/share/fonts/ttf/
cp /cygdrive/c/WINDOWS/Fonts/consola*.ttf /usr/share/fonts/ttf/
xset fp rehash
xfontsel

但我仍然看到一些字体的抗锯齿效果很差,并且 TTF 字体不可见。

有什么线索吗?

编辑

我在这里也遇到错误:

$ xset +fp /usr/share/fonts/ttf
xset:  bad font path element (#0), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax

答案1

X 中的 TrueType 字体通常使用 来完成fontconfig。它的一个特点是它默认查找.fonts您主目录下的目录。您可以使用fc-list列出可用的字体,并将它们与xterm 的-fa(family name) 和-fs(font size) 选项一起使用。(虽然xfd有相应的-fa选项,xfontsel不是)。

xset另一方面,查找使用 XLFD 命名约定引用的位图字体。您可以使用xtermxlsfonts选项列出这些字体-fn

这些链接讨论该.fonts目录:

然而,从给出的例子看来,你可能已经安装 TrueType 字体,这fc-list是自然的起点。

答案2

要在 Cygwin X11 中安装字体以便它们可供 xterm 使用:获取安装程序加载的字体列表:

ls -d /usr/share/X11/fonts

对我来说结果是:

/usr/share/X11/fonts/100dpi     /usr/share/X11/fonts/OTF
/usr/share/X11/fonts/75dpi      /usr/share/X11/fonts/TTF
/usr/share/X11/fonts/cyrillic   /usr/share/X11/fonts/Type1
/usr/share/X11/fonts/encodings  /usr/share/X11/fonts/urw-fonts
/usr/share/X11/fonts/misc       /usr/share/X11/fonts/util

就我而言,“misc”和“encodings”有问题,所以我不会使用它们

在你的 ~/.xinitrc 中放入类似这样的脚本

fontinit=$HOME/.xfonts
xterm 2> /dev/null &
start-lxqt 2> /dev/null
# Ignore these for now, but fix them some time
#   encodings   util 
for font in 100dpi  75dpi  cyrillic  OTF  TTF  Type1  urw-fonts
do
# (for debugging ) echo trying $font
xset +fp /usr/share/X11/fonts/$font
done
xset fp rehash

此后,当您使用 xinit 或 startxwin 启动 X 服务器,然后启动 xterm 时,字体选择菜单可以适用于某些内容,尤其是 true type 字体。

相关内容