changeset 36368:dbd54e46ee03

(x-complement-fontset-spec): In the case that we use ASCII font for the other charsets, use only family and regisry part of it.
author Kenichi Handa <handa@m17n.org>
date Sat, 24 Feb 2001 02:42:48 +0000
parents 55fbfd15c36b
children 8563da6180ae
files lisp/international/fontset.el
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/fontset.el	Fri Feb 23 21:35:45 2001 +0000
+++ b/lisp/international/fontset.el	Sat Feb 24 02:42:48 2001 +0000
@@ -315,7 +315,8 @@
 If a font specifid for ASCII supports the other charsets (see the
 variable `x-font-name-charset-alist'), add that information to FONTLIST."
   (let* ((slot (assq 'ascii fontlist))
-	 (ascii-font (cdr slot)))
+	 (ascii-font (cdr slot))
+	 ascii-font-spec)
     (if ascii-font
 	(setcdr slot (setq ascii-font (x-resolve-font-name ascii-font)))
       ;; If font for ASCII is not specified, add it.
@@ -326,6 +327,16 @@
 
     ;; If the font for ASCII also supports the other charsets, and
     ;; they are not specified in FONTLIST, add them.
+    (setq xlfd-fields (x-decompose-font-name ascii-font))
+    (if (not xlfd-fields)
+	(setq ascii-font-spec ascii-font)
+      (setq ascii-font-spec
+	    (cons (format "%s-%s"
+			  (aref xlfd-fields xlfd-regexp-foundry-subnum)
+			  (aref xlfd-fields xlfd-regexp-family-subnum))
+		  (format "%s-%s"
+			  (aref xlfd-fields xlfd-regexp-registry-subnum)
+			  (aref xlfd-fields xlfd-regexp-encoding-subnum)))))
     (let ((tail x-font-name-charset-alist)
 	  elt)
       (while tail
@@ -337,7 +348,7 @@
 		(setq charset (car charsets) charsets (cdr charsets))
 		(or (assq charset fontlist)
 		    (setq fontlist
-			  (cons (cons charset ascii-font) fontlist))))))))
+			  (cons (cons charset ascii-font-spec) fontlist))))))))
     
     fontlist))