编写代码时,我在 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 一起使用。