*** empty log message ***
[m17n/m17n-lib.git] / src / fontset.c
index f054199..917cb44 100644 (file)
@@ -17,7 +17,7 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the m17n library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    02111-1307, USA.  */
 
 /***en
@@ -749,10 +749,8 @@ mfont__lookup_fontset (MRealizedFontset *realized, MGlyph *g, int *num,
       MFont request = realized->request;
 
       if (script != Mlatin)
-       /* These are not appropriate for non-Latin scripts.  */
-       request.property[MFONT_FOUNDRY]
-         = request.property[MFONT_FAMILY]
-         = request.property[MFONT_REGISTRY] = 0;
+       /* This is not appropriate for non-Latin scripts.  */
+       request.property[MFONT_REGISTRY] = 0;
 
       per_script = mplist_get (realized->per_script, script);
       if (! per_script)
@@ -775,6 +773,8 @@ mfont__lookup_fontset (MRealizedFontset *realized, MGlyph *g, int *num,
                                      g, num, size)))
        return rfont;
 
+      if (per_lang && *num > 1)
+       *num = 1;
       if (language == Mt)
        {
          /* Try the above (3) */
@@ -793,6 +793,8 @@ mfont__lookup_fontset (MRealizedFontset *realized, MGlyph *g, int *num,
                                          g, num, size)))
            return rfont;
 
+         if (per_lang && *num > 1)
+           *num = 1;
          /* Then try the above (3) */
          MPLIST_DO (plist, per_script)
            if (MPLIST_KEY (plist) != language
@@ -884,11 +886,12 @@ mfontset__get_font (MFrame *frame, MFontset *fontset,
   if (best)
     *best = 0;
 
+  if (language == Mnil)
+    language = Mt;
+
   if (script != Mnil)
     {
       per_script = get_per_script (fontset, script);
-      if (language == Mnil)
-       language = Mt;
       if ((per_lang = mplist_get (per_script, language))
          && (rfont = get_font_from_group (frame, per_lang, font)))
        {
@@ -924,7 +927,7 @@ mfontset__get_font (MFrame *frame, MFontset *fontset,
        }
     }
 
-  if (language != Mnil)
+  if (language != Mt)
     MPLIST_DO (per_script, fontset->per_script)
       {
        if ((per_lang = mplist_get (MPLIST_PLIST (per_script), language))