Em startup.el
, o código a seguir detecta alterações em face-font-rescale-alist
e redefine a fonte padrão, ignorando também as alterações provenientes de custom-set-face
(que é como eu estava definindo a fonte com a interface de personalização):
;; startup.el:670
(unless (eq face-font-rescale-alist old-face-font-rescale-alist)
(set-face-attribute 'default nil :font (font-spec)))
Portanto, é necessário definir face-font-rescale-alist
após o código que tenta apagar as personalizações. Isso pode ser feito anexando o aviso a frame-notice-user-settings
, que é executado após o código de redefinição de face:
;; in .emacs
(defadvice frame-notice-user-settings (before my:rescale-alist)
(message "Set face-font-rescale-alist")
(add-to-list 'face-font-rescale-alist
(cons (font-spec :family "STIXGeneral") 0.95) t))
(ad-activate 'frame-notice-user-settings)
Isso se aplica a face-font-rescale-alist
, como eu esperaria que funcionasse lendo a documentação.