HIDPI 显示器上更大的“xterm”字体

Ho1*_*Ho1 20 xterm fonts x11 xfig

在适当的桌面环境中愉快地使用不同的终端模拟器(如KonsoleGnome-TERMINAL和最近的XFCE Terminal)几年后,我决定使用旧的xterm及其位图字体。它工作得很好,它支持 Unicode,并且默认的固定字体系列包含几乎所有语言的字符,这很棒。

但是我遇到了一个重要的问题。字体真的很小。即使是所谓的尺寸(即 10x20 位图字体)对我来说也非常小,无法使用。

我对 XFCE 环境的默认设置设置为 120 dpi,但xpdyinfo报告 97x97 DPI

$ xdpyinfo |grep resolution
  resolution:    97x97 dots per inch
Run Code Online (Sandbox Code Playgroud)

所以我试图用 改变 DPI xrandr,但它没有帮助。

$ xrandr --dpi 120
Run Code Online (Sandbox Code Playgroud)

结果似乎被应用

$ xdpyinfo | grep resolution
  resolution:    120x120 dots per inch
Run Code Online (Sandbox Code Playgroud)

但它根本不会改变分辨率xterm。我什至尝试使用缩放,但它影响了整个 X,而不是单个应用程序:

$ xrandr --output LVDS1 --scale 0.5x0.5
Run Code Online (Sandbox Code Playgroud)

Qt的和GTK的解决方法,但对于Xlib基于应用程序一样XtermXcalcXmanXfige,等?随着显示 DPI 的上升,我们是否应该看着它们逐渐消失?如果您知道任何解决方法,请帮助。


这就是我所做的,它以某种方式起作用,但我无法使用原始的“固定字体系列”,因此它现在可能仅适用于某些语言。


PS1:我已经为 X 安装了 100 种 DPI 字体,但我无法使用它们

$ sudo apt-get install xfonts-100dpi
Run Code Online (Sandbox Code Playgroud)

PS2:Fontforge它也使用Xlib, 使用一个不错的主题和正常的字体大小。我不知道它是怎么做到的。

PS3:我正在测试otf2bdfbdftopcf使用PCF矢量TTF/OTF字体为 HIDPI创建实验性位图字体。

PS4:安装 100DPI 字体后,这很好,尽管它缺乏对默认fixed字体的强大语言支持。

$ xterm -font -Adobe-Courier-Bold-r-Normal-*-34-*-100-100-*-*-*-*
Run Code Online (Sandbox Code Playgroud)

我用过fontsel。这真的很有帮助。

PS5:也很有用。

PS6:我能够从120DPI创建位图字体宋体与20pt

$ otf2bdf -p 20 -r 120 cour.ttf > cour.bdf
$ bdftopcf cour.bdf | gzip - > cour.pcf.gz
$ sudo cp cour.pcf.gz /usr/share/fonts/X11/misc/
$ fc-cache
$ xterm -font -*-*-*-*-*-*-*-*-120-120-*-*-*-*
Run Code Online (Sandbox Code Playgroud)

PS7:75 DPI 硬编码为 BDF 字体。也许改变它会有所帮助。

PS8vncdesk是用来放大单个窗口的好工具。

Cla*_*sen 13

您已经通过参考https://en.wikipedia.org/wiki/Fixed_(typeface)自己暗示了答案

这是标准的固定位图字体,已被Markus Kuhn扩展为具有相当完整的字符集。那么问题是如何缩放位图

到目前为止,您所取得的是缩放矢量字体并将其转换为位图(ttf ? bdf ? pcf)。这是一个很好的策略,但正如你所提到的,它缺乏一些语言支持。这看起来很奇怪,因为 Courier New 是更完整Unicode 字体之一,但我离题了!也许尝试使用Mono克隆。

但是,我不明白您为什么要这样做,因为 xterm确实 支持 truetype

~/.Xresources像这样修改(请注意,您需要使用 xrdb 重新加载它,如该问题的另一个答案所示):

XTerm*renderFont: true
XTerm*faceName: VeraMono
XTerm*faceSize: 10
Run Code Online (Sandbox Code Playgroud)

但回到任务:您需要更大的位图字体。

可用的最大可用位图是:

10x20   -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1
Run Code Online (Sandbox Code Playgroud)

Markus 非常好,他提供了源 BDF 文件。如果您的发行版没有最新的更新(从 2009 年 4 月开始),您可以直接从他那里获取软件包。

“-misc-fixed-*”字体包:

http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

您可以/应该坚持使用源格式,而不是在 pcf 和bdf之间来回转换。您可以使用 BDF 字体编辑器来调整字体大小。不要指望任何抗锯齿或此类技巧 - 但至少您可以获得可读的大小。

或者你可以使用bdfresize由博远Kagotani(在某些封装系统也发现)。

更新:

我不知道只缩放一个窗口的方法(从来没有需要)。您可以跟踪超级用户问题。当我有需要时,我扩展了整个环境。

您可以使用以下方法将 3200x1800 显示器降级到 1920x1080:

xrandr --dpi 141
xrandr --output eDP1 --scale 0.6x0.6
Run Code Online (Sandbox Code Playgroud)

可以在此处找到在不同窗口管理器中进行屏幕缩放的其他技巧。他们建议使用 VNC:

一种方法是在其自己的 VNC 桌面中全屏运行应用程序而不进行修饰。然后缩放查看器。使用 Vncdesk(来自 AUR 的vncdesk-git),您可以为每个应用程序设置一个桌面,然后使用简单的命令启动服务器和客户端,例如vncdesk 2.

x11vnc有一个实验选项-appshare,它为每个应用程序窗口打开一个查看器。也许可以用它来破解某些东西。