0

编写代码时,我在 emacs 中使用固定大小的像素字体。在 emacs 中指定字体大小时,它需要以磅为单位的字体大小。由于我在几台具有不同显示器尺寸的不同机器上使用我的 .emacs 文件,这意味着当字体在一台机器上看起来不错时,它通常在另一台机器上模糊或太大。我已经在我的 .emacs 中通过检查以像素为单位的实际监视器大小来解决这个问题,但正确的方法是以像素为单位指定字体大小,或者有一个小的 lisp 存根来计算给定的正确点大小像素大小,假设 dpi 值可从 emacs 中获得。

建议? 9 月 26 日更新

我在 Linux(Ubuntu 10.04,x64)上。

我目前的骇人听闻的解决方案是:

(if (>= (x-display-pixel-height) 1200)
(custom-set-faces
 '(default ((t (:stipple nil :background "black" :foreground "cornsilk" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :family "proggycleanttsz"))))))

只有 height 属性与我之前在 .emacs 文件中设置的位置不同。在另一台机器上,我必须将其设置为 90 才能使其“像素完美”。我试着放一个:

(set-frame-font "proggycleanttsz")

相反,但这不起作用。回顾我之前的尝试,发现我现在使用的是truetype版本的字体,也就是说问题的主题并不完全正确,但无论如何,它看起来很像像素字体,但只是在完全正确的尺寸。不确定这如何与 truetype 一起使用。

4

2 回答 2

2

我一直在使用

(set-frame-font "font-name:pixelsize=16")

有一段时间了。在 Linux 上与 Emacs 25 一起工作正常。这种风格的字体名称是为MS Windows记录的,但我多年来一直在 Linux 上使用它。

于 2017-10-09T11:40:30.303 回答
1

正如对您的问题的评论中提到的,如果您使用的是 linux,那么 XFT 就是您想要的,因此(set-frame-font "Terminus-8")在您的 .emacs 中使用类似的东西会很好。

Borbus 提到 ~/.Xresources - 我认为你可以Emacs*font: Font-name在 ~/.Xdefaults 中使用。

我快速浏览了您的个人资料,试图确定您使用的操作系统,但我猜不出来。更多信息可能很好(操作系统,emacs 版本)

于 2010-09-25T20:49:09.420 回答