emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/font.c,v
Date: Fri, 13 Jun 2008 12:29:38 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Kenichi Handa <handa>   08/06/13 12:29:38

Index: font.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/font.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- font.c      13 Jun 2008 09:47:04 -0000      1.48
+++ font.c      13 Jun 2008 12:29:37 -0000      1.49
@@ -2896,9 +2896,19 @@
 {
   Lisp_Object work;
   Lisp_Object frame, entities, val, props[FONT_REGISTRY_INDEX + 1] ;
-  Lisp_Object size, foundry[3], *family;
+  Lisp_Object size, foundry[3], *family, registry[3];
   int pixel_size;
-  int i, j, result;
+  int i, j, k, result;
+
+  registry[0] = AREF (spec, FONT_REGISTRY_INDEX);
+  if (NILP (registry[0]))
+    {
+      registry[0] = Qiso8859_1;
+      registry[1] = Qascii_0;
+      registry[2] = null_vector;
+    }
+  else
+    registry[1] = null_vector;
 
   if (c >= 0 && ! NILP (AREF (spec, FONT_REGISTRY_INDEX)))
     {
@@ -2978,21 +2988,23 @@
        }
     }
 
-  for (j = 0; SYMBOLP (family[j]); j++)
+  for (i = 0; SYMBOLP (family[i]); i++)
+    {
+      ASET (work, FONT_FAMILY_INDEX, family[i]);
+      for (j = 0; SYMBOLP (foundry[j]); j++)
     {
-      ASET (work, FONT_FAMILY_INDEX, family[j]);
-      for (i = 0; SYMBOLP (foundry[i]); i++)
+         ASET (work, FONT_FOUNDRY_INDEX, foundry[j]);
+         for (k = 0; SYMBOLP (registry[k]); k++)
        {
-         ASET (work, FONT_FOUNDRY_INDEX, foundry[i]);
+             ASET (work, FONT_REGISTRY_INDEX, registry[j]);
          entities = font_list_entities (frame, work);
          if (ASIZE (entities) > 0)
-           break;
+               goto found;
+           }
        }
-      if (ASIZE (entities) > 0)
-       break;
     }
-  if (ASIZE (entities) == 0)
     return Qnil;
+ found:
   if (ASIZE (entities) == 1)
     {
       if (c < 0)




reply via email to

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