+2007-12-01 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
+ (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
+ (LIBES): Add @M17N_FLT_CFLAGS@.
+
+ * composite.c (compose_text): Don't treat the new style
+ composition specially.
+
+ * emacs.c (main): Call syms_of_font unconditionally.
+
+ * font.h (FONT_ENTITY_NOT_LOADABLE)
+ (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
+ (LGSTRING_XXXX, LGLYPH_XXX): Adjusted for the change of lispy
+ gstring.
+ (struct font_driver): New member shape.
+ (font_registry_charsets): Extern. it.
+ (font_find_for_lface): Prototype adjusted.
+ (font_prepare_composition): Likewise.
+ (font_otf_capability, font_drive_otf): Delete their externs.
+
+ * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
+ (font_charset_alist): Moved from xfont.c and renamed.
+ (font_registry_charsets): Likewise.
+ (font_prop_validate_otf): New function.
+ (font_property_table): Register it for QCotf.
+ (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
+ (font_drive_otf): Deleted.
+ (font_prepare_composition): New arg F. Adjusted for the change of
+ lispy gstring.
+ (font_find_for_lface): New arg C.
+ (font_load_for_face): Adjusted for the change of
+ font_find_for_lface.
+ (Ffont_make_gstring): Adjusted for the change of lispy gstring.
+ (Ffont_fill_gstring): Likewise.
+ (Ffont_shape_text): New function.
+ (Fopen_font): If the font size is not given, use 12-pixel.
+ (Ffont_at): New arg STRING.
+ (syms_of_font): Initalize font_charset_alist. Declare
+ Ffont_shape_text as a Lisp function. Call syms_of_XXfont
+ conditionally.
+
+ * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
+ fonts of the same font-spec. Change the format of RFONT-DEF.
+ (face_for_char): Adjusted for the change of RFONT-DEF.
+ (make_fontset_for_ascii_face): Likewise.
+ (Finternal_char_font): Likewise.
+ (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of
+ font-spec.
+
+ * ftfont.h: New file.
+
+ * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
+ (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
+ (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
+ (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
+ font_otf_capability and font_drive_otf, set ftfont_shape.
+ (ftfont_list): Adjusted for the change of :otf property value.
+ (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
+ (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
+ (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
+ (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
+ (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
+ (otf_gstring, gstring, m17n_flt_initialized): New variables.
+
+ * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
+ for the change of lispy gstring.
+
+ * xdisp.c (handle_composition_prop): Adjusted for the change of
+ lispy gstring. Call a function for auto-composition with the
+ third arg it->window.
+ (fill_composite_glyph_string): Adjusted for the change of lispy
+ string.
+ (x_produce_glyphs): Adjusted for the change of
+ font_prepare_compositionl.
+
+ * xfaces.c (set_font_frame_param): Adjusted for the change of
+ font_find_for_lface.
+
+ * xfont.c (x_font_charset_alist): Moved to font.c and renamed.
+ (xfont_registry_charsets): Likewise. Caller changed.
+ (syms_of_xfont): Don't handle x_font_charset_alist.
+
+ * xftfont.c: Include "ftfont.h".
+ (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and
+ otf.
+ (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
+ (xftfont_close) [HAVE_LIBOTF]: Close otf.
+ (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
+ (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]: Set
+ xftfont_driver.shape to xftfont_shape.
+
+ * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
+ the change of lispy gstring.
+
2007-11-29 Kenichi Handa <handa@ni.aist.go.jp>
* ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.