我通过手动编辑 .emacs custom-set-faces 解决了这个问题:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(blink-cursor-mode nil)
'(default-frame-alist (quote ((menu-bar-lines . 1) (vertical-scroll-bars . right) (tool-bar-lines . 0))))
'(scroll-bar-mode (quote right))
'(show-paren-mode t)
'(tool-bar-mode nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "#f0f0f0" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :style "Regular" :slant normal :weight normal :width normal :foundry "misc" :family "fixed" :height 130)))))
Emacs 似乎使用 fc-list 约定来选择字体。然而 shift-B1 菜单只显示本地机器上可用的字体,而不是X 服务器上可用的字体。这种不匹配可能是问题开始的地方。在我的情况下,从 emacs 菜单中选择默认字体实际上并没有改变我的 .emacs 设置。
我还尝试在 .emacs 代码中设置像素大小以更改字体大小,但唯一有效的 fc-list 参数是高度。当然,每个高度值在 75dpi 和 100dpi 服务器设置上看起来都不同。