+2006-10-27 Kenichi Handa <handa@m17n.org>
+
+ * input.c (marker_code): New arg surrounding. Callers changed.
+ (surrounding_pos): Check if name[0] == '@'.
+ (integer_value): Fix for the change semantics of `@-N' and `@+N'.
+ (take_action_list): Likewise.
+ (get_preceding_char): If POS is zero, always call
+ get_surrounding_text.
+
+2006-10-19 Kenichi Handa <handa@m17n.org>
+
+ * input.c (load_variables): Fix setting of `global'.
+
+2006-10-16 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (draw_background): Be sure to set *to_x.
+ (render_glyph_string): If from == to, just return.
+
+2006-10-18 Kenichi Handa <handa@m17n.org>
+
+ * database.c (get_dir_info): Return NULL if the directory name is
+ too long.
+ (register_databases_in_files): Call register_database with
+ MDB_STATUS_AUTO.
+ (mdatabase__update): Fix logic. Call register_database with
+ MDB_STATUS_AUTO.
+ (mdatabase_define): Call register_database with
+ MDB_STATUS_EXPLICIT.
+
+ * input.c (delete_surrounding_text): Be sure to set members
+ preceding_text and following_text to NULL.
+ (shift_state): Save variable values in ic_info->vars_saved.
+ (preedit_commit): Don't print debug information here. Don't
+ change ic_info->keys here.
+ (get_candidate_list): Don't ref plist.
+ (take_action_list): Don't unref return value of
+ get_candidate_list. For undo, reset ic->produced and recover
+ ic_info->vars. Be sure to set ic->candidate_list to NULL after
+ unref it.
+ (init_ic_info): Set ic_info->vars_saved.
+ (fini_ic_info): Unref ic_info->vars_saved.
+ (re_init_ic): Be sure to set ic->candidate_list to NULL after
+ unref it.
+ (filter): Be sure to set members preceding_text and following_text
+ to NULL. Print debug information about produced text. Delete
+ processed keys from ic_info->keys.
+
+ * input.h (MInputContextInfo): New member vars_saved.
+
+2006-10-16 Kenichi Handa <handa@m17n.org>
+
+ * database.c (mdatabase__update): Fix the way to get db_info.
+
+2006-10-02 Kenichi Handa <handa@m17n.org>
+
+ * font.h (struct MFont): New member `multiple_sizes'. Bit-size of
+ `size' changed to 24.
+
+ * font.c (xlfd_unparse_name): Adjusted for the change of
+ MFont->size.
+ (font_score): Likewise.
+ (mfont__set_spec_from_face): Set spec->multiple_sizes to 0.
+
+ * m17n-X.c (MFontX, _MFontX): Deleted.
+ (SET_SIZE, HAVE_SIZE): Deleted.
+ (free_display_info): Adjusted for the change of
+ disp_info->font_list format.
+ (xfont_registry_list): Likewise.
+ (xfont_open): Likewise.
+ (xfont_list): Likewise.
+ (xfont_encode_char): Ignore size to find a realized font.
+ (MRealizedFontXft): Change the order of members to make it
+ compatible with MRealizedFontFT.
+
+2006-09-27 Kenichi Handa <handa@m17n.org>
+
+ * font.c (mfont_match_p, mfont_open, mfont_encapsulate)
+ (mfont_close): Add comments.
+
+ * mtext-lbrk.c (mtext_line_break): Add comment.
+
+2006-09-26 Kenichi Handa <handa@m17n.org>
+
+ * input.c (minput_get_description): Handle description about
+ inclusion-only input methods.
+
+2006-09-21 Kenichi Handa <handa@m17n.org>
+
+ * input.c (M_gettext): New variable.
+ (fully_initialize): Initialize M_gettext.
+ (check_description): New function.
+ (load_commands): Call check_description.
+ (config_all_commands): Be sure to unref pl.
+ (load_variables): Call check_description.
+ (config_all_variables): Be sure to unref pl.
+ (load_im_info): Call check_description.
+
+ * internal.h [ENABLE_NLS]: Include <libintl.h> and define _.
+
+ * m17n-core.c (m17n_init_core) [ENABLE_NLS]: Call bindtextdoman
+ and bind_textdomain_codeset.
+
+ * Makefile.am (AM_CPPFLAGS): Add -DGETTEXTDIR=...
+
+2006-09-15 Kenichi Handa <handa@m17n.org>
+
+ * input.c (reload_im_info): Update custom and global info.
+ (init_ic_info): Fix previous change.
+
+2006-09-14 Kenichi Handa <handa@m17n.org>
+
+ * database.c: Include <libgen.h>.
+ (mdatabase__lock): Make a directory if necessary.
+
+ * input.c (resolve_command): Adjusted for the format change of
+ configured_cmds member.
+ (load_commands, load_variables): Fix for errornous data handling.
+ (config_command, config_variable): New function.
+ (config_all_commands, config_all_variables): Renamed from
+ config_commands and config_variables. Utilize the above function.
+ (check_variable_value): Argument changed. Callers changed.
+ (load_im_info): Call config_all_commands and config_all_variables.
+ (init_ic_info): Adjusted for the format change of configured_vars
+ member.
+ (minput__init): Initialize Mcustomized, Mconfigured, and
+ Minherited.
+ (Mcustomized, Mconfigured, Minherited): New variables.
+ (minput_get_command): Be sure to return NULL if an input method
+ use no local command.
+ (minput_get_variable): Be sure to return NULL if an input method
+ use no local variable.
+ (minput_config_command, minput_config_variable)
+ (minput_save_config): Adjusted for the format change of
+ configured_cmds and configured_vars members.
+
+ * plist.c (write_element): Delete superfluous ':'.
+
+2006-09-13 Kenichi Handa <handa@m17n.org>
+
+ * m17n.h (Minherited, Mcustomized, Mconfigured): Extern them.
+ (minput_config_file): Extern it.
+
+ * draw.c (Minherited): Declaration moved to input.c.
+ (mdraw__init): Don't initialize Minherited here.
+
+ * database.c (mdatabase__unlock): Be sure to unlink uniq file.
+
+2006-09-07 Kenichi Handa <handa@m17n.org>
+
+ * textprop.c (mtext_serialize): Call mplist__serialize with the
+ arg pretty 0.
+
+ * plist.h (mplist__serialize): Prototype adjusted.
+ (mplist__assq): Extern it.
+
+ * plist.c: Include <ctype.h>
+ (PUTC, PUTS): New macros.
+ (write_symbol): New function.
+ (write_element): New arg indent.
+ (dump_string, dump_plist_element): Delete them.
+ (mplist__from_string): New arg pretty.
+ (mplist__assq): New function.
+ (mdebug_dump_plist): Use write_element.
+
+ * mtext.c (mtext_cat_char): Allocate more memory.
+ (mdebug_dump_mtext): Don't escal a newline character.
+
+ * m17n.h (minput_get_command, minput_get_variable)
+ (minput_config_command, minput_config_variable)
+ (minput_save_config): Extern them.
+
+ * m17n-core.c: Include <string.h>.
+ (m17n_init_core): If the env. var. MDEBUG_OUTPUT_FILE is "stdout",
+ use the stream stdout instead of a file of that name.
+
+ * m17n-X.c (mwin__parse_event): Fix handling of Shift and Control
+ modifiers.
+
+ * internal.h (MFAILP, MDEBUG_PRINT0): New macros.
+ (MDEBUG_PRINT, MDEBUG_PRINT1, MDEBUG_PRINT2, MDEBUG_PRINT3)
+ (MDEBUG_PRINT4, MDEBUG_PRINT5): Use MDEBUG_PRINT0.
+ (MDEBUG_DUMP): Flush the stream.
+
+ * input.h (struct _MInputMethodInfo): Delete member im. New
+ members mdb, language, name, extra, cmds, configured_cmds,
+ bc_cmds, vars, configured_vars, bc_vars, description, and tick.
+ (MInputContextInfo): New member tick.
+
+ * input.c: Big change to improve user-side input method
+ customization. Here, list just public API changes.
+ (minput_get_commands, minput_get_variables)
+ (minput_assign_command_keys, minput_set_variable): Label them
+ obsolete.
+ (minput_get_command, minput_get_variable)
+ (minput_config_command, minput_config_variable)
+ (minput_save_config): New functions.
+
+ * database.h (PATH_MAX): Define it if not yet defined.
+ (PATH_SEPARATOR): Likewise.
+ (enum MDatabaseStatus): New enum.
+ (struct MDatabaseInfo): Moved from database.c. New members status,
+ time, lock_file, and uniq_file.
+ (mdatabase__update, mdatabase__file, mdatabase__lock, mdatabase__save)
+ (mdatabase__unlock): Extern them.
+
+ * database.c: Include <time.h>.
+ (MDB_DIR_LEN): Don't include the terminating '\0' in the length.
+ (GEN_PATH): Args changed. Callers changed.
+ (struct MDatabaseInfo): Moved to database.h.
+ (struct MDatabase, mdb_list): Deleted.
+ (mdatabase__list): New var.
+ (get_database_filename): Deleted. Callers changed to use
+ get_database_file.
+ (find_file, get_database_file): New files.
+ (get_dir_info): Initialize new members of MDatabaseInfo.
+ (find_database): Arg chagnded. Callers changed.
+ (free_db_info, register_database, register_databases_in_files):
+ New functions.
+ (update_database_list): Deleted.
+ (mdatabase__init): Initialize mdatabase__list instead of mdb_list.
+ (mdatabase__fini): Finalize mdatabase__list instead of mdb_list.
+ (mdatabase__update): New function.
+ (mdatabase__check): Return value changed.
+ (mdatabase__file, mdatabase__lock, mdatabase__save)
+ (mdatabase__unlock): New functions.
+
+2006-08-30 TAKAHASHI Naoto <ntakahas@m17n.org>
+
+ * input.c (get_surrounding_text): Return -2 when surrounding text
+ is unavailable.
+ (get_following_char): Likewise.
+ (get_preceding_char): Likewise.
+ (minput__callback): Return 0 if there is a callback function,
+ otherwise -1.
+
+2006-08-17 Kenichi Handa <handa@m17n.org>
+
+ * input.c (reset_ic): Use shift_state to setup the current state.
+
+2006-08-02 Theppitak Karoonboonyanan <thep@linux.thai.net> (tiny change)
+
+ * Makefile.am (libm17n_la_LIBADD, libm17n_gui_la_LIBADD)
+ (libm17n_X_la_LIBADD, libm17n_gd_la_LIBADD, linkcore_LDADD)
+ (linkshell_LDADD, linkgui_LDADD): Use ${top_builddir}.
+
+2006-08-02 Kenichi Handa <handa@m17n.org>
+
+ * plist.c (mdebug_dump_plist): Fix the 2nd arg to dump_plist_element.
+
+ * mtext.c (mdebug_dump_mtext): If not fullp, dump just text.
+
+ * font-ft.c (ft_encapsulate): Add code for debugging.
+ (mfont__ft_drive_otf): Be sure to encode character before getting
+ metrics.
+
+2006-07-21 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (mdraw_text_extents): Fix previous typo.
+
+2006-07-19 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (gstring_width): New arg lbearing.
+ (render_glyph_string): Adjusted for the change of gstring_width.
+ (mdraw_text_extents): Fix lbearing of ink and line metrics.
+
+ * m17n-core.h (Mlanguage): Extern it.
+
+ * m17n.h (Mlanguage): Extern deleted.
+
+ * mtext.c (mtext__init): Initialize Mlanguage.
+ (Mlanguage): Declaration moved from locale.c
+
+ * locale.c (mlocale__init): Don't initialize Mlanguage here.
+ (Mlanguage): Declaration moved to mtext.c.
+
+ * language.c (mlang__init): Don't initialize Mlanguage here.
+
+ * font.c (OTF_tag_name) [! HAVE_OTF]: New function.
+
+2006-07-14 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c: Use FT_BDF_H macro. Include fontconfig/fcfreetype.h.
+ (MRealizedFontFT): New member face_encapsulated.
+ (free_ft_rfont): Pay attention to ft_rfont->face_encapsulated.
+ (ft_gen_font): New function.
+ (ft_add_font): Use ft_gen_font.
+ (ft_list_script): Store lists in ft_script_list.
+ (ft_check_otf): New arg ft_face. Caller changed.
+ (ft_check_language): Likewise.
+ (ft_check_script): Likewise.
+ (ft_encapsulate, ft_close): New functions.
+ (mfont__ft_driver): Initialize members encapsulate and close.
+ (mfont__ft_drive_otf): Use OTF_open_ft_face if it is available.
+
+ * font.h (struct MRealizedFont): New member encapsulating.
+ (struct MFontDriver): New members encapsulate and close.
+
+ * font.c (mfont__match_p): If FONT is realized, check capability
+ by font drivers's check_capability method.
+ (mfont_match_p, mfont_open, mfont_encapsulate, mfont_close): New
+ functions.
+
+ * m17n-X.c (xfont_list_family_names): Delete unused var. Fix
+ declarations of foundry and fam local vars.
+ (xft_driver): Make it static.
+
+ * m17n-gui.h (mfont_match_p, mfont_open, mfont_encapsulate)
+ (mfont_close): Extern them.
+
+ * m17n-gd.c (device_open): Don't specify foundry and family of the
+ default face.
+
+2006-07-11 Kenichi Handa <handa@m17n.org>
+
+ * m17n-gui.c (m17n_fini_win): Set null_interface.handle to NULL;
+
+2006-07-13 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (fc_build_charset): Return NULL if FcCharSet can't be
+ created.
+ (ft_check_script): Delete unused var.
+ (ft_list_capability): Likewise.
+
+ * font.c (mfont__get_capability): Setup cap->otf.
+ (Motf): Make it global.
+ (mfont_get_prop): Accept Mlanguage, Mscript, and Motf as key arg.
+
+ * font.h (MFontCapability): New member otf.
+
+ * language.c (mlang__fini): Delete unused vars.
+
+ * m17n-gui.h (Motf): Extern it.
+
+ * database.c (update_database_list): Delete unused vars.
+
+2006-07-07 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (DEVICE_DELTA): Fix typo.
+
+2006-07-06 Kenichi Handa <handa@m17n.org>
+
+ * fontset.c (mfont__lookup_fontset): Don't ignore family and
+ foundry of face.
+
+2006-07-05 TAKAHASHI Naoto <ntakahas@m17n.org>
+
+ * database.c: Update comments.
+
+2006-07-05 Kenichi Handa <handa@m17n.org>
+
+ * database.c (PATH_MAX): Define it if not yet defined.
+ (PATH_SEPARATOR, USE_GEN_PATH, GEN_PATH, GEN_PATH_FROM_MT): New
+ macros.
+ (get_database_filename): Use GEN_PATH.
+ (get_dir_info): Don't include the last '/' in directory name.
+ (register_database): New function.
+ (update_database_list): Use register_database. Search all
+ directories in mdatabase__dir_list for wildcard databases.
+ (mdatabase__init): Check "~/.m17n.d".
+
+2006-07-03 Kenichi Handa <handa@m17n.org>
+
+ * input-gui.c (win_callback): If is ic->candidate_show zero, don't
+ push reverse property.
+
+ * plist.c (dump_plist_element): Fix previous change.
+
2006-06-28 Kenichi Handa <handa@m17n.org>
+ * font.c (xlfd_unparse_name): Suppress the heading '-' if not
+ necessary.
+
+ * draw.c (MbidiNSM): New variable.
+ (visual_order) [! HAVE_FRIBIDI]: Clear levels at first. Pay
+ attention to bidi type NSM.
+ (mdraw__init): Initialize MbibiNSM.
+
+ * language.c (mscript__char_list): Fix finding a char-list element.
+
* plist.c (dump_string): Return number of printed characters.
(dump_plist_element): Print elements more compactly.