]> git.eshelyaron.com Git - emacs.git/commitdiff
(add_font_entity_to_list): Allow non-opentype truetype fonts back
authorJason Rumney <jasonr@gnu.org>
Thu, 29 May 2008 16:57:00 +0000 (16:57 +0000)
committerJason Rumney <jasonr@gnu.org>
Thu, 29 May 2008 16:57:00 +0000 (16:57 +0000)
in the uniscribe backend, but disallow any font that has no
unicode subrange support.

src/w32font.c

index 78f8049d851c43ff91dd16a9b6133961e55f9072..7509a795432866b7a9047bc5c0c3b27ae33743d2 100644 (file)
@@ -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,