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