changeset 109082:8dc2952aaa12

Check FC_DUAL too. For such fonts, check width one by one.
author Kenichi Handa <handa@etlken>
date Wed, 30 Jun 2010 15:56:19 +0900
parents ec99501be565 (current diff) bcae1f83a33e (diff)
children 52060ddf14aa
files
diffstat 3 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Jun 29 23:38:13 2010 -0700
+++ b/src/ChangeLog	Wed Jun 30 15:56:19 2010 +0900
@@ -1,3 +1,10 @@
+2009-06-17  Naohiro Aota  <naota@elisp.net>  (tiny change)
+
+	* xftfont.c (xftfont_open): Check font width one by one also when
+	spacing is dual.
+
+	* ftfont.c (ftfont_open): Ditto.
+
 2010-06-30  Glenn Morris  <rgm@gnu.org>
 
 	* s/sol2-6.h (INHIBIT_X11R6_XIM): Remove, handled by configure now.
--- a/src/ftfont.c	Tue Jun 29 23:38:13 2010 -0700
+++ b/src/ftfont.c	Wed Jun 30 15:56:19 2010 +0900
@@ -1262,7 +1262,7 @@
     spacing = XINT (AREF (entity, FONT_SPACING_INDEX));
   else
     spacing = FC_PROPORTIONAL;
-  if (spacing != FC_PROPORTIONAL)
+  if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL)
     font->min_width = font->average_width = font->space_width
       = (scalable ? ft_face->max_advance_width * size / upEM
 	 : ft_face->size->metrics.max_advance >> 6);
--- a/src/xftfont.c	Tue Jun 29 23:38:13 2010 -0700
+++ b/src/xftfont.c	Wed Jun 30 15:56:19 2010 +0900
@@ -429,7 +429,7 @@
 	ascii_printable[i] = ' ' + i;
     }
   BLOCK_INPUT;
-  if (spacing != FC_PROPORTIONAL)
+  if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL)
     {
       font->min_width = font->average_width = font->space_width
 	= xftfont->max_advance_width;