diff lisp/font-menu.el @ 3094:ad2f4ae9895b

[xemacs-hg @ 2005-11-26 11:45:47 by stephent] Xft merge. <87k6ev4p8q.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Sat, 26 Nov 2005 11:46:25 +0000
parents 491f8cf78a9c
children 049dc907c17a
line wrap: on
line diff
--- a/lisp/font-menu.el	Fri Nov 25 22:51:38 2005 +0000
+++ b/lisp/font-menu.el	Sat Nov 26 11:46:25 2005 +0000
@@ -264,7 +264,9 @@
 		      (member 0 (aref entry 2))))
 	     (enable-menu-item item)
 	   (disable-menu-item item))
-	 (if (eq size s)
+	 ;; #### God save the Queen!
+	 ;; well, if this fails because s or size is non-numeric, fuck 'em
+	 (if (= size (if (featurep 'xft-fonts) (float s) s))
 	     (select-toggle-menu-item item)
 	   (deselect-toggle-menu-item item))
 	 item)
@@ -345,6 +347,7 @@
 				   (or weight from-weight)
 				   (or size from-size))
 	  (error
+	   (message "Error updating font of `%s'" face)
 	   (display-error c nil)
 	   (sit-for 1)))))
     ;; Set the default face's font after hacking the other faces, so that
@@ -356,16 +359,18 @@
 	(set-face-font 'default new-default-face-font
 		       (and font-menu-this-frame-only-p (selected-frame)))
       ;; OK Let Customize do it.
-      (custom-set-face-update-spec 'default
-				   (list (list 'type (device-type)))
-				   (list :family (or family from-family)
-					 :size (concat
-						(int-to-string
-						 (/ (or size from-size)
-						    (specifier-instance font-menu-size-scaling
-									(selected-device))))
-						"pt")))
-      (message "Font %s" (face-font-name 'default)))))
+      (let ((fsize (if (featurep 'xft-fonts)
+		       (int-to-string (or size from-size))
+		     (concat (int-to-string
+			      (/ (or size from-size)
+				 (specifier-instance font-menu-size-scaling
+						     (selected-device))))
+			     "pt"))))
+	(custom-set-face-update-spec 'default
+				     (list (list 'type (device-type)))
+				     (list :family (or family from-family)
+					   :size fsize))))
+    (message "Font %s" (face-font-name 'default))))
 
 
 ;; #### This should be called `font-menu-maybe-change-face'