在 Wine 中禁用字体平滑

在 Wine 中禁用字体平滑

我有一个与此相反的问题:Wine 中的字体平滑

以 Windows 方式呈现的字体看起来很模糊并且颜色偏移,就像在 Windows 上一样,所以我想完全禁用字体平滑。

我尝试过的:

  • Regedit键ClientSideAntiAliasWithRenderClientSideAntiAliasWithCoreHKCU/Software/Wine/X11 Driver
  • fontsmooth=disablewinetricks
  • 字体替换自这个答案,同时具有 Linux 字体和 Windows 字体
  • wineboot所有这些尝试都经过测试并真正重启

结果:无。Notepad++ 中的菜单和 Wordpad 中的文本仍然模糊,看起来与之前完全一样。

我在 Manjaro 20.0.1 上使用 Wine 5.8。

答案1

Wine 显然尊重系统的字体平滑设置,无论其他地方设置了什么。例如,此设置位于我的系统(Manjaro、Mate 桌面环境)设置中的“外观”→“外观”→“字体”→“渲染”→“详细信息”→“平滑”中。

好消息是 Wine 不会在程序运行时更新其字体平滑。因此,可以禁用字体平滑,启动程序以使用 Wine 运行,然后再次启用字体平滑,而不会对系统的其余部分产生任何影响。坏消息是,执行
此操作的方式取决于桌面环境(可能还取决于发行版),因此这个答案只能涵盖其中的一小部分。

Mate 的一个示例脚本如下:

gsettings set org.mate.font-rendering antialiasing 'none'
env WINEPREFIX="/home/fabian/.wine" wine C:\\windows\\command\\start.exe /Unix /home/fabian/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Notepad++.lnk "$1"
sleep 1
gsettings set org.mate.font-rendering antialiasing 'rgba'

第二个命令只是 Notepad++ 的启动命令,就像使用 安装 Notepad++ 时在主菜单中自动生成的命令一样pacman,只不过我添加了 » "$1"«,以便可以使用它从文件管理器打开文件。这似乎也适用于多个文件。
如果我没记错的话,使用 » "$@"« 或 » $@« 会导致某种问题,所以我暂时保留它。

更通用的脚本是这样的,它首先读取设置,然后恢复原状:

antialiasing=`gsettings get org.mate.font-rendering antialiasing`
gsettings set org.mate.font-rendering antialiasing 'none'
# insert your Wine command here
sleep 1
gsettings set org.mate.font-rendering antialiasing $antialiasing

KDE 的示例脚本如下:

xrdb -load /home/fabian/misc/antiantialiasing.bak
cd /home/fabian
env WINEPREFIX="/home/fabian/.wine" wine C:\\windows\\command\\start.exe /Unix /home/fabian/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Notepad++.lnk "$1"
sleep 1
xrdb -load /home/fabian/misc/antialiasing.bak

这里antialiasing.bak只是一个包含 » Xft.antialias: 1« 的文本文件,并且antiantialiasing.bak是一个包含 » « 的文本文件Xft.antialias: 0

此方法可能在 Mate 中也同样有效或类似,但我尚未测试过,而且该gsettings方法似乎更简洁/更有意义。我尚未找到适用于 KDE 的此类方法。

相关内容