emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32font.c,v


From: Jason Rumney
Subject: [Emacs-diffs] Changes to emacs/src/w32font.c,v
Date: Fri, 25 Jul 2008 21:44:38 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Jason Rumney <jasonr>   08/07/25 21:44:37

Index: w32font.c
===================================================================
RCS file: /sources/emacs/emacs/src/w32font.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- w32font.c   25 Jul 2008 11:25:42 -0000      1.50
+++ w32font.c   25 Jul 2008 21:44:37 -0000      1.51
@@ -292,6 +292,8 @@
     return -1;
 
   supported_scripts = assq_no_quit (QCscript, extra);
+  /* If font doesn't claim to support any scripts, then we can't be certain
+     until we open it.  */
   if (!CONSP (supported_scripts))
     return -1;
 
@@ -299,7 +301,16 @@
 
   script = CHAR_TABLE_REF (Vchar_script_table, c);
 
-  return (memq_no_quit (script, supported_scripts)) ? -1 : 0;
+  /* If we don't know what script the character is from, then we can't be
+     certain until we open it.  Also if the font claims support for the script
+     the character is from, it may only have partial coverage, so we still
+     can't be certain until we open the font.  */
+  if (NILP (script) || memq_no_quit (script, supported_scripts))
+    return -1;
+
+  /* Font reports what scripts it supports, and none of them are the script
+     the character is from, so it is a definite no.  */
+  return 0;
 }
 
 /* w32 implementation of encode_char for font backend.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]