+2006-02-06 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.3.3 released.
+
+2006-02-22 Kenichi Handa <handa@m17n.org>
+
+ * textprop.c: Fix some typos in documentation.
+
+ * plist.c: Fix some typos in documentation.
+
+ * m17n-core.h: Fix some typos in documentation.
+ (M17NLIB_PATCH_LEVEL): Updated to 3.
+ (M17NLIB_VERSION_NAME): Updated to "1.3.3".
+
+ * symbol.c: Fix some typos in documentation.
+
+ * mtext.c: Fix some typos in documentation.
+
+ * input.c: Fix several typos in documentation.
+
+2006-02-06 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.3.2 released.
+
+2006-02-03 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17NLIB_PATCH_LEVEL): Updated to 2.
+ (M17NLIB_VERSION_NAME): Updated to "1.3.2".
+
+ * font.c (xlfd_parse_name): Fix handling of the name "nil".
+
+ * draw.c (layout_glyphs): Fix handling left_padding of
+ composition's base.
+
+ * m17n-gd.c (read_rgb_txt): Support HTML 4.0 color names.
+
+2006-02-02 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.am (include_HEADERS): Add m17n-gui.h and m17n-X.h only
+ if WITH_GUI is true.
+
+2006-01-25 Kenichi Handa <handa@m17n.org>
+
+ * input.c (resolve_expression): If the value of PLIST is a plist,
+ but the first element is not symbol, return 0.
+
+2006-01-17 Kenichi Handa <handa@m17n.org>
+
+ * m17n-gd.c (gd_render): Use gdImageColorResolveAlpha only if
+ HAVE_GD is 2 or the greater.
+
+2006-01-16 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.3.1 released.
+
+2006-01-16 Kenichi Handa <handa@m17n.org>
+
+ * m17n-gd.c (gd_render): Use gdImageColorResolveAlpha instead of
+ simulating anti-aliasing.
+
+ * m17n-core.h (M17NLIB_PATCH_LEVEL): Updated to 1.
+ (M17NLIB_VERSION_NAME): Updated to "1.3.1".
+
+2006-01-12 Kenichi Handa <handa@m17n.org>
+
+ * input.c (get_surrounding_text): Always pop ic->plist.
+ (reset_ic): Don't reset ic->plist.
+
+2006-01-10 Kenichi Handa <handa@m17n.org>
+
+ * input.c (preedit_commit): For debugging, print only commiting
+ charactes. Don't set ic->candidate_show to 0.
+ (handle_key): Don't run branch-actions just by shifting to the
+ current state.
+ (reset_ic): Reset state_key_head and key_head of ic_info to 0.
+ Reset vars and plist.
+
+2006-01-07 Kenichi Handa <handa@m17n.org>
+
+ * input.c (load_branch): Confirm that maps is not NULL.
+
+2006-01-05 Kenichi Handa <handa@m17n.org>
+
+ * input-gui.c (win_filter): Try to convert arg to key only when
+ arg is not NULL.
+
+ * plist.c (read_integer_element): If '#' and '-' are followed by
+ non-integer-constituent, read them as a part of a symbol.
+ (read_symbol_element): New arg C.
+ (read_element): Adjust args to read_symbol_element.
+
+ * input.c (load_macros): On overwriting a macro, free the old
+ definition.
+ (minput__init): Store Mmap in load_im_info_keys.
+ (minput_get_title_icon): If the input method has no title, be sure
+ to return NULL.
+ (minput_get_description): If the input method has no description,
+ be sure to return NULL.
+ (minput_get_variables): Fix documentation.
+ (handle_key): Pay attention to the case that key is Mnil.
+ (filter): Likewise. Fix handling of such symbol as S-A.
+
+2005-12-22 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.3.0 released.
+
+2005-12-22 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_list): If the specified font has no property,
+ return all fonts.
+
+2005-12-20 Kenichi Handa <handa@m17n.org>
+
+ * character.c (mchar_get_prop): Check char_prop_list.
+ (mchar_put_prop, mchar_get_prop_table): Likewise.
+
+2005-12-18 Kenichi Handa <handa@m17n.org>
+
+ * input.c (minput_get_title_icon): If LANGUAGE is Mt, try also a
+ file name sans language.
+
+2005-12-16 TAKAHASHI Naoto <ntakahas@m17n.org>
+
+ * input.c: Fix typo in comments.
+
+2005-12-14 Kenichi Handa <handa@m17n.org>
+
+ * input.c (minput_get_title_icon): Check the default icon for the
+ input method.
+
+2005-12-13 Kenichi Handa <handa@m17n.org>
+
+ * input.c (Mless_equal, Mgreater_equal): New variables.
+ (parse_expression, resolve_expression, parse_action_list)
+ (take_action_list): Handle the aboves.
+ (filter): Treat key S-X as X.
+ (minput__init): Initialize Mless_equal and Mgreater_equal.
+ (minput_get_title_icon): New function.
+
+ * m17n.h (minput_get_title_icon): Extern it.
+
+ * database.c (get_database_filename): Return a filename instead of
+ file pointer.
+ (load_database): Adjusted for the above change.
+ (mdatabase__load_for_keys): Likewise.
+ (mdatabase__find_file): New function.
+
+ * database.h (mdatabase__find_file): Extern it.
+
+ * font.h (mfont__resize): Delete extern.
+
+ * font.c (mfont__list): Check resize ratio.
+ (mfont__resize): Delete it.
+ (mfont_resize_ratio): Include the code of mfont__resize.
+
+ * font-ft.c (ft_open): Check resize ratio.
+
+ * m17n-X.c (xfont_open): Check resize ratio.
+ (xft_open): Likewise.
+
+2005-12-07 Kenichi Handa <handa@m17n.org>
+
+ * input.c (take_action_list): If take_action_list return -1,
+ return -1.
+ (handle_key): Likewise.
+
+ * face.c (mface__for_chars): When font is specified and layouter
+ is found for it, if the layouter doesn't support one of a
+ character, use a face sans layouter for it.
+
+2005-12-06 Kenichi Handa <handa@m17n.org>
+
+ * fontset.c (mfont__lookup_fontset): If only a fallback font is
+ found, don't use it for more than one character.
+
+2005-12-05 Kenichi Handa <handa@m17n.org>
+
+ * face.c (mface__realize): Set rfont->layouter to Mnil.
+ (mface__for_chars): Fix handling of layouter.
+
+ * character.h (mchar__define_prop): Extern it.
+
+ * database.c (update_database_list): Call mchar__define_prop if
+ necessary.
+
+ * character.c (mchar__init): Don't call mchar_define_property.
+ Instead just initialize property keys.
+ (mchar__fini): Free char_prop_list only if it's not NULL.
+ (mchar__define_prop): New function.
+ (mchar_define_property): Call mchar__define_prop.
+
+ * m17n-core.c (m17n_fini_core): Call mtext__prop_fini at after
+ mplist__fini.
+
+2005-12-02 Kenichi Handa <handa@m17n.org>
+
+ * language.c (mlang__init): Handle extra chars.
+
+ * m17n-gui.h (mfont_check): Adjust prototype.
+
+ * m17n-X.c (xfont_driver): Specify xfont_check_capability.
+ (xfont_check_capability): New function.
+ (xft_driver): Specify xft_check_capability.
+ (xft_check_capability): New function.
+
+ * font-ft.c (M0_3): Delete it.
+ (M0): New variable.
+ (ft_get_charmaps): Refer to M0.
+ (fc_parse_pattern): Fix previous change.
+ (ft_list_language): Check also extra chars.
+ (ft_check_otf): Define it even if HAVE_OTF is undef.
+ (ft_check_lang): Check the result of FcLangSetHasLang against
+ FcLangDifferentLang. Check also extra chars.
+ (ft_list_capability): Delete ifdef HAVE_OTF.
+ (ft_select): Likewise.
+ (ft_open): Improve debug information.
+ (ft_check_capability): New function.
+ (mfont__ft_driver): Specify ft_check_capability.
+ (mfont__ft_init): Initialize M0.
+
+ * fontset.c (get_font_from_group): New function.
+ (mfontset__get_font): New function.
+
+ * fontset.h (mfontset__get_font): Extern it.
+
+ * font.c (OTF_tag): Define it if HAVE_OTF is undef.
+ (mfont__fini): Delete ifdef HAVE_OTF.
+ (free_font_capability): Likewise.
+ (mfont__get_capability): Likewise.
+ (mfont__check_capability): New function.
+ (mfont_check): Change the order of arguments. Use
+ mfontset__get_font.
+
+ * font.h (struct MFontDriver): New member check_capability.
+ (MFontCapability): Delete ifdef HAVE_OTF.
+ (mfont__check_capability): Extern it.
+
+ * face.c (mface__realize): Fix handling of FONT arg.
+ (mface__for_chars): Fix handling of explicitly specified font.
+
+2005-11-25 Kenichi Handa <handa@m17n.org>
+
+ * font-flt.c (run_command): Print debug info for
+ left/rigth_padding
+
+ * draw.c (layout_glyphs): Fix handling of left/right_padding.
+
+ * face.c (mface__for_chars): Check rfont before accessing the
+ members.
+
+2005-11-21 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.am (lib_LTLIBRARIES): Define it conditionaly on
+ WITH_GUI.
+
+ * fontset.c (fontset_table): New variable.
+ (free_fontset): Call M17N_OBJECT_UNREGISTER.
+ (mfont__fontset_init): Add fontset_table as an object array.
+ (mfont__realize_fontset): Ref FONTSET.
+ (mfont__free_realized_fontset): Unref REALIZED->fontset.
+ (mfontset): Call M17N_OBJECT_REGISTER.
+ (mfontset_copy): Likewise.
+
+ * input.c (handle_key): For debugging, print information about
+ alias key.
+ (filter): Add an alias for Meta and Alt modifiers.
+ (Mcond, Mplus, Mminus, Mstar, Mslush, Mand, Mor, Mnot): New
+ variables.
+ (minput__init): Initialize them.
+ (parse_expression): New function.
+ (resolve_expression): New function.
+ (parse_action_list): Handle expressions by parse_expression.
+ (take_action_list): Handle expressions by resolve_expression.
+ (parse_nested_list_value): Fix previous change.
+ (resolve_command): Fix handling of the return value of
+ get_nested_list.
+
+2005-11-18 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_check_otf, otf_script_list): Define only when
+ HAVE_OTF is defined.
+ (ft_list_capability): Call ft_check_otf only when HAVE_OTF is
+ defined.
+ (ft_select): Likewise.
+
+ * font.c (mfont_list): Fix for the case that FONT is NULL.
+ (OTF_tag): Delete it.
+ (load_otf_script_list): Define only when HAVE_OTF is defined.
+ (mfont__fini): Unref otf_script_list only when HAVE_OTF is
+ defined.
+
+ * draw.c (truncate_gstring): Be sure to truncate at
+ glapheme-cluster boundary.
+
+2005-11-11 Kenichi Handa <handa@m17n.org>
+
+ * input.c (delete_surrounding_text): Clear cache if necessary.
+
+2005-11-09 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (compose_glyph_string): Update prev->rface->rfont if the
+ glyph prev is also supported by the current flt.
+
+2005-11-08 Kenichi Handa <handa@m17n.org>
+
+ * m17n-X.c (xft_render): Cancel previous change.
+
+2005-11-07 Kenichi Handa <handa@m17n.org>
+
+ * input.c: Include <stdlib.h>.
+ (get_surrounding_text, delete_surrounding_text)
+ (get_preceding_char, get_following_char): New functions.
+ (integer_value): New arg surrounding. If it is nonzero, try to
+ get a surrounding character. Callers changed.
+ (take_action_list): Check `value' before setting an element.
+ (destroy_ic): Unref ic_info->preceding_text and
+ ic_info->following_text.
+ (minput__init): Initialize Minput_get_surrounding_text and
+ Minput_delete_surrounding_text.
+ (Minput_get_surrounding_text, Minput_delete_surrounding_text): New
+ variables.
+ (filter): Unref ic_info->preceding_text and
+ ic_info->following_text.
+
+ * m17n.h (Minput_get_surrounding_text, Minput_delete_surrounding_text):
+ Extern them.
+
+ * input.h (MInputContextInfo): New members preceding_text and
+ following_text.
+
+2005-11-04 Kenichi Handa <handa@m17n.org>
+
+ * input.c (parse_nested_list_value): Fix handling of the global
+ definition.
+ (get_nested_list): Get global definitions by load_partial_im_info.
+ (preedit_commit): Set ic->candidates_changed to bitwise or of enum
+ MInputCandidatesChanged.
+ (take_action_list): Likewise.
+ (reset_ic): Likewise.
+ (create_ic): Don't pay special attention to
+ Mcandidates_group_size.
+ (load_partial_im_info): Call mdatabase_find with correct 4th arg.
+ (minput_set_variable): Get a definition of varible by
+ mplist_find_by_value, not mplist_get.
+
+ * m17n.h (enum MInputCandidatesChanged): New enum.
+
+2005-11-01 Kenichi Handa <handa@m17n.org>
+
+ * m17n-X.c (xft_render): Check xft_draw's drawable before changing
+ it.
+ (mwin__destroy_window): If xft_draw's drawable is win, change it
+ to device->drawable before destroying win.
+
+2005-10-31 Kenichi Handa <handa@m17n.org>
+
+ * input.c (load_im_info): Fix adding of state.
+
+ * m17n-core.c (m17n_fini_core): Fix reporting of module
+ finalization.
+
+ * m17n.c (m17n_fini): Fix reporting of module finalization.
+
+ * m17n-gui.c (m17n_init_win): Fix reporting of module
+ finalization.
+
+2005-10-29 Kenichi Handa <handa@m17n.org>
+
+ * input.c (get_candidate_list): Fix the timing of referring plist.
+
+2005-10-28 Kenichi Handa <handa@m17n.org>
+
+ * input.c (load_branch): Ignore an undefined map name.
+ (load_im_info): Set im_info->title from `name' only if it's not
+ Mnil.
+ (shift_state): Always update ic->status.
+ (adjust_candidates): Renamed from adjust_candidate_command.
+ Argument changed. Caller changed.
+ (get_candidate_list, regularize_action): New functions.
+ (take_action_list): Use them. On handling Munhandle, don't set
+ ic_info->used to 0.
+ (handle_key): If KEY is not handled by MAP, and MAP has
+ branch_actions, perform them.
+
+ * database.c (mdatabase__fini): Free dir_info->filename;
+
+2005-10-20 Kenichi Handa <handa@m17n.org>
+
+ * input.c (marker_code): Accept '@@'.
+ (integer_value): Handle '@@'.
+ (parse_action_list): Accept a symbol argument.
+ (take_action_list): Resolve the symbol argument. Handle the
+ integer argument.
+
+2005-10-18 Kenichi Handa <handa@m17n.org>
+
+ * input.c: Include "charset.h".
+ (M_candidates, Mcandidates_group_size, Mcandidates_charset): New
+ variables.
+ (MIMState): New member (M17NObject control).
+ (lookup_nested_list, set_nested_list, parse_nested_list_value)
+ (get_nested_list, resolve_variable): New functions.
+ (integer_value): New arg (MPlist **value). Set it to the plist
+ element containing the value.
+ (resolve_command): New function.
+ (load_translation): New arg (MPlist *map_actions).
+ (load_branch): New args language and name. If `keylist' is a
+ symbol, resolved that as a command name.
+ (free_map): New arg top. Free map->map_actions only if top is
+ nonzero.
+ (free_state): New function.
+ (load_state): New arg name.
+ (im_info_list): New variable.
+ (free_im_info, get_im_info_by_tags): New functions.
+ (load_im_info): Arg key changed to plist. Handle `include'.
+ Return (MInputMethodInfo *).
+ (preedit_commit): Ref ic->candidate_list.
+ (get_select_charset, adjust_candidate_command): New functions.
+ (take_action_list): Handle `include'. Adjust candidate action
+ properly. Handle control variables `candidates-charset' and
+ `candidates-group-size'.
+ (open_im): Use get_im_info.
+ (create_ic): Get global variables.
+ (load_partial_im_info): New function.
+ (get_im_info): New function.
+ (check_command_keyseq, check_command_list, check_variable_list):
+ New functions.
+ (minput__init): Don't handle M_database_hook and Mdetail_text.
+ Initialize M_candidates, Mcandidates_group_size,
+ Mcandidates_charset.
+ (parse_variable_list, get_variable_list, parse_command_list)
+ (get_command_list): Delete them.
+ (MDatabaseStatList, imdir_stat_list, input_method_hook): Delete them.
+ (minput__fini): Simply unref command_list and variable_list.
+ (minput_get_description): Adjusted for the new form of description.
+ (minput_get_commands): Use get_nested_list.
+ (minput_assign_command_keys): Likewise.
+ (minput_get_variables, minput_set_variable): Likewise.
+
+ * input.h (MInputMethodInfo): New members im and maps.
+
+ * database.h (M_database_hook): Delete extern.
+ (MDatabaseHookFunc): Delete extern.
+ (mdatabase__check): Extern it.
+
+ * database.c: Include <glob.h>.
+ (MAX_TIME): New macro.
+ (Masterisk): New variable.
+ (get_database_stream): Argument changed to (MDatabaseInfo *).
+ Callers changed.
+ (get_dir_info): Renamed from duplicate_dirname. Callers changed.
+ (find_database): New function.
+ (update_database_list): New function.
+ (mdatabase__init): Initialize Masterisk. Setup mdb_list by
+ calling update_database_list.
+ (mdatabase__check): New function.
+ (mdatabase_find): Use update_database and find_database. Don't
+ handle MDatabaseHookFunc.
+ (mdatabase_list): Call update_database at first.
+ (mdatabase_define): Adjusted for the change of mdb->extra_info.
+ (MDatabaseList): New type.
+
+ * plist.h (mplist_conv, mplist__pop_unref): Extern them.
+
+ * m17n.h (Mdetail_text): Delete extern.
+
+ * m17n-core.h (mplist_conc): Delete extern.
+
+ * plist.c (mplist__conc): Renamed from mplist_conc. Don't ref
+ tail.
+ (mplist_conc): Renamed to mplist__conc.
+ (mplist__pop_unref): New function.
+
+2005-10-14 Kenichi Handa <handa@m17n.org>
+
+ * plist.c (read_mtext_element): Ignore the sequence of '\\' and
+ newline.
+ (read_element): If keys is an empty plist, return any element
+ found first.
+ (dump_plist_element): Check if plist is nested.
+ (mplist_conc): Always ref tail.
+ (mplist_set): If key is a managing key, ref val in advance.
+
+ * plist.h (MPLIST_VAL_MANAGED_P): Delete this macro.
+ (MPLIST_NESTED_P, MPLIST_SET_NESTED_P): New macros.
+ (MPLIST_ADD_PLIST, MPLIST_PUSH_PLIST, MPLIST_PUT_PLIST): New
+ macros.
+
+ * fontset.c (free_fontset): Unref fontset_list if necessary.
+ (mfont__fontset_fini): Don't free fontset_list. Unref
+ default_fontset.
+ (mfont__realize_fontset): Initialize request.
+ (mfontset): Ref default_fontset or fontset only if necessary.
+ (mfontset_copy): Don't ref copy.
+
+ * draw.c (render_glyphs): Check gend->type before checking
+ gend->to.
+
+ * font-ft.c (mfont__ft_fini): Unref ft_default_list. Set all
+ unrefed plists to NULL.
+
2005-10-04 Kenichi Handa <handa@m17n.org>
* textprop.c (mtext_serialize): Be sure to make mt
* draw.c (mdraw_glyph_list): Fix settting of glyphs->font->source.
+2005-10-03 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (mdraw_glyph_info): Pay attention to the case that FROM
+ is not at the beginning of line.
+
2005-09-22 Kenichi Handa <handa@m17n.org>
* input.c: Include <sys/stat.h> and <unistd.h>.