void (*render) (MDrawWindow win, int x, int y,
                  MGlyphString *gstring, MGlyph *from, MGlyph *to,
                  int reverse, MDrawRegion region);
-
-  MFont *(*parse_name) (char *name, MFont *font);
-  char *(*build_name) (MFont *font);
 };
 
 /** Initialize the members of FONT.  */
 
 extern void mfont__ft_fini ();
 
+extern int mfont__ft_parse_name (char *name, MFont *font);
+
+extern char *mfont__ft_unparse_name (MFont *font);
+
 extern int mfont__ft_drive_otf (MGlyphString *gstring, int from, int to,
                                MRealizedFont *rfont,
                                MSymbol script, MSymbol langsys,
                             MSymbol attrs[MFONT_PROPERTY_MAX],
                             unsigned short size, unsigned short resy);
 
+extern int mfont__parse_name_into_font (char *name, MSymbol format,
+                                       MFont *font);
+
 extern unsigned mfont__flt_encode_char (MSymbol layouter_name, int c);
 
 extern int mfont__flt_run (MGlyphString *gstring, int from, int to,