Konsole KDE 4.3.4 中的字体损坏

Konsole KDE 4.3.4 中的字体损坏

我遇到了一个奇怪的情况 - 几天前升级 KDE 中的字体后控制台坏了。更具体地说 - 标准字体看起来或多或少还可以,但是当我使用我的国家字符(如 ąćęłńśóźż)时,它们看起来都坏了 - 就像来自其他字体,或者缩放得很差。

同样的问题并不存在于GNOME 终端

我通常使用终点站字体,所以我用它来演示,但它也显示其他字体 - 如果有必要我会提供列表。

Konsole 截图:

Konsole 截图

GNOME 终端截图:

Gnome 终端屏幕截图

至于我的设置:

=$ cat /etc/X11/xorg.conf
Section "Device"
    Identifier  "Builtin Default intel Device 0"
    Driver  "intel"
EndSection
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Monitor Vendor"
    ModelName      "Monitor Model"
EndSection
Section "Screen"
    Identifier  "Builtin Default intel Screen 0"
    Device  "Builtin Default intel Device 0"
    Monitor "Monitor0"
EndSection
Section "InputDevice"
    Identifier  "touchpad"
    Driver  "synaptics"
    Option "CorePointer"
EndSection
Section "ServerLayout"
    Identifier  "Builtin Default Layout"
    Screen  "Builtin Default intel Screen 0"
    InputDevice "touchpad"
EndSection

=$ xdpyinfo | grep -E resolution\|dimensions
  dimensions:    1680x1050 pixels (444x277 millimeters)
  resolution:    96x96 dots per inch

我尝试在系统设置中强制 DPI(为 120),或者将显示器尺寸添加到 xorg.conf - 到目前为止都没有任何帮助。

我应该怎么做才能让它再次正常运转?

答案1

当你输入以下内容时会发生什么:

  % locale

根据您的发行版,您将需要一个 UTF-8 语言环境。

答案2

一些想法,只是按破坏性递增的顺序进行的猜测。我没有 Arch,所以无法测试它。请事先进行备份。

  1. 刷新字体缓存。重新启动konsole

    sudo fc-cache -srv
    fc-cache -rv
    
  2. 运行qtconfig并进行字体替换。重新启动konsole

  3. 将以下内容添加到您的xorg.conf,以及您的系统具有的任何其他包含字体文件的路径,然后重新启动 X 会话。

    Section "Files"
      FontPath     "/usr/share/fonts/local"
      FontPath     "/usr/share/fonts/Type1"
      FontPath     "/usr/share/fonts/URW"
      FontPath     "/usr/share/fonts/truetype"
      FontPath     "/usr/share/fonts/xtest"
      FontPath     "/opt/kde3/share/fonts"
    EndSection
    
  4. 退出桌面会话并移开~/.qt~/.kderc~/.fonts、。(如果您有用户安装的字体文件,则可以保留它们 - 通常的扩展名是和。)按~/.fonts.conf上述方法刷新字体缓存并登录。您必须重新应用或重做某些字体或字体相关设置。/etc/fonts/local.conf~/.fonts.ttf.pcf

答案3

您的 /etc 文件中是否设置了 UTF8 语言环境?

应该是类似下面的内容

/etc/rc.conf:

LOCALE="en_US.utf8" 
KEYMAP="en" 

在 /etc/profile 中:

xport LANG="en_US.utf8" 
export LANGUAGE="en_US.utf8" 

/etc/locale.gen:

en_US.UTF-8     UTF-8 

答案4

大概一个 Qt 错误

Terminus 字体的波兰语字符无法正确呈现

我创建了一个非常简单的 Qt 应用程序(源代码可在 gist 上找到)。它创建了几个按钮,每个按钮都具有相同的文本(第一行是普通字符,第二行是波兰字符)。每个按钮都有不同大小的 Terminus 字体。

当我运行该程序时,波兰语字符会使用不同的字体(可能是默认字体)来呈现某些尺寸。当我将 LANG 变量设置为“pl”并运行该程序时,所有字符都会正确呈现。当我将 dpi 从 96(默认)更改为其他值(例如 97)并运行该程序时,所有字符都会正确呈现。

我在两台机器上检查了这一点:Debian Testing(Qt 4.7.3)和 Ubuntu Lucid(Qt 4.6.2)。行为是相同的,屏幕截图在附件中。

相关内容