Emacsの完璧なピクセルマッピングフォント

Emacsの完璧なピクセルマッピングフォント

UbuntuとIntelliJでは、PragmataPro Monoフォントは次のとおりです。

ここに画像の説明を入力してください。

完全にマッピングされたピクセルを確認してください。 IntelliJの設定Appearance & Behavior > Appearance > Antialiasing > EditorNo antialiasing

Emacsでは、同じフォントがアンチエイリアスされます。

ここに画像の説明を入力してください。

~/.Xresources埋め込みファイルを追加すると、Emacs.font: PragmataPro Mono-12:antialias=falseEmacsは次のようになります。

ここに画像の説明を入力してください。

フォントは自動的にビットマップ処理されますが、フォント仕様に従わないことに注意してください。

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
  • フォントサイズの指定
  • アンチエイリアシングをオフにする必要があります
  • ヒントはtrueでなければなりませんが、自動ヒントはオフにする必要があります。それ以外の場合、自動ヒントはフォント固有のヒントを置き換えます。

次に、(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")

関連情報