in that frame; otherwise change each frame."
(interactive (internal-face-interactive "font"))
(if (stringp font)
- (setq font (or (query-fontset font)
+ (setq font (or (and (not (eq window-system 'w32))
+ (resolve-fontset-name font))
(x-resolve-font-name font 'default frame))))
(internal-set-face-1 face 'font font 3 frame)
;; Record that this face's font was set explicitly, not automatically,
in that frame; otherwise change each frame."
(interactive (internal-face-interactive "font"))
(if (stringp font)
- (setq font (or (and (fontset-name-p font)
- (or (query-fontset font)
- (instantiate-fontset font)))
+ (setq font (or (and (not (eq window-system 'w32))
+ (resolve-fontset-name font))
(x-resolve-font-name font 'default frame))))
(internal-set-face-1 face 'font font 3 frame))
;; Put the geometry parameters at the end.
;; Copy default-frame-alist so that they go after it.
(setq parameters (append parameters default-frame-alist parsed)))))
+
+ (if default-enable-multibyte-characters
+ ;; If an ASCII font is specified in PARAMETERS, we try to create
+ ;; a fontset from it, and use it for the new frame.
+ (condition-case nil
+ (let ((font (cdr (assq 'font parameters))))
+ (if (and font
+ (not (query-fontset font)))
+ (setq parameters
+ (cons (cons 'font (create-fontset-from-ascii-font font))
+ parameters))))
+ (error nil)))
+
(let (frame)
(if (null global-face-data)
(progn
your background is light, or nil (default) if you want Emacs to
examine the brightness for you."
:group 'faces
+ :set #'(lambda (var value)
+ (set var value)
+ (mapcar 'frame-set-background-mode (frame-list)))
+ :initialize 'custom-initialize-changed
:type '(choice (choice-item dark)
(choice-item light)
(choice-item :tag "default" nil)))
;; This applies only to faces with global color specifications
;; that are not simple constants.
(defun frame-update-face-colors (frame)
+ (frame-set-background-mode frame)
(let ((faces global-face-data))
(while faces
(condition-case nil