(xft_render): Check xft_draw's drawable before changing
[m17n/m17n-lib.git] / src / face.h
index 28c437b..bec3fc5 100644 (file)
@@ -50,8 +50,8 @@ enum MFaceProperty
     MFACE_HOOK_FUNC,
     MFACE_HOOK_ARG,
 
-    /* In a realized face, this is already reflected in MFACE_SIZE,
-       thus is ignored.  */
+    /* In a realized face, this is ignored because it is already
+       reflected in MFACE_SIZE.  */
     MFACE_RATIO,
 
     MFACE_PROPERTY_MAX
@@ -80,6 +80,9 @@ struct MRealizedFace
   /** Properties of all stacked faces are merged into here.  */
   MFace face;
 
+  /** Font explicitly specified for the face (maybe NULL).  */
+  MFont *font;
+
   /** From what faces this is realized.  Keys are Mface and values are
      (MFace *).  */
   MPlist *base_face_list;
@@ -105,6 +108,7 @@ struct MRealizedFace
 
   int ascent, descent;
   int space_width;
+  int average_width;
 
   /** Pointer to a window system dependent object.  */
   void *info;
@@ -114,7 +118,7 @@ struct MRealizedFace
 extern MFace *mface__default;
 
 extern MRealizedFace *mface__realize (MFrame *frame, MFace **faces, int num,
-                                     int limitted_size);
+                                     int limitted_size, MFont *font);
 
 extern MGlyph *mface__for_chars (MSymbol script, MSymbol language,
                                 MSymbol charset, MGlyph *from_g, MGlyph *to_g,