(check_face_name): Check for fake helv. (Bug#2275)

(add_font_entity_to_list): Call check_face_name even when family
is unspecified.
This commit is contained in:
Jason Rumney 2009-02-12 15:00:26 +00:00
parent cb4a3e4288
commit 631ea4fbf8
2 changed files with 16 additions and 5 deletions

View file

@ -1,11 +1,15 @@
2009-02-12 Jason Rumney <jasonr@gnu.org>
* w32font.c (check_face_name): Check for fake helv. (Bug#2275)
(add_font_entity_to_list): Call check_face_name even when family
is unspecified.
* w32term.c (x_display_pixel_height, x_display_pixel_width):
Release DC when finished. Use NULL window to refer to desktop.
(w32_term_init): Use NULL window to refer to desktop. (Bug#460)
(w32_term_init): Use NULL window to refer to desktop. (Bug#460)
* w32font.c (add_font_entity_to_list): Fix check for substituted
raster fonts. (Bug#2219)
raster fonts. (Bug#2219)
2009-02-12 Kenichi Handa <handa@m17n.org>

View file

@ -1374,6 +1374,14 @@ check_face_name (font, full_name)
_strlwr (full_iname);
return strstr ("helvetica", full_iname) != NULL;
}
/* Same for Helv. */
if (!xstrcasecmp (font->lfFaceName, "helv"))
{
strncpy (full_iname, full_name, LF_FULLFACESIZE);
full_iname[LF_FULLFACESIZE] = 0;
_strlwr (full_iname);
return strstr ("helv", full_iname) != NULL;
}
/* Since Times is mapped to Times New Roman, a substring
match is not sufficient to filter out the bogus match. */
@ -1437,9 +1445,8 @@ add_font_entity_to_list (logical_font, physical_font, font_type, lParam)
logical_font->elfLogFont.lfFaceName))
/* Check for well known substitutions that mess things up in the
presence of Type-1 fonts of the same name. */
|| (match_data->pattern.lfFaceName[0]
&& !check_face_name (&logical_font->elfLogFont,
logical_font->elfFullName)))
|| (!check_face_name (&logical_font->elfLogFont,
logical_font->elfFullName)))
return 1;
/* Make a font entity for the font. */