提问人:user2153235 提问时间:1/24/2020 最后编辑:Thomas Dickeyuser2153235 更新时间:1/27/2020 访问量:1541
识别正在使用的 xterm 字体和相应的 Cygwin 包?
Identify xterm fonts being used and corresponding Cygwin package?
问:
几十年来,我一直在煞费苦心地尝试来自不同系列的不同字体,以获得 xterm 大小的良好进展。我在 2015 年发现的六个很好的前缀如下。由于 Windows 7 不受支持,而且旧的笔记本电脑太破旧而无法迁移到 Windows 10,因此我买了一台新笔记本电脑并新安装了 Cygwin 的 X-windows。以前好的字体现在会产生错误,前缀如下。~/.Xresources:
Error:
~/.Xresources: xterm*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
Error: None
~/.Xresources: xterm*font1: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
Error: xterm: cannot load font "-B&H-LucidaTypewriter-medium-R-*-*-11-80-100-100-M-140-ISO10646-1"
~/.Xresources: xterm*font2: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-13-120-75-75-C-140-ISO10646-1"
~/.Xresources: xterm*font3: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-13-120-75-75-C-160-ISO10646-1"
~/.Xresources: xterm*font4: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
Error: xterm: cannot load font "-B&H-LucidaTypewriter-medium-R-*-*-14-140-75-75-M-180-ISO10646-1"
~/.Xresources: xterm*font5: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
Error: None
~/.Xresources: xterm*font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-20-200-75-75-C-200-ISO10646-1"
Other lines in ~/.Xresources
----------------------------
xterm*toolBar: false
xterm*background: rgb:00/00/66
xterm*foreground: White
尽管在选择上述某些字体时会产生错误,但 xterm 仍然会切换字体,我发现字体很好。我猜它正在选择一些规格非常接近的字体。
如果是这样,我怎样才能找到最终使用的字体的完整规格?我想在 ~/ 中使用它们。X资源
。
如果没有,那么当我收到错误消息并且字体仍然显示切换时会发生什么?
最后,一旦我确定了要切换到的字体,有没有一种有效的方法来找到包含它们的 Cygwin 包?
请注意,以下内容仅与我的 ~/ 中的信息相呼应。Xresources 而不是显示实际使用的字体(假设它们与 中的字体不同,因为存在错误):~/.Xresources
appres XTerm xterm | grep -w xterm | grep font | sort
xrdb -query | grep -w xterm | grep font | sort
使用 xterm -report-fonts
进行故障排除
托马斯·迪基(Thomas Dickey)建议,它将加载的字体报告给:xterm -report-fonts
stdout
Loaded VTFonts(default)
fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
Loaded VTFonts(default)
fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
Loaded VTFonts(default)
fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
Loaded VTFonts(font1)
fNorm: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
fBold: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
fWide: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
fWBold: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
Loaded VTFonts(font2)
fNorm: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-70-ISO8859-1
fWide: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
fWBold: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
Loaded VTFonts(font3)
fNorm: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-80-ISO8859-1
fWide: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
fWBold: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
Loaded VTFonts(font4)
fNorm: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
fBold: -B&H-LucidaTypewriter-bold-R-*-*-14-140-75-75-M-90-ISO8859-1
fWide: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
fWBold: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
Loaded VTFonts(font5)
fNorm: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
fBold: -B&H-LucidaTypewriter-bold-R-*-*-14-140-75-75-M-90-ISO8859-1
fWide: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
fWBold: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
Loaded VTFonts(font6)
fNorm: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
fBold: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
fWide: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
fWBold: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
Loaded VTFonts(default)
fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
我添加了空行来分隔冗余报告,这些报告位于中心位置的主体
输出。我还删除了与
每个 X 逻辑字体描述 (XLFD)。VTFonts(default)
似乎发生的事情是,每次我选择字体 VTFonts(fonti) 时,字体 i 取决于所选字体
(或通过),报告 4 字体
字体的变化。字体变体分别命名为 、 、 和 。xterm
default
font1
font6
xterm
fNorm
fBold
fWide
fWBold
对于所有字体,变体始终与 中的 XLFD 匹配。
xterm
fNorm
~/.Xresources
所有字体的变体和匹配,但
fWide
fWBold
fNorm
xterm
default
变体与所有字体不同 除了和
fWBold
fNorm
xterm
font1
font6
选择字体i 会生成一个关于无法执行的错误 加载一个明显相关的字体,其中 i 是 1、2、3、4、6 之一。 这些是原始问题中报告的错误。 相关字体的 XLFD 与任何字体变体(、、、
xterm
fNorm
fBold
fWide
fWBold
)
从这些观察来看,似乎最初发布的 XLFD
错误可能与字体无关。XLFD
也不要与 xterm 报告的任何字体变体匹配。
在对引擎盖下发生的事情了解不足的情况下,它是
在我看来,xterm 可能会尝试在
错误消息,如果无法解决,则落在报告的 XLFD 上
用。~/.Xresources
xterm -report-fonts
我只是觉得遇到这种行为很奇怪。在 几十年来,我从未收到过关于 XLFD 的错误消息,而我没有 指定。也许 X11 已经发展到寻找与 我指定的。
答:
对于 Lucida,我将尝试 xorg-x11-fonts-dpi100 和 xorg-x11-fonts-dpi75
$ cygcheck -p lucida
Found 18 matches for lucida
font-bh-lucidatypewriter-dpi100-7.5-2 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100 (installed binaries and support files)
font-bh-lucidatypewriter-dpi100-7.5-3 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100 (installed binaries and support files)
font-bh-lucidatypewriter-dpi100-7.5-4 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100
font-bh-lucidatypewriter-dpi75-7.5-2 - font-bh-lucidatypewriter-dpi75: Obsoleted
by xorg-x11-fonts-dpi75 (installed binaries and support files)
font-bh-lucidatypewriter-dpi75-7.5-3 - font-bh-lucidatypewriter-dpi75: Obsoleted
by xorg-x11-fonts-dpi75 (installed binaries and support files)
font-bh-lucidatypewriter-dpi75-7.5-4 - font-bh-lucidatypewriter-dpi75: Obsoleted
by xorg-x11-fonts-dpi75
texlive-collection-context-20170520-1 - texlive-collection-context: TeX Live con
text package collection
texlive-collection-context-20180414-1 - texlive-collection-context: TeX Live con
text package collection
texlive-collection-context-20190509-1 - texlive-collection-context: TeX Live con
text package collection
xorg-x11-fonts-dpi100-7.5-2 - xorg-x11-fonts-dpi100: X11 core fonts (installed b
inaries and support files)
xorg-x11-fonts-dpi100-7.5-3 - xorg-x11-fonts-dpi100: X11 core fonts (installed b
inaries and support files)
xorg-x11-fonts-dpi100-7.5-4 - xorg-x11-fonts-dpi100: X11 core fonts
xorg-x11-fonts-dpi75-7.5-2 - xorg-x11-fonts-dpi75: X11 core fonts (installed bin
aries and support files)
xorg-x11-fonts-dpi75-7.5-3 - xorg-x11-fonts-dpi75: X11 core fonts (installed bin
aries and support files)
xorg-x11-fonts-dpi75-7.5-4 - xorg-x11-fonts-dpi75: X11 core fonts
...
对于我的 Lucida 字体,我使用的是 Windows 字体
$ fc-list.exe | grep -i lucida
/usr/share/fonts/microsoft/lucon.ttf: Lucida Console:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Navadno,Arrunta
/usr/share/fonts/microsoft/l_10646.ttf: Lucida Sans Unicode:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/microsoft/luconP.ttf: Lucida ConsoleP:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Navadno,Arrunta
对于固定的,您可以尝试 terminus-fonts 或 texlive-collection-fontsextra
$ cygcheck -p fixed| grep font | grep -v src
terminus-fonts-4.40-1 - terminus-fonts: Terminus fixed width font (installed binaries and support files)
...
texlive-collection-fontsextra-20170520-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
texlive-collection-fontsextra-20180414-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
texlive-collection-fontsextra-20190509-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
评论
xterm 的 -report-fonts
选项显示所用字体的详细信息。
有一个脚本 find-xterm-fonts
(它知道 Debian 和 RPM 软件包)可以显示用于字体的软件包名称(参见示例)。Cygwin忽略了命令行打包工具,这些工具将使编写此功能的脚本变得简单。您可以修改脚本以使其与 cygcheck
一起使用,例如,使用 -f
选项:
-f, --find-package find the package to which FILE belongs
该脚本尝试报告包含已找到的字体文件的包。位图字体位于运行 X 服务器的机器上,因此如果您在本地运行/显示,脚本可以访问所有需要的信息。
评论
-report-fonts
评论
Special-purpose
find-xterm-fonts
xterm -report-fonts
xterm
cygcheck -pv xterm
xterm
cygcheck -cv xterm
xterm -v