(from-size (aref font-data 2))
(from-weight (aref font-data 3))
(from-slant (aref font-data 4))
- new-default-face-font)
+ new-default-face-font
+ new-props)
(unless from-family
(signal 'error '("couldn't parse font name for default face")))
+ (when weight
+ (signal 'error '("Setting weight currently not supported")))
(setq new-default-face-font
(font-menu-load-font (or family from-family)
(or weight from-weight)
;; Set the default face's font after hacking the other faces, so that
;; the frame size doesn't change until we are all done.
+ ;; If we need to be frame local we do the changes ourselves.
+ (if font-menu-this-frame-only-p
;;; WMP - we need to honor font-menu-this-frame-only-p here!
- (set-face-font 'default new-default-face-font
- (and font-menu-this-frame-only-p (selected-frame)))
- (message "Font %s" (face-font-name 'default))))
+ (set-face-font 'default new-default-face-font
+ (and font-menu-this-frame-only-p (selected-frame)))
+ ;; OK Let Customize do it.
+ (when (and family (not (equal family from-family)))
+ (setq new-props (append (list :family family) new-props)))
+ (when (and size (not (equal size from-size)))
+ (setq new-props (append
+ (list :size (concat (int-to-string (/ size 10)) "pt")) new-props)))
+ (custom-set-face-update-spec 'default '((type x)) new-props)
+ (message "Font %s" (face-font-name 'default)))))
(defun font-menu-change-face (face