KDE 字体在 Ubuntu 12.04 中无法呈现粗体

KDE 字体在 Ubuntu 12.04 中无法呈现粗体

我在 Ubuntu 12.04 中使用一些 KDE 程序:kate 和 yakuake。这两个程序都无法渲染粗体字体。相反,字体显示为“常规”。我该如何修复这个问题?

下图显示了 Kate 使用常规 Python 突出显示渲染 Python 的示例(使用 CompizConfig 设置管理器的“负片”选项反转颜色)。以下文字应显示为粗体:

  • 班级
  • 定义
  • __在里面__
  • 拉姆达
  • +
  • 打印

凯特

同样,Yakuake(或者可能是底层的 Konsole)没有渲染粗体。我的 LS_COLORS 包括:di=01;34(粗体蓝色)

弥久明

下面是我的 gnome-terminal 完美呈现粗体字体。

终端

答案1

您问这个问题已经有一段时间了,但我也遇到了同样的问题,并找到了问题的根源。

简洁版本

$ sudo rm /etc/fonts/conf.d/60-droid-sans-mono-fonts.conf(这只是一个符号链接,因此没有丢失实际的配置文件)。

长版本

该软件包ttf-droid被替换为。文件夹 /etc/fonts/conf.d/ 中的fonts-droid符号链接被重命名为。这意味着该文件中的配置现在被读取60-ttf-droid-sans-mono-fonts.conf60-droid-sans-mono-fonts.conf所有配置60-latin.conf并覆盖它。字体别名 Monospace(在 Yakuake 和 Kate 中默认使用)在 60-latin.conf 中定义为 DejaVu Sans Mono 的别名,但在 60-droid-sans-mono-fonts.conf 中定义为 Droid Sans Mono 的别名。顺便说一句,该字体没有粗体版本,至少 fonts-droid 包中的文件没有。因此,在 Yakuake 和 Kate 应该渲染粗体字母的所有地方,渲染都会回退到字体的常规版本。

如果您不想更改系统范围内的设置,您可以改为在 ~/.fonts.conf 中为 Monospace 添加您自己的别名。这应该有效:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>DejaVu Sans Mono</family>
    </prefer>
  </alias>
</fontconfig>

您可以查看 /etc/fonts/conf.avail 中的所有文件以及fonts.conf 手册页看看您还可以将什么放入 .fonts.conf 中。

相关内容