在 Ubuntu、IntelliJ 中,字体 PragmataPro Mono 如下所示:
注意完美映射的像素。 IntelliJ 设置Appearance & Behavior > Appearance > Antialiasing > Editor
设为No antialiasing
。
在 Emacs 中,相同的字体是抗锯齿的:
如果我添加一个~/.Xresources
包含 的文件Emacs.font: PragmataPro Mono-12:antialias=false
,那么 Emacs 看起来像这样:
字体会自动位图化,但不按照字体的规范进行。
如何在 Emacs 中复制 IntelliJ 的渲染?
我在 Ubuntu-Cinnamon 和 Arch-Xfce 上重现了这个问题。谢谢。
答案1
如果渲染的抗锯齿版本的问题是外观太厚,您可以强制使用特定的字体提示。我在我的文件中以这种方式为 Lucida Console 字体做到了这一点~/.Xresources
:
Emacs.font: Lucida Console-14:antialias=true:hinting=true:autohint=false:hintstyle=3
可用的提示样式有:
hintnone hintstyle 0
hintslight hintstyle 1
hintmedium hintstyle 2
hintfull hintstyle 3
答案2
首先,.Xresources
您需要以下属性:
Emacs.font: PragmataPro Mono-12:antialias=false:hinting=true:autohint=false
- 指定字体大小
- 需要关闭抗锯齿功能
- hinting 需要为 true,但 autohint 需要关闭,否则自动提示将取代字体指定的提示。
其次,如果您(set-face-attribute 'default nil :font "Pragmata Pro Mono")
在 Emacs 中使用,这将恢复默认提示。您需要使用与以下相同的语法.Xresources
:
(set-face-attribute 'default nil
:font "PragmataPro Mono-12:antialias=false:hinting=true:autohint=false")