changeset 52200:b154b2a09262

* xfaces.c (better_font_p): Prefer a real scalable font; i.e. not what autoscaled. (best_matching_font): Once we find a better scalable font, set non_scalable_has_exact_height_p to 1.
author Kenichi Handa <handa@m17n.org>
date Fri, 15 Aug 2003 12:08:51 +0000
parents 7ae60c4fe488
children 6790b6f59b3a
files src/xfaces.c
diffstat 1 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfaces.c	Thu Aug 14 09:05:44 2003 +0000
+++ b/src/xfaces.c	Fri Aug 15 12:08:51 2003 +0000
@@ -6045,6 +6045,18 @@
 	return 1;
     }
 
+  if (! compare_pt_p)
+    {
+      /* We prefer a real scalable font; i.e. not what autoscaled.  */
+      int auto_scaled_1 = (font1->numeric[XLFD_POINT_SIZE] == 0
+			   && font1->numeric[XLFD_RESY] > 0);
+      int auto_scaled_2 = (font2->numeric[XLFD_POINT_SIZE] == 0
+			   && font2->numeric[XLFD_RESY] > 0);
+
+      if (auto_scaled_1 != auto_scaled_2)
+	return auto_scaled_2;
+    }
+
   return font1->registry_priority < font2->registry_priority;
 }
 
@@ -6277,7 +6289,10 @@
 		|| better_font_p (specified, fonts + i, best, 0, 0)
 		|| (!non_scalable_has_exact_height_p
 		    && !better_font_p (specified, best, fonts + i, 0, 0)))
-	      best = fonts + i;
+	      {
+		non_scalable_has_exact_height_p = 1;
+		best = fonts + i;
+	      }
 	  }
 
       if (needs_overstrike)