diff options
| author | Kenichi Handa | 2014-07-20 00:18:23 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2014-07-20 00:18:23 +0900 |
| commit | bf0d3f76dcfe7881cb3058169b51cf6602fdcdcb (patch) | |
| tree | 4d4c958973053b9c4427272c204b5e21fb03f89c /src/font.c | |
| parent | 31ca1841d2e25983fbcc44302ee9eff0b3a1554a (diff) | |
| download | emacs-bf0d3f76dcfe7881cb3058169b51cf6602fdcdcb.tar.gz emacs-bf0d3f76dcfe7881cb3058169b51cf6602fdcdcb.zip | |
2014-07-19 Kenichi Handa <handa@gnu.org>
* xfaces.c (realize_x_face): Call font_load_for_lface with no
mandatory font spec (Bug#17973).
2014-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
* font.c (font_score): Return the worst score if the size of
ENTITY is wrong by more than a factor 2 (Bug#17973).
Diffstat (limited to 'src/font.c')
| -rw-r--r-- | src/font.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/font.c b/src/font.c index ef8b5e40eeb..054a68bfd94 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2158,10 +2158,14 @@ font_score (Lisp_Object entity, Lisp_Object *spec_prop) | |||
| 2158 | lowest bit is set if the DPI is different. */ | 2158 | lowest bit is set if the DPI is different. */ |
| 2159 | EMACS_INT diff; | 2159 | EMACS_INT diff; |
| 2160 | EMACS_INT pixel_size = XINT (spec_prop[FONT_SIZE_INDEX]); | 2160 | EMACS_INT pixel_size = XINT (spec_prop[FONT_SIZE_INDEX]); |
| 2161 | EMACS_INT entity_size = XINT (AREF (entity, FONT_SIZE_INDEX)); | ||
| 2161 | 2162 | ||
| 2162 | if (CONSP (Vface_font_rescale_alist)) | 2163 | if (CONSP (Vface_font_rescale_alist)) |
| 2163 | pixel_size *= font_rescale_ratio (entity); | 2164 | pixel_size *= font_rescale_ratio (entity); |
| 2164 | diff = eabs (pixel_size - XINT (AREF (entity, FONT_SIZE_INDEX))) << 1; | 2165 | if (pixel_size * 2 < entity_size || entity_size * 2 < pixel_size) |
| 2166 | /* This size is wrong by more than a factor 2: reject it! */ | ||
| 2167 | return 0xFFFFFFFF; | ||
| 2168 | diff = eabs (pixel_size - entity_size) << 1; | ||
| 2165 | if (! NILP (spec_prop[FONT_DPI_INDEX]) | 2169 | if (! NILP (spec_prop[FONT_DPI_INDEX]) |
| 2166 | && ! EQ (spec_prop[FONT_DPI_INDEX], AREF (entity, FONT_DPI_INDEX))) | 2170 | && ! EQ (spec_prop[FONT_DPI_INDEX], AREF (entity, FONT_DPI_INDEX))) |
| 2167 | diff |= 1; | 2171 | diff |= 1; |