From: Jason Rumney Date: Thu, 29 May 2008 16:57:00 +0000 (+0000) Subject: (add_font_entity_to_list): Allow non-opentype truetype fonts back X-Git-Tag: emacs-pretest-23.0.90~5226 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ef8e283dd500fa3565915088549b2bc841d21b5f;p=emacs.git (add_font_entity_to_list): Allow non-opentype truetype fonts back in the uniscribe backend, but disallow any font that has no unicode subrange support. --- diff --git a/src/w32font.c b/src/w32font.c index 78f8049d851..7509a795432 100644 --- a/src/w32font.c +++ b/src/w32font.c @@ -1321,7 +1321,14 @@ add_font_entity_to_list (logical_font, physical_font, font_type, lParam) Lisp_Object backend = match_data->opentype_only ? Quniscribe : Qgdi; if ((!match_data->opentype_only - || (physical_font->ntmTm.ntmFlags & NTMFLAGS_OPENTYPE)) + || (((physical_font->ntmTm.ntmFlags & NTMFLAGS_OPENTYPE) + || (font_type & TRUETYPE_FONTTYPE)) + /* For the uniscribe backend, only consider fonts that claim + to cover at least some part of Unicode. */ + && (physical_font->ntmFontSig.fsUsb[3] + || physical_font->ntmFontSig.fsUsb[2] + || physical_font->ntmFontSig.fsUsb[1] + || (physical_font->ntmFontSig.fsUsb[0] & 0x3fffffff)))) && logfonts_match (&logical_font->elfLogFont, &match_data->pattern) && font_matches_spec (font_type, physical_font, match_data->orig_font_spec, backend,