我在编写代码时在emacs中使用固定大小的像素字体。在emacs中指定字体大小时,它需要以磅为单位的字体大小。由于我在具有不同显示器大小的几台不同机器上使用我的.emacs文件,这意味着当一台机器上的字体看起来很棒时,它通常在另一台机器上模糊或太大。我通过检查实际的显示器大小(以像素为单位)在我的.emacs中解决了这个问题,但是正确的方法是以像素为单位指定fontsize,或者使用一个小的lisp存根来计算给定的点大小像素大小,假设dpi值可以从emacs中获得。
连连呢? 9月26日更新
我在Linux上(Ubuntu 10.04,x64)。
我目前的hackish解决方案是:
(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有什么关系。
答案 0 :(得分:0)
正如您对问题的评论中提到的,如果您使用的是Linux,那么XFT就是您想要的,因此在您的.emacs中使用类似(set-frame-font "Terminus-8")
的内容会很有效。
Borbus提到〜/ .Xresources - 我想你可以在〜/ .Xdefaults中使用Emacs*font: Font-name
。
我快速查看了您的个人资料,尝试确定您使用的操作系统,但我无法猜测。一些更多的信息可能是好的(操作系统,emacs版本)
答案 1 :(得分:0)
我一直在使用
(set-frame-font "font-name:pixelsize=16")
现在一段时间了。适用于Linux上的Emacs 25。 MS Windows记录了这种字体名称样式,但我已经在Linux上使用它多年了。