KDE 字体在 Ubuntu 12.04 中不呈现粗体

Dor*_*ran 6 kde fonts 12.04

我将 Ubuntu 12.04 与一些 KDE 程序一起使用:kate 和 yakuake。这些程序都不会呈现粗体。相反,字体显示为“常规”。我怎样才能解决这个问题?

下图显示了 Kate 渲染 python 的示例,突出显示了常用的 python(使用 CompizConfig 设置管理器的负选项反转颜色)。以下单词应该显示为粗体:

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

凯特

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

药明

下面是我的 gnome-terminal 渲染粗体字体就好了。

终端

小智 5

自从你问起已经有一段时间了,但我遇到了同样的问题并深入了解了它。

精简版

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

长版

ttf-droid被替换了fonts-droid。这样,60-ttf-droid-sans-mono-fonts.conf文件夹 /etc/fonts/conf.d/中的符号链接被重命名为60-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>
Run Code Online (Sandbox Code Playgroud)

您可以查看 /etc/fonts/conf.avail 中的所有文件和fonts.conf 联机帮助页,看看您还可以在 .fonts.conf 中添加什么。