我正在使用 Ubuntu Mate 20.04。我想在终端(不是 xterm)中使用 Fixed 6x13 字体。当我尝试更改终端字体时,Fixed 字体不在可用字体列表中。但是,mate-font-viewer
并xfontsel
显示 Fixed 字体。
我按照说明启用此字体我如何激活位图字体?和https://ubuntuforums.org/showthread.php?t=1270870。提供的解决方案似乎都不起作用。这是我到目前为止所做的:
- 我安装了
xfonts-100dpi
和xfonts-75dpi
包。 - 我
/etc/fonts/conf.d/
删除70-no-bitmaps.conf
并添加了70-yes-bitmaps.conf
或70-force-bitmaps.conf
符号链接。我一次尝试了一个。 - 按照说明进行操作https://ubuntuforums.org/showthread.php?t=1270870我特意
Fixed
通过添加来启用字体系列69-fixed-bitmaps.conf
。 - 每次试验我都会运行
dpkg-reconfigure fontconfig-config
并dpkg-reconfigure fontconfig
重新fc-cache -f
启动系统。
如何在 Ubuntu 20.04 上使用这些字体?
答案1
(请参阅下文了解 24.04 Wayland 更新)
Ubuntu 20.04需要手动启用位图字体,并且位图字体文件必须位于OpenType 位图(otb)格式。
启用位图字体:
$ rm /etc/fonts/conf.d/70-no-bitmaps.conf
$ ln -s ../conf.avail/70-force-bitmaps.conf /etc/fonts/conf.d/
$ dpkg-reconfigure fontconfig-config
$ dpkg-reconfigure fontconfig
$ fc-list | grep Fixed | grep 6x13.pcf
/usr/share/fonts/X11/misc/6x13.pcf.gz: Fixed:style=SemiCondensed
/usr/share/fonts/X11/misc/trad--6x13.pcf.gz: Fixed:style=SemiCondensed
如果您没有 otb 字体,则需要从 bdf 字体转换(从 pcf 字体转换将导致大小不正确)。可以使用 进行此转换fonttosfnt
。不幸的是,Ubuntu 20.04.1 中的 版本fonttosfnt
存在错误,输出的字体间距不正确(请参阅1,2),因此需要使用最新的git代码。
从 git 安装最新的 fonttosfnt:
$ git clone https://gitlab.freedesktop.org/xorg/app/fonttosfnt.git
$ apt-get build-dep xfonts-utils libfreetype6-dev libfontconfig1-dev xclip libfontenc-dev x11proto-core-dev
$ cd fonttosfnt
$ ./autogen.sh
$ ./configure
$ make
下载 6x13.bdf,重命名以避免与.pcf 字体冲突,并转换为 otb 格式:
wget https://opensource.apple.com/source/X11fonts/X11fonts-14/font-misc-misc/font-misc-misc-1.1.2/6x13.bdf
sed -i 's/FAMILY_NAME.*/FAMILY_NAME "MyFixed"/' 6x13.bdf
./fonttosfnt -b -c -g 2 -m 2 -o myfixed.otb 6x13.bdf
安装新的 otb 字体:
$ cp myfixed.otb /usr/local/share/fonts
$ dpkg-reconfigure fontconfig-config
$ dpkg-reconfigure fontconfig
$ fc-list | grep otb
/usr/local/share/fonts/myfixed.otb: MyFixed:style=SemiCondensed
启动应用程序,选择字体,搜索“myfixed”。
Ubuntu 24.04(Wayland)更新:
好消息是这个方法还是可以的,而且有些步骤比较简单,坏消息是系统6x13
字体还没更新到otb,也fonttosfnt
没有升级,所以我们还是得自己编译github代码,手动转换bdf字体:
$ sudo cat > /etc/fonts/conf.d/70-force-bitmaps.conf << EOF
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Accept bitmap fonts -->
<selectfont>
<acceptfont>
<pattern>
<patelt name="scalable"><bool>false</bool></patelt>
</pattern>
</acceptfont>
</selectfont>
</fontconfig>
EOF
$ fc-list | grep Fixed | grep 6x13.pcf
/usr/share/fonts/X11/misc/6x13.pcf.gz: Misc Fixed:style=SemiCondensed
$ git clone https://gitlab.freedesktop.org/xorg/app/fonttosfnt.git
$ sudo apt-get build-dep xfonts-utils
$ cd fonttosfnt
$ ./autogen.sh
$ ./configure
$ make
$ wget https://opensource.apple.com/source/X11fonts/X11fonts-14/font-misc-misc/font-misc-misc-1.1.2/6x13.bdf
$ sed -i 's/FAMILY_NAME.*/FAMILY_NAME "MyFixed"/' 6x13.bdf
$ ./fonttosfnt -b -c -g 2 -m 2 -o myfixed.otb 6x13.bdf
$ sudo cp myfixed.otb /usr/local/share/fonts
$ fc-list | grep otb
/usr/local/share/fonts/myfixed.otb: MyFixed:style=SemiCondensed
答案2
更新:由于在 22.04 中有一个 fonts-terminus-otb 包,因此只需要删除/etc/fonts/conf.d/70-no-bitmaps.conf
并重新启动 X。
原始答案:
虽然 Ubuntu 已经不再支持 disto 中包含的位图终端字体,但我还是使用了 ArcLinux 的 otb 位图字体。原始收据来自这里:https://forum.manjaro.org/t/howto-use-terminus-bitmap-font-with-pango-1-44/101442
以下是针对 Ubuntu 20.04 的改编:
- 从以下位置获取 otb 字体包https://www.archlinux.org/packages/community/any/terminus-font-otb/(从镜像链接下载)
- 使用 alien 将软件包转换为 .deb:
zstd -d terminus-font-otb-4.48-3-any.pkg.tar.zst
fakeroot alien terminus-font-otb-4.48-3-any.pkg.tar
- 删除 /etc/fonts/conf.d/70-no-bitmaps.conf
- 安装生成的 deb:
sudo dpkg -i terminus-font-otb_4.48-2_all.deb
- 注销-登录(否则重新启动 X)
瞧!漂亮的终点站字体又可用了!
答案3
Terminus 字体的较新版本 4.49 包含 OTB 字体安装程序。它与libpango
放弃旧位图字体支持的新版本兼容。请确保删除 Terminus 的发行版安装包,然后执行以下操作:
tar xzf terminus-font-4.49.1.tar.gz
cd terminus-font-4.49.1
make otb
sudo make install-otb
sudo cp 75-yes-terminus.conf /etc/fonts/conf.d/
sudo dpkg-reconfigure fontconfig
字体应该可以立即使用,无需重启终端。使用 中的 8x16 字体(size=11)进行了验证mate-terminal
,效果与旧版 18.04 一样好。我其实很满意,因为 Terminus 的 TTF 替换相当糟糕。
答案4
Ubuntu 22.04.1 LTS
apt install fonts-terminus-otb
在 gvim 中对我有用。.gvimrc 的一部分
set gfn=Terminus\ Medium\ 13
由于未知原因,它在 gnome 终端中不起作用。