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).
This commit is contained in:
parent
31ca1841d2
commit
bf0d3f76dc
3 changed files with 16 additions and 2 deletions
|
@ -1,3 +1,13 @@
|
|||
2014-07-19 K. 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).
|
||||
|
||||
2014-07-18 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* frame.c (frame_unspecified_color): New function
|
||||
|
|
|
@ -2158,10 +2158,14 @@ font_score (Lisp_Object entity, Lisp_Object *spec_prop)
|
|||
lowest bit is set if the DPI is different. */
|
||||
EMACS_INT diff;
|
||||
EMACS_INT pixel_size = XINT (spec_prop[FONT_SIZE_INDEX]);
|
||||
EMACS_INT entity_size = XINT (AREF (entity, FONT_SIZE_INDEX));
|
||||
|
||||
if (CONSP (Vface_font_rescale_alist))
|
||||
pixel_size *= font_rescale_ratio (entity);
|
||||
diff = eabs (pixel_size - XINT (AREF (entity, FONT_SIZE_INDEX))) << 1;
|
||||
if (pixel_size * 2 < entity_size || entity_size * 2 < pixel_size)
|
||||
/* This size is wrong by more than a factor 2: reject it! */
|
||||
return 0xFFFFFFFF;
|
||||
diff = eabs (pixel_size - entity_size) << 1;
|
||||
if (! NILP (spec_prop[FONT_DPI_INDEX])
|
||||
&& ! EQ (spec_prop[FONT_DPI_INDEX], AREF (entity, FONT_DPI_INDEX)))
|
||||
diff |= 1;
|
||||
|
|
|
@ -5547,7 +5547,7 @@ realize_x_face (struct face_cache *cache, Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
|||
}
|
||||
if (! FONT_OBJECT_P (attrs[LFACE_FONT_INDEX]))
|
||||
attrs[LFACE_FONT_INDEX]
|
||||
= font_load_for_lface (f, attrs, attrs[LFACE_FONT_INDEX]);
|
||||
= font_load_for_lface (f, attrs, Ffont_spec (0, NULL));
|
||||
if (FONT_OBJECT_P (attrs[LFACE_FONT_INDEX]))
|
||||
{
|
||||
face->font = XFONT_OBJECT (attrs[LFACE_FONT_INDEX]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue