我正在尝试在 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
目录:
- 回复:[公告] 更新:mscgen-0.20-2,Cygwin 邮件列表上的评论
- 将自定义字体添加到 Cygwin 的 XWin
- 如何从 .Xresources 文件获取 TrueType 字体并在 xterm 中显示?
然而,从给出的例子看来,你可能已经有安装 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 字体。