# HG changeset patch # User Kenichi Handa # Date 899440762 0 # Node ID 5dee1f64801fa729848f390c699efd831804d72c # Parent 160c346d6192687d66af7fde607bd5f5a3a0dee5 Fill weight and slant fields of a fontset generted from the specified ASCII font by values got from the resolved ASCII font name. diff -r 160c346d6192 -r 5dee1f64801f lisp/term/x-win.el --- a/lisp/term/x-win.el Fri Jul 03 04:39:22 1998 +0000 +++ b/lisp/term/x-win.el Fri Jul 03 04:39:22 1998 +0000 @@ -674,10 +674,10 @@ (let ((font (or (cdr (assq 'font initial-frame-alist)) (cdr (assq 'font default-frame-alist)) (x-get-resource "font" "Font"))) - xlfd-fields) + xlfd-fields resolved-name) (if (and font (not (query-fontset font)) - (x-resolve-font-name font) + (setq resolved-name (x-resolve-font-name font)) (setq xlfd-fields (x-decompose-font-name font))) (if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum)) @@ -703,6 +703,23 @@ (aset xlfd-fields xlfd-regexp-family-subnum nil) (aset xlfd-fields xlfd-regexp-registry-subnum "fontset") (aset xlfd-fields xlfd-regexp-encoding-subnum "startup") + ;; The fontset name should have concrete values in + ;; weight and slant field. + (let ((weight (aref xlfd-fields xlfd-regexp-weight-subnum)) + (slant (aref xlfd-fields xlfd-regexp-slant-subnum)) + xlfd-temp) + (if (or (not weight) (string-match "[*?]*" weight)) + (progn + (setq xlfd-temp (x-decompose-font-name resolved-name)) + (aset xlfd-fields xlfd-regexp-weight-subnum + (aref xlfd-temp xlfd-regexp-weight-subnum)))) + (if (or (not slant) (string-match "[*?]*" slant)) + (progn + (or xlfd-temp + (setq xlfd-temp + (x-decompose-font-name resolved-name))) + (aset xlfd-fields xlfd-regexp-slant-subnum + (aref xlfd-temp xlfd-regexp-slant-subnum))))) (setq fontset (x-compose-font-name xlfd-fields)) (create-fontset-from-fontset-spec (concat fontset ", ascii:" font) styles)