Emacs 中完美的像素映射字体

Emacs 中完美的像素映射字体

在 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")

相关内容