diff options
| author | Stefan Monnier | 2008-02-18 18:38:49 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-02-18 18:38:49 +0000 |
| commit | 81aefea4661fd1a8a0766ca354be4578ee817287 (patch) | |
| tree | 1cb29bbffdbb982b8b6c37feab9257c603ea450f | |
| parent | 5137f982740d90774cb889395161058ede89bd85 (diff) | |
| download | emacs-81aefea4661fd1a8a0766ca354be4578ee817287.tar.gz emacs-81aefea4661fd1a8a0766ca354be4578ee817287.zip | |
(font_unparse_xlfd): Don't ignore integer pixel size specs.
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/font.c | 19 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8f89ffede5f..89d76226486 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs. | ||
| 4 | |||
| 1 | 2008-02-18 Jan Dj$(Q)Z(Brv <jan.h.d@swipnet.se> | 5 | 2008-02-18 Jan Dj$(Q)Z(Brv <jan.h.d@swipnet.se> |
| 2 | 6 | ||
| 3 | * xfns.c (Fx_show_tip): Set string to " " if empty. | 7 | * xfns.c (Fx_show_tip): Set string to " " if empty. |
diff --git a/src/font.c b/src/font.c index 70b239694c0..b8da3de5ac7 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -75,7 +75,7 @@ Lisp_Object Qiso8859_1, Qiso10646_1, Qunicode_bmp, Qunicode_sip; | |||
| 75 | 75 | ||
| 76 | #define CHECK_VALIDATE_FONT_SPEC(x) \ | 76 | #define CHECK_VALIDATE_FONT_SPEC(x) \ |
| 77 | do { \ | 77 | do { \ |
| 78 | if (! FONT_SPEC_P (x)) x = wrong_type_argument (Qfont, x); \ | 78 | if (! FONT_SPEC_P (x)) wrong_type_argument (Qfont, x); \ |
| 79 | x = font_prop_validate (x); \ | 79 | x = font_prop_validate (x); \ |
| 80 | } while (0) | 80 | } while (0) |
| 81 | 81 | ||
| @@ -1161,18 +1161,21 @@ font_unparse_xlfd (font, pixel_size, name, nbytes) | |||
| 1161 | xassert (NUMBERP (val) || NILP (val)); | 1161 | xassert (NUMBERP (val) || NILP (val)); |
| 1162 | if (INTEGERP (val)) | 1162 | if (INTEGERP (val)) |
| 1163 | { | 1163 | { |
| 1164 | f[XLFD_PIXEL_INDEX] = alloca (22); | 1164 | int i = XINT (val); |
| 1165 | i = XINT (val); | 1165 | if (i <= 0) |
| 1166 | i = pixel_size; | ||
| 1166 | if (i > 0) | 1167 | if (i > 0) |
| 1167 | len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1; | 1168 | { |
| 1168 | else if (pixel_size > 0) | 1169 | f[XLFD_PIXEL_INDEX] = alloca (22); |
| 1169 | len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", pixel_size) + 1; | 1170 | len += sprintf (f[XLFD_PIXEL_INDEX], "%d-*", i) + 1; |
| 1170 | f[XLFD_PIXEL_INDEX] = "*-*", len += 4; | 1171 | } |
| 1172 | else | ||
| 1173 | f[XLFD_PIXEL_INDEX] = "*-*", len += 4; | ||
| 1171 | } | 1174 | } |
| 1172 | else if (FLOATP (val)) | 1175 | else if (FLOATP (val)) |
| 1173 | { | 1176 | { |
| 1177 | int i = XFLOAT_DATA (val) * 10; | ||
| 1174 | f[XLFD_PIXEL_INDEX] = alloca (12); | 1178 | f[XLFD_PIXEL_INDEX] = alloca (12); |
| 1175 | i = XFLOAT_DATA (val) * 10; | ||
| 1176 | len += sprintf (f[XLFD_PIXEL_INDEX], "*-%d", i) + 1; | 1179 | len += sprintf (f[XLFD_PIXEL_INDEX], "*-%d", i) + 1; |
| 1177 | } | 1180 | } |
| 1178 | else | 1181 | else |