# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1121245999 0 # Node ID 72dab4f8f58909459526c025a874e8e58a55ceac # Parent 0a062d2d75f379fb918bb13e5f8e960229cdd228 (try_font_list) [MAC_OS]: Try font family name beginning with that for ASCII. diff -r 0a062d2d75f3 -r 72dab4f8f589 src/xfaces.c --- a/src/xfaces.c Wed Jul 13 09:12:59 2005 +0000 +++ b/src/xfaces.c Wed Jul 13 09:13:19 2005 +0000 @@ -6745,14 +6745,21 @@ 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))