# HG changeset patch # User Kenichi Handa # Date 897635459 0 # Node ID 50b8918e3c60f8c1c658c8d979d1b22d95d7e259 # Parent 2806e56a2aae5217d338035e7308a3c045dac96f While creating fontsets of style variants, pay attention to X resources XXX.attributeFont. diff -r 2806e56a2aae -r 50b8918e3c60 lisp/term/x-win.el --- a/lisp/term/x-win.el Fri Jun 12 07:10:59 1998 +0000 +++ b/lisp/term/x-win.el Fri Jun 12 07:10:59 1998 +0000 @@ -677,26 +677,36 @@ resolved-name xlfd-fields) (if (and font (not (query-fontset font)) - (setq resolved-name (or (x-resolve-font-name font) font)) + (setq resolved-name (x-resolve-font-name font)) (setq xlfd-fields (x-decompose-font-name resolved-name))) (if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum)) (new-fontset font (x-complement-fontset-spec xlfd-fields nil)) - (let (fontset fontset-spec) - ;; Create a fontset from FONT. The name is also - ;; generated from FONT. + ;; Create a fontset from FONT. The fontset name is + ;; generated from FONT. Create style variants of the + ;; fontset too. Font names in the variants are + ;; generated automatially unless X resources + ;; XXX.attribyteFont explicitly specify them. + (let ((styles (mapcar 'car x-style-funcs-alist)) + (faces '(bold italic bold-italic)) + face face-font fontset fontset-spec) + (while faces + (setq face (car faces)) + (setq face-font (x-get-resource (concat (symbol-name face) + ".attributeFont") + "Face.AttributeFont")) + (if face-font + (setq styles (cons (cons face face-font) + (delq face styles)))) + (setq faces (cdr faces))) (aset xlfd-fields xlfd-regexp-foundry-subnum nil) (aset xlfd-fields xlfd-regexp-family-subnum nil) - (aset xlfd-fields xlfd-regexp-adstyle-subnum nil) - (aset xlfd-fields xlfd-regexp-avgwidth-subnum nil) (aset xlfd-fields xlfd-regexp-registry-subnum "fontset") (aset xlfd-fields xlfd-regexp-encoding-subnum "startup") (setq fontset (x-compose-font-name xlfd-fields)) - (setq fontset-spec (concat fontset ", ascii:" resolved-name)) - (create-fontset-from-fontset-spec fontset-spec t) - (setq fontset-alias-alist - (cons (cons fontset font) fontset-alias-alist))) - ))))) + (create-fontset-from-fontset-spec + (concat fontset ", ascii:" font) styles) + )))))) ;; Sun expects the menu bar cut and paste commands to use the clipboard. ;; This has ,? to match both on Sunos and on Solaris.