changeset 95388:68cbfe0d72fc

(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.
author Jason Rumney <jasonr@gnu.org>
date Thu, 29 May 2008 16:57:00 +0000
parents be7d86474ead
children 2f5519e129d2
files src/w32font.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32font.c	Thu May 29 16:54:53 2008 +0000
+++ b/src/w32font.c	Thu May 29 16:57:00 2008 +0000
@@ -1321,7 +1321,14 @@
   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,