我有一个与此相反的问题:Wine 中的字体平滑
以 Windows 方式呈现的字体看起来很模糊并且颜色偏移,就像在 Windows 上一样,所以我想完全禁用字体平滑。
我尝试过的:
- Regedit键
ClientSideAntiAliasWithRender
和ClientSideAntiAliasWithCore
HKCU/Software/Wine/X11 Driver
fontsmooth=disable
在winetricks
- 字体替换自这个答案,同时具有 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 的此类方法。