0

我习惯了 emacs 中的 9x15 字体,但由于我在 Exceed 服务器中切换到 100dpi 设置,我无法加载它们。emacs 字体菜单仅提供 Liberation、Sans、Monospace 和 Serif 供选择,但不提供我需要的固定大小字体。

xterm 工作正常。我可以使用我想要的任何固定大小的字体运行它,例如:'xterm -fn 9x13'。如果我用 emacs 尝试相同的命令,它会出现另一种字体。这是 emacs describe-font 命令的输出:

名称(打开者):-unknown-Liberation Sans-normal-normal-normal --17- -75-75 -*-0-iso10646-1 全名:Liberation Sans:pixelsize=17:foundry=unknown:weight=normal :slant=normal:width=normal:dpi=75:scalable=true size: 17 height: 20 baseline-offset: 0 relative-compose: 0

我的配置是:

超过 Windows XServer 版本 14,在 Windows 上运行的窗口管理器。在 Linux 2.6.32 (Red Hat) 上运行的 Emacs

如何强制 emacs 使用 9x15 字体?

4

1 回答 1

0

我通过手动编辑 .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 服务器设置上看起来都不同。

于 2013-05-03T16:32:03.013 回答