X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2FChangeLog;h=63431e769f3590b5b09a6fe14361d9b60968a518;hb=f07e5661af1b7187dc2f970b7f79db3a4b6399cc;hp=89697aad25ae8de9eb13417c340f47642fdbfaa9;hpb=332f2d158952e507dc4e41ddc3f0df3e2fe7191a;p=m17n%2Fm17n-lib.git diff --git a/src/ChangeLog b/src/ChangeLog index 89697aa..63431e7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,404 @@ +2005-10-29 Kenichi Handa + + * input.c (get_candidate_list): Fix the timing of refering plist. + +2005-10-28 Kenichi Handa + + * 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 + + * 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 + + * 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 . + (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 + + * 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 + + * textprop.c (mtext_serialize): Be sure to make mt + MTEXT_FORMAT_UTF_8 and NULL terminated. + + * m17n-gui.c (m17n_init_win): Initialize Mcolormap. + + * draw.c (mdraw_glyph_list): Fix settting of glyphs->font->source. + +2005-10-03 Kenichi Handa + + * draw.c (mdraw_glyph_info): Pay attention to the case that FROM + is not at the beginning of line. + +2005-09-22 Kenichi Handa + + * input.c: Include and . + (Minclude, Mcommit, Munhandle): New variables. + (minput__init): Initialize them. Push only Mstate to + load_im_info_keys. Add aliases C-lowercase for C-uppercase. + (parse_action_list): Allow integer arg for undo. Handle Mcommit + and Munhandle. + (load_input_method): Handle "include" directive. If no states are + loaded, return -1. + (shift_state): If state_name is Mt, shift back to the previous + state. Call preedit_commit to commit preedit text. + (preedit_commit): New function. + (take_action_list): Improve debug printing. Handle commit and + unhandle commands. + (handle_key): Check the return value of take_action_list. Don't + take branch_actions just after changing to the root map. + (reset_ic): Reset all ic_info members. + (filter): When a key is not handled, just move ic_info->keys + instead fo calling reset_ic. + (load_im_info): If key is not Mstate, push Mmap to + load_im_info_keys. + (MDatabaseStatList): New type. + (imdir_stat_list): New variable. + (input_method_hook): Don't cancel the hook. Check the + modification time of directories. + (minput__fini): Free imdir_stat_list; + + * input.h (MInputContextInfo): New member prev_state. + + * m17n-core.h (mplist_conc): Extern it. + + * plist.c (mplist_conc): New function. + + * mtext.c (mdebug_dump_mtext): Escape '"' and '\\' by '\\'. + + * font.h (MRealizedFont): New member average_width. + + * font-ft.c (ft_open): Set rface->average_width. + + * font.c (xlfd_unparse_name): Print '*' before registry name. + + * m17n-X.c (MDisplayInfo): New member AVERAGE_WIDTH. + (xfont_open): Set rfont->average_width. + (xft_open): Likewise. + (device_open): Initialize disp_info->AVERAGE_WIDTH. + + * internal-gui.h (struct MFrame): New member average_width. + + * m17n-gui.c (mframe): Fix setting of frame->rfont. + (mframe_get_prop): Return the average_width of a font. + + * face.c (mface__realize): Set rface->average_width. + (mface__update_frame_face): Set frame->average_width. + + * face.h (MRealizedFace): New member average_width. + +2005-09-19 Kenichi Handa + + * font.c (xlfd_unparse_name): New arg full_xlfd. + (mfont__encode_char): Use shortcut only for X core fonts. + (mfont_unparse_name): Call xlfd_unparse_name with full_xlfd arg 1. + (mfont_put_prop): Handle `language' property. + (mdebug_dump_font): Call xlfd_unparse_name with full_xlfd arg 0. + Print file can capability info too. + + * m17n-core.c (mdebug__output): New variable. + (SET_DEBUG_FLAG): Unset mask if env_value is '0'. + (m17n_init_core): Handle MDEBUG_ALL and MDEBUG_OUTPUT_FILE. + (m17n_fini_core): Close mdebug__output if it's not stderr. + + * m17n-X.c (MDisplayInfo): New member MULE_BASELINE_OFFSET. + (xfont_open): Handle baseline_offset. + (xfont_find_metric): Likewise. + (xfont_render): Likewise. + (xft_open): Likewise. + (xft_render): Likewise. + + * internal.h (MDebugMaskBit): Add MDEBUG_ALL. + (mdebug__output): Extern it. + (MDEBUG_PRINT, MDEBUG_PRINT1, MDEBUG_PRINT2, MDEBUG_PRINT3) + (MDEBUG_PRINT4, MDEBUG_PRINT5): Print to medebug__output. + (MDEBUG_DUMP): New macro. + (MDEBUG_PRINT_TIME): Print to medebug__output. + + * font.h (MRealizedFont): New member baseline_offset. + + * font-ft.c (ft_get_charmaps): Check if the font support iso8859-1 + characters. + (fc_weight_table): Add FC_WEIGHT_REGULAR. + (ft_list_family): Check alias. + (ft_list_language): If language is "en", don't try to the second + step. + (ft_default_list): New variable. + (ft_list_default): New function. + (ft_select): If family is not specified, try only the default + fonts. Treat the weights normal and medium same. + (ft_open): Fix debug message. If registry is not specified, try + unicode-bmp. Handle _MULE_BASELINE_OFFSET property of BDF fonts. + (ft_find_metric): Likewise. + (ft_render): Likewise. + (ft_list): Fix debug message. Accept the registring iso8859-1. + If family is not specified, try only the default fonts. + + * face.c (mface__realize): Fix logic of opening a font. + +2005-09-16 Kenichi Handa + + * face.c (mface__realize): + + * m17n.h (Minput_focus_move, Minput_focus_in, Minput_focus_out): + Extern them. + + * input.c (shift_state): Fix the condition of taking init actions. + (take_action_list): Fix handling of pushback action. + (handle_key): Don't change key while checking its alias. + (minput__init): Initialize new variables. + (Minput_focus_move, Minput_focus_in, Minput_focus_out): New + variables. + +2005-09-12 Kenichi Handa + + * mtext.c (mtext__uppercase): Add proper open/close parens. + (mtext_titlecase): Add proper casting. + + * input.c (parse_action_list): Handle the case that the arg is a + key sequence (MText or MPlist). + (take_action_list): Likewise. + (shift_state): Shorter debug message. + (handle_key): Terminate a debug message by "\n". + (reset_ic): Don't take initial actions here. + (minput_open_im): Print a debug message. + (minput_close_im): Likewise. + (minput_create_ic): Likewise. + (minput_destroy_ic): Likewise. + +2005-09-09 TAKAHASHI Naoto + + * mtext.c (mtext_lowercase, mtext_titlecase, mtext_uppercase): + Change API. + +2005-09-07 TAKAHASHI Naoto + * character.c: Add "cased", "soft-dotted", and "case-mapping" in + mchar__init (). + + * character.c: Add Japanese documentation for + mchar_get_prop_table (). + +2005-09-06 TAKAHASHI Naoto + + * mtext.c (tricky_chars, *cased, *soft_dotted, *case_mapping) + (MCharTable *combining_class, Mlt, Mtr, Maz, gr03A3, lt0049, + (lt004A, lt012E, lt00CC, lt00CD, lt0128, tr0130, tr0049, tr0069): + New variables. + (init_case_conversion): New function. + (CASE_CONV_INIT, REPLACE, DELETE, LOOKUP): New macros. + (uppercase_precheck, lowercase_precheck, final_sigma) + (after_soft_dotted, more_above, before_dot, after_i) + (mtext_uppercase, mtext_titlecase, mtext_lowercase): New functions. + +2005-09-05 TAKAHASHI Naoto + + * plist.c (read_mtext_element): Fix previous change. + +2005-09-05 Kenichi Handa + + * plist.c (read_mtext_element): Handle \uXXXX notation. + + * internal.h (MTABLE_MALLOC): Don't use a local variable. + (MTABLE_ALLOCA): Change the name of local variable. + + * m17n-gd.c (device_open): Define it even if HAVE_GD nor + HAVE_FREETYPE are defined. + + * m17n-X.c: Check HAVE_X11. + + * Makefile.am (X_LD_FLAGS): Use @X11_LD_FLAGS@ instead of + directory listing libraries. + (noinst_PROGRAMS): Define it only in maintainer mode. + +2005-09-02 Kenichi Handa + + * m17n-gui.h (mdraw_line_break_option): Extern it. + + * draw.c (truncate_gstring): Use find_glyph_in_gstring to find the + end of the first glyph. + (GET_LB_TYPE, find_break_backward, find_break_forward): Delete + them. + (mdraw_line_break_option): New variable. + (mdraw_default_line_break): Use mtext_line_break. + + * mtext.h (wordseg_func_table): Don't extern it. + (mtext__wseg_fini): Extern it. + + * mtext.c: Don't include word-thai.h. + (wordseg_func_table): Delete this variable. + (mtext__init): Don't initialize above. Don't call + mtext__word_thai_init. + (mtext__fini): Don't free wordseg_func_table. Call + mtext__wseg_fini instead fo mtext__word_thai_fini. + (MTextWordsegFunc): Don't typedef it. + (mtext__word_segment): Moved to mtext-wseg.c. + + * m17n-core.h (enum MTextLineBreakOption): New enum. + (mtext_line_break): Extern it. + + * mtext-wseg.c: New file. + + * mtext-lbrk.c: New file. + + * Makefile.am (libm17n_core_la_SOURCES): Delete word-thai.[ch], + add mtext-lbrk.c and mtext-wseg.c. + + * textprop.c (mtext__adjust_plist_for_change): Pay attention for + the case that head is NULL. + +2005-09-01 Kenichi Handa + + * word-thai.c (wordseg_propertize): If the property value is nil, + don't make the property no-merge. + (thai_wordseg): Don't require *from and *to are set a priori. Pay + attention to the case that they are NULL. + (mtext__word_thai_init): Make the name of Mthai_wordseg starts + with two spaces. + + * character.c (mchar_get_prop_table): New function. + + * textprop.h (mtext__adjust_plist_for_change): Prototype adjusted. + + * m17n-core.h (mtext_insert, mtext_replace): Extern them. + (mchar_get_prop_table): Extern it. + + * textprop.c (prepare_to_modify): New arg deleting. Callers changed. + (mtext__adjust_plist_for_change): Argument changed. Callers changed. + + * internal.h (enum MTextCoverage): New enum. + (MText): New member coverage. + + * mtext.c (FORMAT_COVERAGE): New macro. + (insert): Copy mt2->coverage. + (mtext__from_data): Initialize mt->coverage. + (mtext__adjust_format): Update mt->coverage. + (mtext): Initialize mt->coverage. + (mtext_set_char): Adjust args to mtext__adjust_plist_for_change. + Update mt->coverage if necessary. + (mtext_duplicate): Copy mt->coverage. + (mtext_insert, mtext_replace): New functions. + (mtext_dup): Use mtext_duplicate. + (mtext__word_segment): Don't set *from and *to if a word + segmentation funcion is not found. + (mtext_ins_char): Fix typo. + 2005-08-25 Kenichi Handa * font.h (MFont): New member for_full_width.