固定大小像素字体的Emacs字体大小(以像素为单位)?

时间:2010-09-23 13:11:40

标签: emacs font-size emacs-faces

我在编写代码时在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有什么关系。

2 个答案:

答案 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上使用它多年了。