]> git.eshelyaron.com Git - emacs.git/commitdiff
(try_font_list) [MAC_OS]: Try font family name
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Wed, 13 Jul 2005 09:13:19 +0000 (09:13 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Wed, 13 Jul 2005 09:13:19 +0000 (09:13 +0000)
beginning with that for ASCII.

src/xfaces.c

index 2fb02360e501ce6d46a3c5be55739b6f8cb16d24..af9571a102f47e929172fb60962c989a3f98b08d 100644 (file)
@@ -6745,14 +6745,21 @@ try_font_list (f, attrs, family, registry, fonts, prefer_face_family)
     nfonts = try_alternative_families (f, try_family, registry, fonts);
 
 #ifdef MAC_OS
-  /* When realizing the default face and a font spec does not matched
-     exactly, Emacs looks for ones with the same registry as the
-     default font.  On the Mac, this is mac-roman, which does not work
-     if the family is -etl-fixed, e.g.  The following widens the
-     choices and fixes that problem.  */
-  if (nfonts == 0 && STRINGP (try_family) && STRINGP (registry)
-      && xstricmp (SDATA (registry), "mac-roman") == 0)
-    nfonts = try_alternative_families (f, try_family, Qnil, fonts);
+  if (nfonts == 0 && STRINGP (try_family) && STRINGP (registry))
+    if (xstricmp (SDATA (registry), "mac-roman") == 0)
+      /* When realizing the default face and a font spec does not
+        matched exactly, Emacs looks for ones with the same registry
+        as the default font.  On the Mac, this is mac-roman, which
+        does not work if the family is -etl-fixed, e.g.  The
+        following widens the choices and fixes that problem.  */
+      nfonts = try_alternative_families (f, try_family, Qnil, fonts);
+    else if (SBYTES (try_family) > 0
+            && SREF (try_family, SBYTES (try_family) - 1) != '*')
+      /* Some Central European/Cyrillic font family names have the
+        Roman counterpart name as their prefix.  */
+      nfonts = try_alternative_families (f, concat2 (try_family,
+                                                    build_string ("*")),
+                                        registry, fonts);
 #endif
 
   if (EQ (try_family, family))