Check FC_DUAL too. For such fonts, check width one by one (Bug#4129).

* xftfont.c (xftfont_open): Check font width one by one also when
spacing is dual.

* ftfont.c (ftfont_open): Ditto.
This commit is contained in:
Naohiro Aota 2010-06-30 10:22:18 -04:00 committed by Chong Yidong
parent 8bf1c7863f
commit 3d8416fce9
3 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2010-06-30 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-26 Andreas Schwab <schwab@linux-m68k.org>
* alloc.c (Fmake_byte_code): Don't access undefined argument

View file

@ -1262,7 +1262,7 @@ ftfont_open (f, entity, pixel_size)
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);

View file

@ -429,7 +429,7 @@ xftfont_open (f, entity, pixel_size)
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;