我在編寫代碼時在emacs中使用了固定大小的像素字體。在emacs中指定字體大小時,它需要點數的字體大小。由於我在幾臺不同的顯示器尺寸的不同機器上使用我的.emacs文件,這意味着當一臺機器上的字體看起來很棒時,它在另一臺機器上通常很模糊或太大。我已經在我的.emacs中通過檢查像素的實際顯示器大小解決了這個問題,但正確的方法是以像素爲單位指定字體大小,或者使用小的lisp存根來計算給定的給定大小像素大小,假設可從emacs內獲得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"))))))
只有高度屬性是從我前面已經在.emacs文件設置不同。在另一臺機器上,我必須將其設置爲90才能獲得「像素完美」。我試圖把:
(set-frame-font "proggycleanttsz")
取而代之,但那是行不通的。當我回顧我以前的嘗試時,我發現我現在使用truetype版本的字體,這意味着問題的主題不完全正確,但無論如何,它看起來非常像像素字體,但只在準確的大小。不知道這與truetype如何工作。
您是否知道,使用穩定的Emacs,您可以使用XFT字體,其中大小會自動適應DPI設置?請參閱C-h i d Emacs字體 –
fschmitt
2010-09-24 19:16:46
我確定可以在〜/ .Xresources文件中使用emacs.font設置字體大小,但我現在似乎無法做到這一點。 – Borbus 2010-09-24 19:25:23