(mdatabase__dir_list, M_database_hook)
[m17n/m17n-lib.git] / src / draw.c
index a9866f8..1d5ced0 100644 (file)
@@ -270,6 +270,8 @@ compose_glyph_string (MFrame *frame, MText *mt, int from, int to,
                                               (void **) faces, 64);
 
              mtext_prop_range (mt, Mface, pos, NULL, &face_change, 1);
+             if (face_change == mtext_nchars (mt))
+               face_change++;
              rface = (num > 0 ? mface__realize (frame, faces, num, size)
                       : default_rface);
            }
@@ -291,7 +293,7 @@ compose_glyph_string (MFrame *frame, MText *mt, int from, int to,
       category = mchar_get_prop (c, Mcategory);
       if (category == McatCf)
        g_tmp.category = GLYPH_CATEGORY_FORMATTER;
-      else if (MSYMBOL_NAME (category)[0] == 'M')
+      else if (category != Mnil && MSYMBOL_NAME (category)[0] == 'M')
        g_tmp.category = GLYPH_CATEGORY_MODIFIER;
       else
        g_tmp.category = GLYPH_CATEGORY_NORMAL;