*** empty log message ***
[m17n/m17n-lib.git] / src / ChangeLog
index 600070d..a884ea0 100644 (file)
@@ -1,3 +1,440 @@
+2005-04-27  Kenichi Handa  <handa@m17n.org>
+
+       * language.c (mlang__init): Add "an" (Aragonese).
+
+       * word-thai.c: Add support for libthai.
+       (mtext__word_thai_init): Initialize wordseg library conditionaly.
+       (mtext__word_thai_fini): Finalize wordseg library conditionaly.
+
+       * mtext.c: Include "word-thai.h" conditionaly.
+       (mtext__init): Call mtext__word_thai_init conditionaly.
+       (mtext__fini): Call mtext__word_thai_fini conditionaly.
+
+       * Makefile.am (libm17n_core_la_LIBADD): Add THAI_WORDSEG_LD_FLAGS,
+       not WORDCUT_LD_FLAGS.
+
+2005-04-19  Kenichi Handa  <handa@m17n.org>
+
+       * word-thai.c (wordseg_propertize): Always unref the attached
+       property.
+       (thai_wordseg): Don't unref the property.
+
+2005-04-18  Kenichi Handa  <handa@m17n.org>
+
+       * word-thai.c: Include stdlib.h.
+       (wordseg_propertize): Add dummy function for the case that wordcut
+       library doesn't exist.
+       (wordseg_propertize): Fix for old wordcut library.
+
+2005-04-16  Kenichi Handa  <handa@m17n.org>
+
+       * word-thai.c: Include <stdio.h>.
+
+2005-04-15  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c: Include mtext.h.
+       (linebreak_table, M_break_at_space, M_break_at_word)
+       (M_break_at_any, M_kinsoku_bol, M_kinsoku_eol): New variables.
+       (compose_glyph_string): Check POS before getting Mface text
+       property.
+       (truncate_gstring): Give correct TO arg to line_break function.
+       (GET_LB_TYPE): New macro.
+       (find_break_backward, find_break_forward): New functions.
+       (mdraw__init): Initialize the above new variables.
+       (mdraw__fini): Free linebreak_table.
+       (mdraw_default_line_break): Use find_break_backward and
+       find_break_forward.
+
+       * word-thai.c: New file.
+
+       * word-thai.h: New file.
+
+       * mtext.c: Include word-thai.h.
+       (wordseg_func_table): New variable.
+       (mtext__init): Initialize wordseg_func_table and call
+       mtext__word_thai_init.
+       (mtext__fini): Call mtext__word_thai_fini, free
+       wordseg_func_table.
+       (MTextWordsegFunc): New type.
+       (mtext__word_segment): New function.
+
+       * mtext.h (wordseg_func_table): Extern it.
+       (mtext__word_segment): Extern it.
+
+       * m17n.c (m17n_init): Fix typo (== -> =).
+
+       * Makefile.am (libm17n_core_la_SOURCES): Include word-thai.[ch].
+       (libm17n_core_la_LIBADD): Add @WORDCUT_LD_FLAGS@.
+
+       * textprop.h (MTEXTPROP_START, MTEXTPROP_END, MTEXTPROP_KEY)
+       (MTEXTPROP_VAL): New macros.
+
+       * input.c (DLOPEN_SHLIB_EXT): Don't define it.
+
+2005-04-07  Kenichi Handa  <handa@m17n.org>
+
+       * database.c (load_chartable): Fix pursing of symbol name.
+
+2005-03-24  Kenichi Handa  <handa@m17n.org>
+
+       * m17n.c (m17n_init): Fix typo (== -> =).
+
+2005-03-11  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-gui.c (m17n_init_win): Set merror_code to MERROR_NONE at first.
+
+       * m17n.c (m17n_init): Set merror_code to MERROR_NONE at first.
+
+       * m17n-core.c (m17n_init_core): Set merror_code to MERROR_NONE at
+       first.
+
+2005-03-09  handa  <handa@m17n.org>
+
+       * m17n-gui.c (m17n_init_win): Set merror_code to MERROR_NONE before
+       calling m17n_init ().
+
+       * m17n.c (m17n_init): Set merror_code to MERROR_NONE before
+       calling m17n_init_core ().
+
+2005-02-28  Kenichi Handa  <handa@m17n.org>
+
+       * font-flt.c (mfont__flt_run): Add resulting code sequence in
+       debug info.
+
+2005-02-17  Kenichi Handa  <handa@m17n.org>
+
+       * input.c: Include <sys/types.h>, <dirent.h>, and "database.h".
+       (M_description, M_command, M_variable): New variables.
+       (load_im_info_keys): New variables.
+       (load_im_info, check_command_keyseq, get_description_advance)
+       (parse_command_list, get_command_list, parse_variable_list)
+       (get_variable_list, input_method_hook): New functions.
+       (command_list, variable_list): New variables.
+       (minput__init): Put input_method_hook to Minput_method.
+       Initialize M_description, M_command, M_variable, Mdetail_text,
+       load_im_info_keys, command_list, variable_list.
+       (minput__fini): Unref command_list, variable_list, load_im_info_keys.
+       (Mdetail_text): New variable.
+       (minput_get_description, minput_get_commands)
+       (minput_assign_command_keys, minput_get_variables)
+       (minput_set_variable): New functions.
+
+       * m17n.h (Mdetail_text, minput_get_description, minput_get_commands)
+       (minput_assign_command_keys, minput_get_variables)
+       (minput_set_variable): Extern them.
+
+       * plist.c (UNGETC): Just decrement st->p.
+       (read_mtext_element): New arg skip.
+       (read_integer_element): Likewise.
+       (read_symbol_element): Likewise.
+       (read_element): New arg KEYS.
+       (mplist__from_plist): Don't increment ref-count of NULL object.
+       (mplist__from_file): New arg KEYS.
+       (mplist_put): Don't increment ref-count of NULL object.
+       (mplist_add): Likewise.
+       (mplist_push): Likewise.
+       (mplist_set): Likewise.  Call M17N_OBJECT_UNREF unconditionally.
+
+       * plist.h (mplist__from_file): Prototype adjusted.
+
+       * database.c (mdatabase__dir_list): Renamed from mdb_dir_list.
+       (get_database_stream): New function.
+       (load_database): Use get_database_stream.
+       (M_database_hook): New variable
+       (mdatabase__init): Initialize M_database_hook.
+       (mdatabase__load_for_keys): New function.
+       (mdatabase_find, mdatabase_list, mdatabase_define): Check hook
+       function.
+       (mdatabase_define): Free mdb->extra_info if necessary.
+
+       * database.h (mdatabase__dir_list, M_database_hook)
+       (mdatabase__load_for_keys): Extern them.
+       (MDatabaseHookFunc): New type.
+
+       * internal.h (M17N_OBJECT_UNREF): When freed, set OBJECT to NULL.
+
+2004-12-27  Kenichi Handa  <handa@m17n.org>
+
+       * Version 1.2.0 released.
+
+2004-12-27  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (minput_filter): Don't reset ic->xxx_changed.
+
+       * mtext.c (mtext_from_data): Fix documentation.
+
+2004-12-25  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-core.h (M17NLIB_MINOR_VERSION): Update to 2.
+       (M17NLIB_VERSION_NAME): Update to "1.2.".
+
+2004-12-24  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (reset_ic): Set key_unhandled to 0.
+
+2004-12-21  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-gui.h (mfont_from_spec): Delete extern.
+
+       * input-gui.c (win_callback): Handle Minput_reset.
+       (minput__win_init): Register reset_ic as a callback for
+       Minput_reset.
+
+       * input.c (reset_ic): New arg IGNORE which is ignored.  Caller
+       changed.  At first, shift to the initial state.
+       (minput__init): Initialize Minput_reset.  Register reset_ic as a
+       callback for Minput_reset.
+       (Minput_reset): New variable.
+       (minput_filter): Always set ic->xxx_changed to 0.
+       (minput_reset_ic): New function.
+       (integer_value): Fix typo ('>' -> '<') and calculation of length
+       of preedit text.
+
+       * m17n-core.c (merror_code): Change type to `int'.
+
+       * m17n-misc.h (merror_code): Adjust type.
+
+       * m17n.h (Minput_reset, minput_reset_ic): Extern them.
+
+       * m17n-core.h (MTEXT_FORMAT_UTF_16, MTEXT_FORMAT_UTF_32): Adjust types.
+       (mtext_change_prop): Delete extern.
+
+       * mtext.c (MTEXT_FORMAT_UTF_16, MTEXT_FORMAT_UTF_32): Change types
+       to `int'.  Move the documents to m17n-core.h.
+
+2004-12-13  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-core.h (m17n_object): Rename extern from m17n_object_setup.
+       (MTextProperty): Document it.
+
+2004-12-09  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-core.h: Fix typo (MTextStatus -> M17NStatus).
+
+2004-12-03  Kenichi Handa  <handa@m17n.org>
+
+       * internal.h (m17n__core_initialized, m17n__shell_initialized,
+       m17n__gui_initialized): New externs.
+
+       * m17n-core.h (enum M17NStatus): New enum.
+       (m17n_status): Extern it.
+
+       * m17n-core.c (core_initialized): Delete this variable.
+       (m17n__core_initialized, m17n__shell_initialized,
+       m17n__gui_initialized): New variables.
+       (m17n_init_core, m17n_fini_core): Check m17n__core_initialized
+       instead of core_initialized.
+       (m17n_status): New function.
+
+       * m17n.c (shell_initialized): Delete this variable.
+       (m17n_init, m17n_fini): Check m17n__shell_initialized instead of
+       shell_initialized.
+
+       * m17n-gui.h (m17n_init_win): Adjust the prototype.
+
+       * m17n-gui.c (win_initialized): Delete this variable.
+       (m17n_init_win, m17n_fini_win): Check m17n__gui_initialized
+       instead of gui_initialized.
+
+2004-11-19  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (reset_ic): Check if ic_info->state is NULL.
+       (filter): If ic_info->state is NULL, return 0.
+       (load_input_method): Don't unref `maps' it it's not created.
+
+2004-11-15  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (find_candidates_group): If INDEX is -1, find the last
+       candidate group.
+       (take_action_list): If the previous of the first candidate is
+       requested, select the last candidate.
+
+2004-11-08  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Try at most 32 fonts to find a
+       non-autoscaled font.
+
+       * font.c (xlfd_parse_name): Fix previous change.
+
+2004-11-05  Kenichi Handa  <handa@m17n.org>
+
+       * font.c: (commont_style): Include dummy elements "slanted" and
+       "rslanted" to prefer "o" to "r" if "i" is requested.
+
+       * font-ft.c (ft_to_prop): Fix "oblique" entry.
+
+2004-10-29  Kenichi Handa  <handa@m17n.org>
+
+       * font.c (xlfd_parse_name): If avgwidth is 0, set the size to 0.
+
+       * m17n-X.c (MXFont): Change type of the member `sizes' to int.
+       New members smallest and larger.
+       (SET_SIZE, HAVE_SIZE): Adjusted for the above change.
+       (xfont_registry_list): Likewise.
+       (xfont_select): Likewise.
+       
+
+2004-10-28  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (xfont_registry_list): Include '-' before PIXEL_SIZE in
+       font name comparison.
+       (xfont_select): Fix logic for selecting a larger size font.
+
+2004-10-25  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (take_action_list): Initialize `ret' to 0 for "=", "<",
+       ">" actions.
+
+2004-10-22  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (update_candidate): Renamed from udpate_candidate.
+       (take_action_list): Show more debugging info on arithmetic commands.
+
+       * m17n-X.c (device_open): Fix previous change.
+
+       * draw.c (compose_glyph_string): Don't get face property at the
+       end of M-text.
+
+2004-10-21  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c (compose_glyph_string): Fix for the case of category
+       being Mnil.
+
+2004-10-19  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (mdebug_mask): New variable.
+       (shift_state): Print debug information.
+       (take_action_list): Likewise.
+       (handle_key): Likewise.
+
+2004-10-14  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Accept Mxft as the value of key Mfont.
+
+2004-10-13  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Be sure to register at least one font
+       driver.
+
+       * font-ft.c: Include <freetype/ftbdf.h> conditionally.  Check
+       HAVE_FTBDF_H before calling FT_Get_BDF_Property.
+
+2004-10-12  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c (alloc_gstring): Fix previous change.
+
+       * font-ft.c (ft_list_generic): Fix for the case of not
+       HAVE_FONTCONFIG.
+
+       * m17n-X.c (mwin__parse_event): Fix for non-ASCII keys.
+
+       * font.c (mfont_list): If no font is found, return NULL.
+       (load_font_encoding_table): Put entries of nil registry first.
+       (find_encoding): Adjust for the above change.
+
+2004-10-11  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-gui.h (mfont_list): Adjust prototype.
+
+       * m17n-X.c (xfont_list): New arg maxnum.
+
+       * font.h (struct MFontDriver): Change prototype of <list>.
+
+       * font-ft.c (fc_generic_family_list): Delete it.
+       (Mserif, Msans_serif, Mmonospace): Delete them.
+       (M_generic_family_info): New variable.
+       (enum GenericFamilyType): New enum.
+       (struct GenericFamilyInfo): New struct.
+       (generic_family_table): New variable.
+       (set_font_info): New arg style. Don't check 0xA0..0xBF to decide
+       iso8859-1.
+       (add_font_info): Get style here.
+       (ft_list_family): Don't initialize fc_config here.  Don't list
+       generic families.
+       (ft_list_generic): New function.
+       (ft_select): Pay attention to generic familes here.
+       (ft_open): Fix calculation of ascent and descent.
+       (ft_list): Pay attention to generic families.
+       (mfont__ft_init): Initialize M_generic_family_info,
+       generic_family_table, and fc_config..
+       (mfont__ft_fini): Finalize generic_family_table.
+
+       * draw.c (compose_glyph_string): Use more constant font for
+       glyphs.  Adjust for the member change in MGlyph.
+       (layout_glyph_string): Adjust for the member change in MGlyph.
+       (alloc_gstring): Intilize scracth_glyph to avoid
+       compose_glyph_string on it.
+       (get_gstring): Don't call compose_glyph_string on scracth_glyph.
+       (mdraw_coordinates_position): Fix previous change.
+
+       * internal-gui.h (glyph_category): New enum.
+       (MGlyph): Change type of <category> to enum glyph_category.
+
+       * face.c (mface__realize): Delete args langauge and charset.
+       (mface__for_chars): Fix for the case that glyphs have different
+       rfaces.
+       (mface__update_frame_face): Adjust for mface__realize change.
+
+       * face.h (mface__realize): Adjust prototype.
+
+2004-10-05  Kenichi Handa  <handa@m17n.org>
+
+       * language.c (mlang__init): Add Akan.
+
+2004-10-04  Kenichi Handa  <handa@m17n.org>
+
+       * font-ft.c (add_font_info): Add instead of push the element.
+       (ft_list_family): For generic fonts, try all
+       substituted. families.
+
+       * font-flt.c (UPDATE_CLUSTER_RANGE): New macro.
+       (run_rule): Don't update cluster range here.
+       (run_command): Update cluster range on appending a glyph.
+       (run_otf): Update cluster range for glyphs generated by OTF.
+
+2004-10-02  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Handle Mfont key in PLIST.
+
+2004-09-30  Kenichi Handa  <handa@m17n.org>
+
+       * font-ft.c (ft_select): Ignore family on calling mfont__score.
+
+2004-09-30  Kenichi Handa  <handa@m17n.org>
+
+       * font.h: Include <fontconfig/fontconfig.h>.
+       (MFTInfo): New member langset.
+       (mfont__encoding_list): Extern it.
+
+       * font.c (mfont__encoding_list): New function.
+       (mdebug_dump_font_list): New function.
+
+       * font-ft.c: Don't include <fontconfig/fontconfig.h> here.
+       (Mserif, Msans_serif, Mmonospace, Mmedium, Mr, Mnull): New
+       variables.
+       (ft_family_list): New variable.
+       (set_font_info): New arg basep.  Callers changed.
+       (fc_list): Check the return value of FcPatternGetString.
+       (add_font_info): New arg plist.  Callers changed. Update
+       ft_family_list.
+       (ft_list_family): New function (merged fc_list and ft_list_all).
+       (ft_select): Use ft_list_family.
+       (ft_list): Likewise.  If FONT is not NULL, check all fonts.  Fix
+       typo (== -> !=).
+       (mfont__ft_init): Initialize above new variables.
+       (mfont__ft_fini): Free ft_family_list.
+       (STRDUP_LOWER): New macro.
+       (set_font_info): Use STRDUP_LOWER.
+       (ft_list_family): Avoid duplicate addition of font path.  Use
+       STRDUP_LOWER.
+       (fc_decode_prop): Fix typo.
+
+       * m17n-X.c (MDisplayInfo): New member all_fonts_scaned.
+       (xfont_registry_list): Change argument disp_info to frame.
+       Callers changed.
+       (xfont_list_all): New function.
+       (xfont_list): If FONT is not NULL, check all fonts.
+
 2004-09-28  Kenichi Handa  <handa@m17n.org>
 
        * m17n-X.c (MXFont, MXFontList): New types.