diff options
| author | Kenichi Handa | 2009-07-28 02:09:52 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2009-07-28 02:09:52 +0000 |
| commit | 087048cd5d94bd63dd71ed36fb79f0388275cf6e (patch) | |
| tree | ee8eaaf5eb5b8b61559e2030a7c3f0797275ba37 /src/font.c | |
| parent | 4fa58085e38a947ebdd0e9e8e505f23ea2aaecbd (diff) | |
| download | emacs-087048cd5d94bd63dd71ed36fb79f0388275cf6e.tar.gz emacs-087048cd5d94bd63dd71ed36fb79f0388275cf6e.zip | |
(font_parse_xlfd): Check DPI and AVGWIDTH properties more rigidly.
Diffstat (limited to 'src/font.c')
| -rw-r--r-- | src/font.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/font.c b/src/font.c index d2cd1febe93..cfc48523d12 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -1139,7 +1139,10 @@ font_parse_xlfd (name, font) | |||
| 1139 | } | 1139 | } |
| 1140 | } | 1140 | } |
| 1141 | 1141 | ||
| 1142 | ASET (font, FONT_DPI_INDEX, INTERN_FIELD (XLFD_RESY_INDEX)); | 1142 | val = INTERN_FIELD (XLFD_RESY_INDEX); |
| 1143 | if (! NILP (val) && ! INTEGERP (val)) | ||
| 1144 | return -1; | ||
| 1145 | ASET (font, FONT_DPI_INDEX, val); | ||
| 1143 | val = INTERN_FIELD (XLFD_SPACING_INDEX); | 1146 | val = INTERN_FIELD (XLFD_SPACING_INDEX); |
| 1144 | if (! NILP (val)) | 1147 | if (! NILP (val)) |
| 1145 | { | 1148 | { |
| @@ -1151,8 +1154,10 @@ font_parse_xlfd (name, font) | |||
| 1151 | p = f[XLFD_AVGWIDTH_INDEX]; | 1154 | p = f[XLFD_AVGWIDTH_INDEX]; |
| 1152 | if (*p == '~') | 1155 | if (*p == '~') |
| 1153 | p++; | 1156 | p++; |
| 1154 | ASET (font, FONT_AVGWIDTH_INDEX, | 1157 | val = font_intern_prop (p, f[XLFD_REGISTRY_INDEX] - 1 - p, 0); |
| 1155 | font_intern_prop (p, f[XLFD_REGISTRY_INDEX] - 1 - p, 0)); | 1158 | if (! NILP (val) && ! INTEGERP (val)) |
| 1159 | return -1; | ||
| 1160 | ASET (font, FONT_AVGWIDTH_INDEX, val); | ||
| 1156 | } | 1161 | } |
| 1157 | else | 1162 | else |
| 1158 | { | 1163 | { |