Я пытаюсь изменить размер шрифта по умолчанию, используя
(add-to-list 'face-font-rescale-alist (cons "^.*STIXGeneral.*$" 0.95) t)
Предполагается, что все шрифты с именем STIXGeneral будут перемасштабированы на 0,95, потому что для меня этот шрифт немного выше стандартного шрифта. Результирующее значение face-font-rescale-alist
:
(("-cdac$" . 1.3) ("^.*STIXGeneral.*$" . 0.95))
Однако в emacs 24.3 (также в версии git, а также в предварительной версии 24.3.92.1) результат добавления вышеупомянутого в .emacs
заключается в том, что шрифт неправильный на каждом кадре, кроме начального. Запуск 24.3 с -Q --eval="<expression above>"
дает:
(message "%s" (face-all-attributes 'default (selected-frame)))
New frame: ((:family . Geneva) (:foundry . apple) (:width . normal) (:height . 120) (:weight . normal) (:slant . normal) (:underline) (:overline) (:strike-through) (:box) (:inverse-video) (:foreground . Black) (:background . White) (:stipple) (:inherit))
Initial frame: ((:family . Menlo) (:foundry . apple) (:width . normal) (:height . 120) (:weight . normal) (:slant . normal) (:underline) (:overline) (:strike-through) (:box) (:inverse-video) (:foreground . Black) (:background . White) (:stipple) (:inherit))
С моей обычной .emacs
на git-версии:
New frame: "((:family . Helvetica) (:foundry . nil) (:width . normal) (:height . 110) (:weight . normal) (:slant . normal) (:underline) (:overline) (:strike-through) (:box) (:inverse-video) (:foreground . #000000) (:background . AliceBlue) (:stipple) (:inherit))"
Initial frame: ((:family . Source Code Pro) (:foundry . nil) (:width . normal) (:height . 110) (:weight . normal) (:slant . normal) (:underline) (:overline) (:strike-through) (:box) (:inverse-video) (:foreground . #000000) (:background . AliceBlue) (:stipple) (:inherit))
Лицо в начальном кадре - это то, что я ожидаю. Место, где face-font-rescale-alist
влияет на шрифт, находится в font_score
в font.c
(ссылка). Та же проблема возникает в git-версии, если я заменяю (add-to-list ...)
на (setq face-font-rescale-alist nil)
.
Что я здесь не так делаю?