如何在 20.04 上激活位图字体?

如何在 20.04 上激活位图字体?

我正在使用 Ubuntu Mate 20.04。我想在终端(不是 xterm)中使用 Fixed 6x13 字体。当我尝试更改终端字体时,Fixed 字体不在可用字体列表中。但是,mate-font-viewerxfontsel显示 Fixed 字体。

我按照说明启用此字体我如何激活位图字体?https://ubuntuforums.org/showthread.php?t=1270870。提供的解决方案似乎都不起作用。这是我到目前为止所做的:

  • 我安装了xfonts-100dpixfonts-75dpi包。
  • /etc/fonts/conf.d/删除70-no-bitmaps.conf并添加了70-yes-bitmaps.conf70-force-bitmaps.conf符号链接。我一次尝试了一个。
  • 按照说明进行操作https://ubuntuforums.org/showthread.php?t=1270870我特意Fixed通过添加来启用字体系列69-fixed-bitmaps.conf
  • 每次试验我都会运行dpkg-reconfigure fontconfig-configdpkg-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存在错误,输出的字体间距不正确(请参阅12),因此需要使用最新的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 的改编:

  1. 从以下位置获取 otb 字体包https://www.archlinux.org/packages/community/any/terminus-font-otb/(从镜像链接下载)
  2. 使用 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
  1. 删除 /etc/fonts/conf.d/70-no-bitmaps.conf
  2. 安装生成的 deb:
    sudo dpkg -i terminus-font-otb_4.48-2_all.deb
  1. 注销-登录(否则重新启动 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 终端中不起作用。

相关内容