* font.c (enum xlfd_field_idx): Moved from m17n-X.c.
(xlfd_parse_name): Merge split_font_name and xfont_parse_name.
(xlfd_unparse_name): Renamed from xfont_build_name.
(mfont__init): Initialized Mfontconfig.
(mfont__free_realized): Unconditionally unref rfont->info.
(mfont__select): Free `this' if it's not best.
(mfont__open): Don't check frame->realized_font_list.
(mfont__parse_name_into_font): New function.
(Mfontconfig): New variable.
(mfont_from_name): Call mfont_parse_name.
(mfont_name): Call mfont_unparse_name.
(mdebug_dump_font): Likewise.
* m17n-X.c (xfont_driver): Don't include xfont_parse_name and
xfont_build_name.
(enum xlfd_field_idx): Moved to font.c.
(split_font_name, build_font_name): Likewise.
(build_font_list): Call mfont__parse_name_info_font.
(xfont_open): Call mfont__unparse_name. Free name.
(xfont_parse_name, xfont_build_name): Moved to font.c
(xft_select): Prototype deleted.
(device_open): Check HAVE_FREETYPE on using mfont__ft_driver.
Call mfont_pase_name.