gdi32: Don't load a font replacement if any face of the real family exists.

This commit is contained in:
Huw Davies 2011-08-04 16:15:58 +01:00 committed by Alexandre Julliard
parent e934d847b2
commit 33532613a8
1 changed files with 17 additions and 12 deletions

View File

@ -1613,19 +1613,24 @@ static void LoadReplaceList(void)
/* "NewName"="Oldname" */ /* "NewName"="Oldname" */
WideCharToMultiByte(CP_ACP, 0, value, -1, familyA, sizeof(familyA), NULL, NULL); WideCharToMultiByte(CP_ACP, 0, value, -1, familyA, sizeof(familyA), NULL, NULL);
/* Find the old family and hence all of the font files if(!find_family_from_name(value))
in that family */ {
LIST_FOR_EACH(family_elem_ptr, &font_list) { /* Find the old family and hence all of the font files
family = LIST_ENTRY(family_elem_ptr, Family, entry); in that family */
if(!strcmpiW(family->FamilyName, data)) { LIST_FOR_EACH(family_elem_ptr, &font_list) {
LIST_FOR_EACH(face_elem_ptr, &family->faces) { family = LIST_ENTRY(family_elem_ptr, Family, entry);
face = LIST_ENTRY(face_elem_ptr, Face, entry); if(!strcmpiW(family->FamilyName, data)) {
TRACE("mapping %s %s to %s\n", debugstr_w(family->FamilyName), LIST_FOR_EACH(face_elem_ptr, &family->faces) {
debugstr_w(face->StyleName), familyA); face = LIST_ENTRY(face_elem_ptr, Face, entry);
/* Now add a new entry with the new family name */ TRACE("mapping %s %s to %s\n", debugstr_w(family->FamilyName),
AddFontToList(face->file, face->font_data_ptr, face->font_data_size, familyA, family->FamilyName, ADDFONT_FORCE_BITMAP | (face->external ? ADDFONT_EXTERNAL_FONT : 0)); debugstr_w(face->StyleName), familyA);
/* Now add a new entry with the new family name */
AddFontToList(face->file, face->font_data_ptr, face->font_data_size,
familyA, family->FamilyName,
ADDFONT_FORCE_BITMAP | (face->external ? ADDFONT_EXTERNAL_FONT : 0));
}
break;
} }
break;
} }
} }
/* reset dlen and vlen */ /* reset dlen and vlen */