# HG changeset patch # User Jason Rumney # Date 1228925357 0 # Node ID c28823ea450a072bfae7c9a01a8816f9e348a093 # Parent fc0ef4117779bc9519229161628220e59970aedc (add_font_entity_to_list): Limit unicode-sip fonts to those that contain characters beyond the bmp. diff -r fc0ef4117779 -r c28823ea450a src/w32font.c --- a/src/w32font.c Wed Dec 10 15:37:46 2008 +0000 +++ b/src/w32font.c Wed Dec 10 16:09:17 2008 +0000 @@ -1403,11 +1403,14 @@ ANSI and DEFAULT charsets, as most unicode fonts will contain one of those plus others. */ if ((EQ (spec_charset, Qiso10646_1) - || EQ (spec_charset, Qunicode_bmp) - || EQ (spec_charset, Qunicode_sip)) + || EQ (spec_charset, Qunicode_bmp)) && logical_font->elfLogFont.lfCharSet != DEFAULT_CHARSET && logical_font->elfLogFont.lfCharSet != ANSI_CHARSET) return 1; + /* unicode-sip fonts must contain characters beyond the BMP. */ + else if (EQ (spec_charset, Qunicode_sip) + && !(physical_font->ntmFontSig.fsUsb[1] & 0x02000000)) + return 1; /* If registry was specified, but did not map to a windows charset, only report fonts that have unknown charsets. This will still report fonts that don't match, but at