+2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
+
2008-02-18 Jan Dj\e$(Q)Z\e(Brv <jan.h.d@swipnet.se>
* xfns.c (Fx_show_tip): Set string to " " if empty.
#define CHECK_VALIDATE_FONT_SPEC(x) \
do { \
- if (! FONT_SPEC_P (x)) x = wrong_type_argument (Qfont, x); \
+ if (! FONT_SPEC_P (x)) wrong_type_argument (Qfont, x); \
x = font_prop_validate (x); \
} while (0)
xassert (NUMBERP (val) || NILP (val));
if (INTEGERP (val))
{
- f[XLFD_PIXEL_INDEX] = alloca (22);
- i = XINT (val);
+ int i = XINT (val);
+ if (i <= 0)
+ i = pixel_size;
if (i > 0)
- len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1;
- else if (pixel_size > 0)
- len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", pixel_size) + 1;
- f[XLFD_PIXEL_INDEX] = "*-*", len += 4;
+ {
+ f[XLFD_PIXEL_INDEX] = alloca (22);
+ len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1;
+ }
+ else
+ f[XLFD_PIXEL_INDEX] = "*-*", len += 4;
}
else if (FLOATP (val))
{
+ int i = XFLOAT_DATA (val) * 10;
f[XLFD_PIXEL_INDEX] = alloca (12);
- i = XFLOAT_DATA (val) * 10;
len += sprintf (f[XLFD_PIXEL_INDEX], "*-%d", i) + 1;
}
else