+2010-08-19 Kenichi Handa <handa@m17n.org>
+
+ * m17n-X.c (MDisplayInfo): New member altgr_mask.
+ (find_modifier_bits): Set disp_info->altgr_mask.
+
+ * input.c (fully_initialize): Make it static.
+
+ * input.h (MINPUT_KEY_ALTGR_MODIFIER): New macro.
+
+ * input-gui.c (minput_event_to_key): Handle
+ MINPUT_KEY_ALTGR_MODIFIER.
+
+2010-08-12 Kenichi Handa <handa@m17n.org>
+
+ * character.h (STRING_CHAR_ADVANCE_UTF8): Sanitize the code.
+ (STRING_CHAR_ADVANCE_UTF16): Likewise.
+
+ * font.c (mfont__init): Initialize buf to NULL.
+ (mfont__id): Likewise.
+
+ * font-ft.c (ft_encapsulate): Use MDEBUG_PRINT1 instead of
+ MDEBUG_DUMP.
+ (ft_check_otf): Move the label not_otf: within #ifdef HAVE_OTF.
+ (get_otf): Move the code within #ifdef HAVE_OTF.
+ (ft_drive_otf): Move declarations of some local variables within
+ #ifdef HAVE_OTF.
+
+2010-08-11 Kenichi Handa <handa@m17n.org>
+
+ * input.h (MInputContextInfo): New member state_hook.
+
+ * input.c (shift_state): Just set ic_info->state_hook, instead of
+ taking state-hook actions.
+ (handle_key): Check ic_info->state_hook. If KEY is unhandled,
+ init ic_info->state_hook.
+
+2010-08-09 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (try_otf): Remove unused local vars.
+
+ * input.c (fully_initialize): Avoid compiler warning by casting.
+
+ * m17n-core.c (m17n_init_core): Fix handling of env_value.
+
+ * fontset.c (realize_fontset_elements): Fix typo (pl->plist).
+
+ * coding.c (decode_coding_iso_2022): Sanitize "if" condition.
+
+2010-04-23 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.6.1 released.
+
+2010-04-23 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (enum GlyphInfoMask): Shift upper masks 1-bit left.
+ (decode_packed_otf_tag): If a glyph has combining information,
+ don't touch it.
+
+2010-04-23 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_drive_otf): Reset 28th bit of g->g.internal for
+ storing OTF feature tag.
+
+2010-04-19 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_stages): Update category code of glyphs if
+ category table is changed.
+
+2010-04-05 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_check_cap_otf): Fix conditions to call
+ OTF_check_features.
+
+ * database.c (check_version): Fix previous change.
+
+2010-04-02 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17NLIB_MINOR_VERSION): Changed to 6.
+ (M17NLIB_PATCH_LEVEL): Changed to 1.
+ (M17NLIB_VERSION_NAME): 1.6.1.
+
+2010-03-30 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.6.0 released.
+
+2010-03-01 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_rule): Fix checking of glyph availability.
+
+2010-02-18 Kenichi Handa <handa@m17n.org>
+
+ * m17n-gui.c (register_device_library): Preprend M17N_MODULE_DIR
+ to the module file name.
+
+ * input.c (load_external_module): Preprend M17N_MODULE_DIR to the
+ module file name.
+
+ * charset.c (load_charset): Check the return value of fgets.
+
+ * Makefile.am: Build modules dynamically loaded with
+ -avoid-version and no -version-info.
+
+2010-01-15 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (run_flt): Set mflt_try_otf to rfont->driver->try_otf.
+ (mdraw__init): Set mflt_enable_new_feature to 1.
+
+ * font-ft.c (ft_try_otf): New function.
+ (mfont__ft_driver): Set ft_try_otf.
+
+ * font.h (struct MFontDriver): New member try_otf.
+
+ * m17n-X.c (xft_driver): Set xft_try_otf.
+ (xft_try_otf): New function.
+
+ * m17n-flt.h: (mflt_enable_new_feature): Extern it.
+ (mflt_try_otf): Extern it.
+
+ * m17n-flt.c (load_category_table): If mflt_enable_new_feature is
+ zero, return NULL for such categories that require the new
+ feature.
+ (parse_otf_command): If mflt_enable_new_feature is zero, return
+ -1.
+ (load_otf_command): Fix previous change.
+ (load_flt): Check the return value of load_category_table.
+ (try_otf): Renamed from run_otf_category. Call mflt_try_otf
+ instead of font->drive_otf.
+ (run_command): Call try_otf instead of run_otf_category.
+ (m17n_init_flt): Initialize mflt_enable_new_feature to 0,
+ mflt_try_otf to NULL.
+ (mflt_enable_new_feature): New variable.
+ (mflt_try_otf): New variable.
+
+2009-12-10 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (parse_otf_command): Handle ":otf?".
+ (run_otf_category): If not features are specified, reset category
+ codes.
+ (run_command): On copy, don't re-calculate a category code.
+
+2009-12-03 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_stages): Reset category code if category-table
+ is changed.
+ (mflt_run): Don't set category code here.
+ (decode_packed_otf_tag): If no feature is applied, re-calculate
+ category code.
+
+2009-12-02 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (mflt_find): If FONT is specified but no flt is
+ found, return NULL.
+ (run_command): Don't set ENCODED and MEASURED of separator.
+
+2009-11-30 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (load_otf_command): Check 4th char against '?'.
+ (load_command): Likewise.
+ (decode_packed_otf_tag): New arg CTX. If CTX->in == gstring,
+ update CTX->encoded. Caller changed.
+
+2009-11-30 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_drive_otf): Check if OUT is null or not.
+ (ft_drive_otf): Call OTF_drive_gsub_with_log and
+ OTF_drive_gpos_with_log. Record the applied feature in
+ g->g.internal.
+
+ * font.c (mfont__get_glyph_id): Encode g->c instead of g->code.
+
+ * internal-flt.h (MAKE_COMBINING_CODE_BY_CLASS)
+ (COMBINING_BY_CLASS_P, COMBINING_CODE_CLASS)
+ (MAKE_PRECOMPUTED_COMBINDING_CODE, COMBINING_PRECOMPUTED_P):
+ Delete externs..
+ (PACK_OTF_TAG): Extern it.
+
+ * draw.c (reorder_combining_chars): Delete it.
+
+ * m17n-flt.h (mflt_font_id): Use type MFLFont.
+ (mflt_iterate_otf_feature): Likewise.
+
+ * m17n-flt.c (enum GlyphInfoMask): New member CategoryCodeMask and
+ CombinedMask.
+ (GET_CATEGORY_CODE, SET_CATEGORY_CODE, GET_COMBINED): New macros.
+ (SET_COMBINING_CODE): Set also CombinedMask.
+ (FontLayoutFeatureTable): Delete it.
+ (FeatureCodeTable): New type.
+ (FontLayoutCategory): Type of feature_table changed.
+ (load_category_table): Adjusted for the change of
+ FontLayoutCategory.
+ (unref_category_table): Likewise.
+ (gen_otf_tag): New member shift. Caller changed.
+ (FontLayoutContext): New member category.
+ (run_rule): Compare g->c instead of g->code.
+ (decode_packed_otf_tag): New function.
+ (run_otf): Call decode_packed_otf_tag. Don't reset combining-code
+ here.
+ (run_otf_category): New function.
+ (run_command): Set category-code if necessary. Call
+ run_otf_category for FontLayoutCmdTypeOTFCategory.
+ (run_stages): Set ctx->category. Get category from glyph if
+ possible.
+ (mflt_dump_gstring): New function.
+
+2009-11-26 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (enum FontLayoutCmdType): New member
+ FontLayoutCmdTypeOTFCategory.
+ (FontLayoutFeatureTable): New type.
+ (FontLayoutCategory): New members feature_table_size and
+ feature_table.
+ (load_category_table): Handle feature_table.
+ (unref_category_table): Likewise.
+ (load_otf_command): Handle FontLayoutCmdTypeOTFCategory.
+ (load_command): Likewise.
+ (free_flt_command): Likewise.
+
+2009-11-10 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (run_flt): Update category code of each glyph.
+
+2009-11-07 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_drive_otf): Don't accumulate anchor adjustments.
+
+2009-11-05 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_otf): Fix updating of g->lbearing, etc.
+
+ * font-ft.c (ft_drive_otf): Use OTF_drive_gpos2 if possible.
+
+2009-10-28 Kenichi Handa <handa@m17n.org>
+
+ * fontset.c (mdebug_flag): New variable.
+ (mfont__lookup_fontset): Print debug info.
+
+ * m17n-core.c (m17n_init_core): Call SET_DEBUG_FLAG for
+ MDEBUG_FONTSET.
+
+ * internal.h (enum MDebugFlag): Add MDEBUG_FONTSET.
+
+ * language.c (mscript__from_otf_tag): Adjusted for the new format
+ of the database <standard script unicode>.
+
+2009-10-22 Kenichi Handa <handa@m17n.org>
+
+ * database.c (check_version): Fix the check.
+
+ * input.c (surrounding_pos): New arg *pos.
+ (integer_value): Fix handling of "@+0".
+ (take_action_list): Adjusted for the change of surrounding_pos.
+
+2009-10-05 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h: (mflt_iterate_otf_feature, mflt_font_id): Extern
+ them.
+
+ * m17n-flt.c (FontLayoutCategory): New typedef.
+ (FontLayoutStage): Type of the member `category' changed.
+ (struct _MFLT): Type of the member `coverage' changed. New member
+ need_config and font_id.
+ (apply_otf_feature): New function.
+ (load_category_table): New arg FONT. If FONT is non-NULL, call
+ apply_otf_feature. Setup category->definition.
+ (ref_category_table): New macro.
+ (unref_category_table): New function.
+ (load_flt): Adjusted for the type change of category.
+ (free_flt_stage): New arg FLT.
+ (list_flt): Adjusted for the type change of category.
+ (run_stages): Adjusted for the type change of category.
+ (configure_category, configure_flt): New function.
+ (m17n_init_flt): Initialize mflt_iterate_otf_feature and
+ mflt_font_id to NULL.
+ (mflt_get): Skip the heading configured FLTs.
+ (mflt_find): Likewise. If necessary, configure the found flt.
+ (mflt_run): Handle mflt_iterate_otf_feature and mflt_font_id.
+ Adjusted for the type change of category.
+ (mflt_iterate_otf_feature, mflt_font_id): New variable.
+
+ * m17n-X.c (xfont_open): Set rfont->id.
+ (xft_driver): Set xft_iterate_otf_feature.
+ (xft_open): Set rfont->id.
+ (xft_iterate_otf_feature): New function.
+
+ * font.h (struct MRealizedFont): New member id.
+ (struct MFontDriver): New member iterate_otf_feature.
+
+ * font.c (mfont__get_glyph_id): Pay attention to. mfont->source.
+
+ * font-ft.c (ft_open, ft_encapsulate): Set rfont->id.
+ (get_otf): New funcition.
+ (ft_check_otf, ft_drive_otf): Use get_otf.
+ (iterate_callback, ft_iterate_otf_feature): New functions.
+ (mfont__ft_driver): Set ft_iterate_otf_feature.
+
+ * draw.c: Docstring updated.
+ (font_id): New function.
+ (run_flt): Set mflt_font_id and mflt_iterate_otf_feature before
+ calling mflt_run.
+
+2009-10-02 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (load_flt): Check the return value of
+ load_category_table.
+
+2009-09-03 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_otf): Clear combining code for glyphs whose
+ positions are adjusted by GPOS table.
+
+2009-08-13 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.5.5 released.
+
+2009-08-13 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17NLIB_PATCH_LEVEL): Changed to 5.
+ (M17NLIB_VERSION_NAME): Changed to "1.5.5".
+
+2009-03-03 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (compose_glyph_string): Check if category not Mnil.
+
+2009-03-02 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.5.4 released.
+
+2009-02-25 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.c (report_object_array): For M-text and Plist, print
+ more information.
+
+ * m17n-core.h (M17NLIB_PATCH_LEVEL): Changed to 4.
+ (M17NLIB_VERSION_NAME): Changed to "1.5.4".
+
+ * input.c (get_candidate_list): Free unnecessary objects.
+ (take_action_list): Free plist.
+
+2009-02-04 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (mcoding__init): Add "Shift_JIS" as an alias of "sjis".
+
+2009-01-16 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (Mcased, Msoft_dotted, Mcase_mapping, Mblock):
+ Extern them.
+
+ * character.c (Mcased, Msoft_dotted, Mcase_mapping, Mblock): New
+ variables.
+
+2009-01-14 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (decode_coding_iso_2022): Check invocation status
+ before updating charset0 and charset1.
+
+ * symbol.c (msymbol__canonicalize): Handle "windows-XXXX".
+
+2008-12-31 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (mflt_run): If g->encoded is set, don't clear
+ g->code.
+
+2008-10-30 Andreas Schwab <schwab@suse.de> (tiny change)
+
+ * face.c (mface_get_prop): Fix strict aliasing bug.
+ (mface_put_prop): Likewise.
+
+ * m17n-gui.c (mframe): Fix strict aliasing bug.
+
+2008-10-20 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.5.3 released.
+
+2008-10-06 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (mdraw__init): Use TRUE only when
+ FRIBIDI_INTERFACE_VERSION is less than 3.
+
+2008-10-03 Kenichi Handa <handa@m17n.org>
+
+ * database.c (mdatabase__find_file): Return a copy of filename if
+ it is absolute pathname.
+
+2008-09-25 Kenichi Handa <handa@m17n.org>
+
+ * input.c (load_macros): Don't parse the action list here.
+ (load_im_info): Parse action lists of all macros.
+
+2008-09-24 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (mflt_find): Setup coverage of "combining" flt.
+
+2008-09-19 Kenichi Handa <handa@m17n.org>
+
+ * input.c (fully_initialize): Rename "@reload" to "-reload".
+
+2008-09-17 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_stages): Fix combining with a variable width
+ font.
+
+2008-08-04 Kenichi Handa <handa@m17n.org>
+
+ * input.c (fully_initialize): Add more aliaese (e.g. C-M-1
+ vs. C-A-1).
+
+2008-07-22 Kenichi Handa <handa@m17n.org>
+
+ * input.c (fully_initialize): Fix previous change.
+
+2008-07-19 Kenichi Handa <handa@m17n.org>
+
+ * input.c (fully_initialize): Fix previous change.
+
+2008-07-14 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_list_family): New arg CHECK_ALIAS. Callers changed.
+
+2008-07-14 Kenichi Handa <handa@m17n.org>
+
+ * input.c (fully_initialize): Handle C-M-1, etc.
+
+2008-07-11 Kenichi Handa <handa@m17n.org>
+
+ * input.c (minput_open_im): Check if the arg NAME is not Mnil.
+
+2008-06-23 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.5.2 released.
+
+2008-06-23 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17NLIB_MINOR_VERSION): Changed to 5.
+ (M17NLIB_PATCH_LEVEL): Changed to 2.
+ (M17NLIB_VERSION_NAME): Changed "1.5.2".
+
+2008-06-13 Kenichi Handa <handa@m17n.org>
+
+ * input.c (minput_config_file): Comment fixed for man-page.
+
+2008-06-13 Harshula <harshula@gmail.com> (tiny change)
+
+ * Makefile.am (libm17n_gd_la_LIBADD): Add @FREETYPE_LD_FLAGS@.
+
+2008-05-24 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (mdebug_dump_flt): Change return value to (MFLT *).
+
+2008-05-23 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.am (libm17n_gui_la_LIBADD): Include libm17n-core.la.
+ (libm17n_X_la_LIBADD): Include libm17n-core.la, libm17n.la, and
+ libm17n-flt.la.
+ (libm17n_gd_la_LIBADD): Likewise.
+
+ * input.c (take_action_list): Fix debug info.
+
+2008-05-14 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_rule): Check SRC_REGEX at first.
+ (run_stages): Fix index of g_indices.
+
+2008-04-03 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (compose_glyph_string): Don't run flt striding over the
+ cursor position.
+ (get_gstring): Don't use the cached gstring if cursor position is
+ changed.
+
+2008-04-02 Kenichi Handa <handa@m17n.org>
+
+ * input.c (integer_value): Delete the 3rd arg VALUE.
+ (resolve_expression): Adjust the call of integer_value.
+ (take_action_list): Likewise.
+
+2008-03-06 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_drive_otf): Don't ignore the otf-spec to apply all
+ features.
+
+2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * Version 1.5.1 released.
+
+2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * draw.c (mdraw_glyph_list): Refer to mfont__ft_driver only when
+ HAVE_FREETYPE is defined.
+
+ * font.h (OTF_Tag): Be sure that it is defined in any cases.
+
+2008-01-30 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * font.h (enum MFontOpenTypeTable, MFontCapability): Define them
+ unconditionally.
+
+2008-01-25 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * input.c (parse_action_list): Handle the case "(insert INTEGER)".
+
+2008-01-25 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * input.c (parse_action_list): Check M_candidates.
+ (get_im_info): If key is Mnil, be sure to set im_info->states to a
+ plist.
+
+2008-01-23 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * input.c (integer_value): Fix interpretation of "@-N".
+
+2008-01-17 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * input.c (get_following_char): Fix interpretation of POS.
+ (get_following_char): Fix interpretation of "@+N".
+
+2008-01-15 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * font-ft.c (ft_drive_otf): Don't refer to otf_gstring if HAVE_OTF
+ is not defined.
+
+ * Makefile.am (FLT_SOURCES): Include internal-flt.h.
+
+2008-01-07 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * m17n-flt.c (UPDATE_CLUSTER_RANGE): Don't check if clustering
+ now.
+ (run_rule): Call UPDATE_CLUSTER_RANGE when necessary.
+ (run_command): Check if clustering now before calling
+ UPDATE_CLUSTER_RANGE.
+
+2008-01-06 Kenichi Handa <handa@m17n.org>
+
+ * font.c (mfont__get_glyph_id): Return -1 if some code is invalid.
+
+ * font-ft.c (ft_drive_otf): Fix checking of negative feature.
+
+ * m17n-X.c (xft_find_metric): Set g->g.measured.
+
+ * m17n-flt.c (Mequal): New variable.
+ (m17n_init_flt): Initialize it.
+ (FontLayoutCmdRule): Merge members supported_glyph and otf_spec
+ into a new member facility.
+ (load_command): Modify parsing of Mfont_facility.
+ (run_rule): Adjuted for the change of FontLayoutCmdRule.
+ (run_otf): Adjusted metrics if a->back is nonzero.
+
+2007-12-28 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * Version 1.5.0 released.
+
+2007-12-13 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * m17n-core.c (m17n_init_core): Handle the lang. env. MDEBUG_FLT.
+
+ * m17n-flt.c (mdebug_flag): Set to MDEBUG_FLT.
+ (run_rule): Check if a font has the specific glyph correctly.
+
+ * internal.h (enum MDebugFlag): Delete MDEBUG_FONT_OTF, change
+ MDEBUG_FONT_FLT to MDEBUG_FLT.
+
+ * font.c (mfont__get_glyph_id): Encode g->g.code (not g->g.c).
+
+ * font-flt.c: Delete it.
+
+2007-12-08 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * m17n-flt.c (run_rule): Fix printing of debug info. Don't update
+ TO for the rule of SRC_HAS_GLYPH.
+
+ * draw.c (run_flt): Argument changed.
+ (compose_glyph_string): Adjusted for the above change.
+
+2007-12-07 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * plist.c (read_mtext_element): Don't free the malloced buffer.
+
+2007-12-04 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * m17n-core.h (merror_code): Extern it.
+
+ * m17n-misc.h (merror_code): Don't extern it.
+
+ * m17n.h: Handle the case of _M17N_FLT_H_ being defined.
+
+ * m17n-flt.h: Handle the case of _M17N_H_ being defined.
+
+2007-11-22 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * draw.c (compose_glyph_string): Check g->rface->layouter, not
+ g->rface->rfont->layouter.
+
+ * font-ft.c (ft_drive_otf): Fix setting of g->g.from and g->g.to.
+
+ * m17n-flt.c (FontLayoutContext): New member encoded_offset.
+ (run_rule): Use ctx->encoded_offset.
+ (run_command): Likewise.
+ (run_stages): Set ctx->encoded_offset.
+
+2007-11-21 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * m17n-flt.c (enum GlyphInfoMask): Adjusted for the change of
+ bit-size of MFLTGlyph->internal.
+
+2007-11-20 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * draw.c (visual_order): Exclude the last anchor glyph from the
+ iteration.
+
+ * m17n-flt.h (MFLTGlyph): New member <adjusted>.
+
+ * m17n-flt.c (run_otf): Set adjusted flag of glyphs if necessary.
+ (run_stages): Likewise.
+ (load_flt): Unref top after checking plist.
+
+ * m17n-X.c (xft_render): Check adjusted flag of glyphs.
+
+2007-11-12 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * font-ft.c (ft_check_otf): Fix arg to OTF_check_features.
+
+ * m17n-flt.c (Mcombining): New variable.
+ (Mfont_facility): Renamed from Mfont_has. Referrer changed.
+ (enum FontLayoutCmdRuleSrcType): Delete SRC_EXIST, add
+ SRC_HAS_GLYPH and SRC_OTF_SPEC.
+ (FontLayoutCmdRule): Delete src.exist, add src.supported_glyph and
+ src.otf_spec.
+ (load_command): Adjusted for the above changes.
+ (run_rule): Likewise.
+ (combining_code_from_class): Delete it.
+ (mflt_get): Check flt->name against Mcombining, not Mt.
+
+ * internal-flt.h (Mcombining): Extern it.
+
+ * draw.c (compose_glyph_string): Call run_flt with Mcombining for
+ combining characters.
+
+2007-11-09 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * face.c (mface__realize): Reset measured flag before calling
+ mfont__get_metric.
+
+ * m17n-flt.c (run_stages): Fix handing of off_x and off_y.
+ (setup_combining_coverage): New function.
+ (setup_combining_flt): New function.
+ (mflt_get): If flt is not found, return NULL. If name if Mt,
+ call setup_combining_flt.
+ (mflt_run): For debugging, print font family name.
+
+ * font-ft.c (ft_render): Fix handling of baseline_offset.
+ (ft_encapsulate): Set metrics in 26.6 fixed pixel.
+ (ft_render): Check pixel_mode to determine anti_alias.
+
+ * m17n-X.c (xfont_find_metric): Delete invalid "continue" line.
+ (xfont_find_metric): Set metrics in 26.6 fixed pixel.
+ (xfont_render): Set baseline_offset in pixel.
+ (xft_render): Fix handling of baseline_offset.
+
+ * draw.c (run_flt): Set font.font.family.
+ (compose_glyph_string): Fix handling of combining characters.
+
+ * fontset.c (try_font_list): Check if the named flt is surely
+ available.
+
+2007-11-07 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * draw.c (analyse_bidi_level): New function.
+ (visual_order): Do reordering using the already decided
+ bidi-level.
+ (compose_glyph_string): Decide bidi-level before calling flt.
+
+ * m17n-flt.c (mflt_run): Fix typo.
+
+ * font-ft.c (ft_drive_otf): Fix indexing gstring->glyphs.
+
+2007-11-06 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * draw.c (visual_order): Don't rely on the width of glyphs.
+ (run_flt): Fix culculation of g->g.to.
+
+ * m17n-flt.c (run_rule): Don't set error code here.
+ (run_cond): Likewise.
+ (run_otf): Fix culculation of xoff and yoff.
+ (run_command): Don't set error code here.
+ (PREV): New macro.
+ (NEXT): New macro.
+
+ * m17n-X.c (xfont_open): Keep rfont's metrics in 26.6 fixed pixels.
+ (xfont_find_metric): Set glyph's yadv to 0.
+ (xft_find_metric): Likewise.
+
+ * font-ft.c (ft_open): Keep rfont's metrics in 26.6 fixed pixels.
+ (ft_find_metric): Adjust glyph's metrics.
+ (ft_encapsulate): Keep rfont's metrics in 26.6 fixed pixels.
+ (ft_drive_otf): Set mark glyph's xadv to 0.
+
+ * face.c (mface__for_chars): Adjusts the unit of face's ascent and
+ descent.
+
+2007-10-29 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h (struct _MFLTOtfSpec): Adjusted for the new FLT handling.
+ (mflt_get): Adjusted for the argument change.
+ (mflt_name): Adjusted for the return value change.
+
+ * m17n-flt.c (Mgenerator, Mend): New variables.
+ (flt_min_coverage, flt_max_coverage): New variables.
+ (GCPY): New macro.
+ (GDUP): Use it.
+ (Mfont_has): Renamed from Mexist. Referrers chagned.
+ (gen_otf_tag): Handle the trailing whitespaces.
+ (otf_count_features, otf_store_features): Fix for negative features.
+ (parse_otf_command): Adjusted for the change of MFLTOtfSpec.
+ (load_otf_command): Likewise.
+ (free_flt_command): Adjusted for the change of MFLTOtfSpec.
+ (load_flt): Argument changed. Caller changed.
+ (free_flt_list): New function.
+ (run_rule): Adjusted for the change of FontLayoutContext.
+ (mflt_run): Adjusted for the change of FontLayoutContext.
+
+ * m17n-gui.c (m17n_init_win): Call m17n_init_flt.
+ (m17n_fini_win): Call m17n_fini_flt.
+
+ * m17n-gui.h: Include m17n-flt.h.
+
+ * m17n-gd.c: Adusted for the change of MGlyph.
+
+ * m17n-X.c: Adusted for the change of MGlyph.
+ (xft_check_otf, xft_drive_otf): New functions.
+
+ * internal-gui.h (MGlyph): Modified for new FLT handling.
+
+ * fontset.c (try_font_list): Adusted for the change of MGlyph.
+
+ * font-ft.c: Adjusted for the change of MGlyph.
+ (ft_check_cap_otf): Renamed from ft_check_otf. Callers changed.
+ (get_glyph_metric): Deleted.
+ (ft_check_otf): New function.
+ (ft_drive_otf): New fucntion.
+
+ * font.c: Adjusted for the change of MGlyph.
+ (mfont__init): Don't call mfont__flt_init.
+ (mfont__fini): Don't call mfont__flt_fini.
+ (mfont__get_glyph_id, mfont__get_metrics): New functions.
+
+ * font.h (struct MRealizedFont): New members x_ppem and y_ppem.
+ (MFLTFontForRealized): New struct.
+ (struct MFontDriver): New members check_otf and drive_otf.
+ (mfont__get_glyph_id, mfont__get_metrics): Extern them.
+
+ * face.c: Adjusted for the change of MGlyph.
+
+ * draw.c: Adjusted for the change of MGlyph.
+
+ * m17n.c (m17n_init): Don't call mchar_init.
+
+ * m17n-core.c (m17n_init_core): Call mchar_init.
+
+ * m17n-core.h (mchartable_min_char, mchartable_max_char): Extern them.
+
+ * input.c: Include "m17n.h" instead of "m17n-gui.h".
+
+ * chartab.c (mchartable): Initialize table->min_char to -1.
+ (mchartable_min_char): New function.
+ (mchartable_max_char): New function.
+
+ * Makefile.am (GUI_SOURCES): Delete font-flt.c.
+ (libm17n_gui_la_LIBADD): Add ${top_builddir}/src/libm17n-flt.la.
+
+2007-10-12 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (Mcharset): Extern it.
+ Move detabase related declarations from m17n.h.
+
+ * m17n-flt.h: Include m17n-core.h instead of m17n.h.
+ (struct _MFLTOtfFeatures): New struct.
+ (struct _MFLTOtfSpec): Delete gsub, gpos, etc, add gsub_gpos.
+ (struct _MFLTFont): Delete otf, add check_otf.
+ (MCHAR_INVALID_CODE): Define it.
+
+ * plist.c (read_mtext_element): Simplify the code.
+
+ * m17n.h: Move database related declarations to m17n-core.h
+ (Mharset): Don't extern it.
+
+ * m17n.c (m17n_init): Don't call mdatabase__init.
+
+ * m17n-gd.c (read_rgb_txt): Check also /etc/X11/rgb.txt. Downcase
+ color names.
+
+ * m17n-flt.c: Include m17n-core.h instead of m17n.h.
+ (Mexist): New variable.
+ (enum FontLayoutCmdRuleSrcType): New enum SRC_EXIST.
+ (FontLayoutCmdRule): New member src.exist.
+ (parse_otf_command): Handle gsub_count and gpos_count separately.
+ (load_otf_command): Adjusted for the change of MFLTOtfSpec.
+ (load_command): Handle the command "exist".
+ (free_flt_command): Adjusted for the change of MFLTOtfSpec.
+ (run_rule): Handle the case SRC_EXIST.
+ (run_otf): Adjusted for the change of MFLTOtfSpec.
+ (run_command): Check the range of FROM.
+ (check_otf_spec): Delete it.
+ (m17n_init_flt): Call m17n_init_core instead of m17n_init.
+ Initialize Mexist.
+ (m17n_fini_flt): Call m17n_fini_core instead of m17n_fiini.
+ (mflt_find): Call font->check_otf instead of check_otf_spec.
+ (mflt_run): Keep the metrics in 26.6 fixed point.
+
+ * m17n-core.c (mdatabase__finder, mdatabase__loader): Delete them.
+ (m17n_init_core): Call mdatabase__init.
+
+ * m17n-X.c (device_open): Use mplist_add, not mplist_push.
+
+ * internal.h (mdatabase__finder, mdatabase__loader): Delete externs
+ of them.
+
+ * font-flt.c (Mexist): New variable.
+ (enum FontLayoutCmdRuleSrcType): New enum SRC_EXIST.
+ (FontLayoutCmdRule): New member src.exist.
+ (load_category_table): Use isalnum, not isalpha.
+ (load_command): Check the command "exist".
+ (run_rule): Hande the case SRC_EXIST.
+ (run_command): Check the range of FROM.
+ (mfont__flt_init): Initialize Mexist.
+
+ * draw.c (layout_glyphs): Fix calculation of off_x and off_y.
+
+ * database.h (mdatabase__load_charset_func): Extern it.
+
+ * database.c: Include m17n-core.h instead of m17n.h.
+ (load_chartable): Use mtext__from_data.
+ (load_charset): Moved to charset.c
+ (load_database): Call mdatabase__load_charset_func instead of
+ load_charset.
+ (mdatabase__load_charset_func): New variable.
+ (mdatabase__init): Initialize mdatabase__load_charset_func and
+ Mcharset. Don't set mdatabase__finder and mdatabase__loader.
+ (mdatabase__save): Use fwrite, not mconv_encode_stream.
+ (Mcharset): Declare it here.
+
+ * charset.c: Include "database.h.".
+ (load_charset): Moved from database.c.
+ (mcharset__init): Initialize mdatabase__load_charset_func, don't
+ initialize Mcharset.
+
+ * character.c (mchar_define_property): Call mdatabase_find directly.
+ (mchar_get_prop): Call mdatabase_add directly.
+ (mchar_put_prop): Call mdatabase_load directly.
+ (mchar_get_prop_table): Likewise.
+
+ * Makefile.am (libm17n_core_la_SOURCES): Add database.[ch].
+ (libm17n_la_SOURCES): Remove database.[ch].
+ (libm17n_flt_la_LIBADD): Delete libm17n.la, add libm17n-core.la.
+
+2007-09-18 Kenichi Handa <handa@m17n.org>
+
+ * face.c (mface__realize): Try Freetype based font at first.
+
+ * font.c: Include <ctype.h>
+
+2007-09-16 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (load_flt): New arg full. If full is zero, load only
+ coverage.
+ (run_otf): Call font->get_metrics, not font->get_metric.
+ (run_stages): Likewise.
+ (CHECK_FLT_COVERAGE): New macro.
+ (CHECK_FLT_STAGES): Call load_flt with the second arg 1.
+ (check_otf_spec): New function.
+ (m17n_fini_flt): Unref flt->coverage.
+ (mflt_find): Argument changed.
+ (mflt_name): New function.
+ (mflt_coverage): Use CHECK_FLT_COVERAGE.
+
+ * m17n-flt.h (MFLTFont): Member get_metrics renamed from get_metric.
+ (mflt_find): Prototype adjusted.
+ (mflt_name): Extern it.
+
+2007-09-14 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h (struct _MFLTGlyph): Change signedness of members.
+
+ * font-flt.c (run_otf): Make debug info printing comaptible with
+ that of m17n-flt.c.
+ (run_command): Likewise.
+ (mfont__flt_run): Likewise.
+
+ * m17n-flt.c (UPDATE_CLUSTER_RANGE): ctx->cluster_begin_idx is
+ invalid only when it's negative.
+ (run_otf): Likewise.
+ (run_command): Likewise.
+ (mflt_run): Initialize ctx.cluster_begin_idx to -1.
+
+2007-09-10 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h (struct _MFLTGlyph): New member encoded and measured.
+ (struct _MFLTFont): Prototype of get_glyph_id changed.
+
+ * m17n-flt.c (enum GlyphInfoMask): Delete EncodedMask and
+ PositionedMask.
+ (GAPPEND): Delete this macro.
+ (GET_ENCODED, SET_ENCODED, GET_MEASURED, SET_MEASURED): Adjusted
+ for the change of MFLTGlyph. Caller changed.
+ (run_otf): Simply calls font->get_glyph_id.
+ (run_command): Reset g->encoded and g->measured for direct code.
+ (positioning): Delete this function.
+ (run_stages): Simply calls font->get_glyph_id and font->get_metric.
+
+2007-09-07 Kenichi Handa <handa@m17n.org>
+
+ * draw.c (compose_glyph_string): Improve script detection.
+
+2007-09-06 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h (mflt_get): Extern it.
+
+ * m17n-flt.c (run_stages): Call positioning only if
+ font->get_metric is non-NULL.
+ (CHECK_FLT_STAGES): Fix typo.
+ (mflt_get): New function.
+
+ * font-flt.c (mfont__flt_run): Improve debug info printing.
+
+2007-09-04 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (MFontLayoutTable): Delete this type.
+ (struct _MFLT): New member mdb and coverage.
+ (list_flt): Set flt->mdb.
+ (load_generator): Argument and return value changed. Caller
+ changed.
+ (get_font_layout_table): Delete this function.
+ (run_stages): Argument changed. Caller changed.
+ (CHECK_FLT_STAGES): New macro.
+ (mfont__flt_encode_char): Argument changed.
+ (mflt_find): Likewise.
+ (mflt_coverage): New function.
+ (mflt_run): Argument changed.
+ (mdebug_dump_flt): Likewise.
+
+ * m17n-flt.h (mflt_coverage): Extern it.
+ (mflt_find): Prototype adjusted.
+
+2007-09-03 Kenichi Handa <handa@m17n.org>
+
+ * internal.h (MTABLE_CALLOC_SAFE, MSTRUCT_CALLOC_SAFE): New macros.
+
+ * database.c (mdatabase__props): New function.
+
+ * database.h (mdatabase__props): Extern it.
+
+ * m17n-flt.h (struct _MFLTGlyphString): Delete user_data, add
+ script and langsys.
+ (struct _MFLTFont): Add suitable_p.
+ (mflt_find): Extern it.
+
+ * m17n-flt.c: Include "database.h".
+ (struct _MFLT): New struct.
+ (list_flt): New function.
+ (load_flt): Don't update flt_list.
+ (get_font_layout_table): Use flt_list.
+ (m17n_init_flt): Don't initialize flt_list.
+ (m17n_fini_flt): Adjusted for the change of flt_list.
+ (mflt_find): New function.
+ (mflt_run): Fix debug printing.
+
+2007-08-23 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_otf): Remove #ifdef HAVE_OTF and #endi.
+ (run_stages): Print separator in encoded string as "|".
+
+2007-08-23 Kenichi Handa <handa@m17n.org>
+
+ * font-flt.c (mfont__flt_run): Don't calculate a glyph metric if
+ the glyph is already handled by OTF.
+
+2007-08-21 Kenichi Handa <handa@m17n.org>
+
+ * font-ft.c (ft_check_capability): Check cap->script_tag at first.
+
+2007-08-20 Kenichi Handa <handa@m17n.org>
+
+ * font-flt.c (mfont__flt_run): Get glyph metrics before printing
+ debug information.
+
+2007-08-17 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.h (struct _MFLTGlyphString): Member pointer renamed to
+ user_data.
+ (MFLTOtfSpec): Renamed from MFLT_OTF_Spec.
+ (MFLTFont): Prototype of the member drive_otf adjusted.
+
+ * m17n-flt.c (run_stages): Fix handling of padding.
+
+ * font-ft.c (get_glyph_metric): New function.
+ (DEVICE_DELTA): Return 26.6 fixed point value.
+ (adjust_anchor): Likewise.
+ (mfont__ft_drive_otf): Use get_glyph_metric.
+
+ * font-flt.c (mfont__flt_run): Pay attention to padding on
+ printing debug info.
+
+2007-08-16 Kenichi Handa <handa@m17n.org>
+
+ * m17n-flt.c (run_stages): Fix typo.
+
+ * font-ft.c (adjust_anchor): Argument changed. Calculte based on
+ 26.6 fixed point.
+ (mfont__ft_drive_otf): Don't call OTF_check_features for GPOS.
+ Adjusted for the argument change of adjust_anchor. Calculte based
+ on 26.6 fixed point.
+
+2007-08-15 Kenichi Handa <handa@m17n.org>
+
+ * charset.c (mcharset__load_from_database): Set mdebug_flag
+ instead of mdebug_mask.
+
+ * coding.c (mcoding__load_from_database): Set mdebug_flag instead
+ of mdebug_mask.
+
+ * database.c (load_database): Set mdebug_flag instead of
+ mdebug_mask.
+ (mdatabase__load_for_keys): Likewise.
+
+ * draw.c: Include "internal-flt.h".
+ (dump_combining_code): Don't subtract 128 from combining code
+ off_x/y.
+
+ * font-flt.c: Include "internal-flt.h". Set mdebug_flag instead
+ of mdebug_mask.
+ (run_rule): Print debug info only when MDEBUG_FLAG is greater than
+ 2.
+ (run_cond): Likewise.
+ (run_otf): Likewise.
+ (run_command): Likewise.
+ (mfont__flt_run): Change format of debug info.
+
+ * font-ft.c: Include "internal-flt.h".
+ Set mdebug_flag instead of mdebug_mask.
+ (mfont__ft_drive_otf): Fix arg to OTF_check_features.
+
+ * input.c: Set mdebug_flag instead of mdebug_mask.
+ (shift_state): New MDEBUG_FLAG macro.
+ (preedit_commit): Likewise.
+ (filter): Likewise.
+
+ * internal-flt.h: New file.
+
+ * internal-gui.h (MAKE_COMBINING_CODE, COMBINING_CODE_OFF_Y)
+ (COMBINING_CODE_OFF_X, COMBINING_CODE_BASE_X)
+ (COMBINING_CODE_BASE_Y, COMBINING_CODE_ADD_X)
+ (COMBINING_CODE_ADD_Y, MAKE_COMBINING_CODE_BY_CLASS)
+ (COMBINING_BY_CLASS_P, COMBINING_CODE_CLASS)
+ (MAKE_PRECOMPUTED_COMBINDING_CODE, COMBINING_PRECOMPUTED_P): Move
+ these macros to internal-flt.h.
+
+ * internal.h (M17N_OBJECT_ADD_ARRAY): Adjusted for the change of
+ mdebug__flags.
+ (M17N_OBJECT_REGISTER, M17N_OBJECT_UNREGISTER): Likewise.
+ (enum MDebugMaskBit): Delete this enum.
+ (enum MDebugFlag): New enum.
+ (mdebug__flag): Don't extern it.
+ (mdebug__flags): Extern it.
+ (MDEBUG_FLAG): New macro.
+ (MDEBUG_PRINT0): Use the macro MDEBUG_FLAG.
+ (MDEBUG_DUMP, MDEBUG_PUSH_TIME, MDEBUG_POP_TIME)
+ (MDEBUG_PRINT_TIME): Likewise.
+
+ * m17n-X.c (xfont_open): Set mdebug_flag instead of mdebug_mask.
+ (xfont_list): Likewise.
+
+ * m17n-core.c (mdebug__flag): Delete this variable.
+ (mdebug__flags): New variable.
+ (SET_DEBUG_FLAG): Make it a function.
+ (m17n_init_core): Set mdebug_flag instead of mdebug_mask.
+ (m17n_fini_core): Likewise.
+
+ * m17n-gui.c (m17n_init_win): Set mdebug_flag instead of mdebug_mask.
+ (m17n_fini_win): Likewise.
+
+ * m17n-misc.h (enum MErrorCode): Add MERROR_FLT.
+
+ * m17n.c (m17n_init): Set mdebug_flag instead of mdebug_mask.
+ (m17n_fini): Likewise.
+
+ * symbol.c (msymbol__free_table): Adjusted for the change of
+ mdebug__flags.
+
+ * Makefile.am (BASICBUILDS): Add libm17n-flt.la.
+ (BASICHEADERS): Add m17n-flt.h.
+ (FLT_SOURCES): New variable.
+ (libm17n_flt_la_SOURCES, libm17n_flt_la_LIBADD)
+ (libm17n_flt_la_LDFLAGS): Likewise.
+
+ * m17n-flt.h: New file.
+
+ * m17n-flt.c: New file created by modifying font-flt.c.
+
+2007-07-13 Kenichi Handa <handa@m17n.org>
+
+ * Version 1.4.0 released.
+
+2007-07-12 Kenichi Handa <handa@m17n.org>
+
+ * input.c: Fix doxygen @ref commands.
+
+2007-07-10 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17NFunc): Fix typo of Doxygen directive.
+
+2007-07-09 Kenichi Handa <handa@m17n.org>
+
+ * m17n-core.h (M17N_BEGIN_HEADER, M17N_END_HEADER): New macros.
+
+ * m17n.h: Include m17n-core.h if not yet done. Use macros
+ M17N_BEGIN_HEADER and M17N_END_HEADER.
+
+ * m17n-gui.h: Likewise.
+
+ * m17n-misc.h: Likewise.
+
+2007-06-13 Kenichi Handa <handa@m17n.org>
+
+ * font-flt.c (load_command): Prepend "^" in the regular expression.
+
+2007-06-11 Kenichi Handa <handa@m17n.org>
+
+ * language.c (mlanguage_name_list): Fix previous change.
+
+ * coding.c (mcoding__load_from_database): Add aliases in
+ coding_definition_list.
+
+2007-06-10 Kenichi Handa <handa@m17n.org>
+
+ * language.c (mlanguage_name_list): Fix previous change.
+
2007-06-08 Kenichi Handa <handa@m17n.org>
* input.c (update_candidate): Copy candidate_list earlier.
(M17N_FUNC): New macro.
(msymbol_put_func, msymbol_get_func): Extern them.
(mplist_put_func, mplist_get_func): Extern them.
-
+
* m17n-gui.h (mface_get_hook, mface_put_hook): Extern them.
* m17n-gui.c (mframe): Add a proper casting.
(MTEXT_FORMAT_UTF_16): Correct type.
(M17NLIB_MINOR_VERSION): Changed to 3.
(M17NLIB_VERSION_NAME): Changed to "1.3.0".
-
+
* chartab.c (mchartable__init): Initalize chartable_table.count.
(mchartable__fini): Use N17N_OBJECT_ADD_ARRAY instead of
mdebug__report_object.
* Version 1.0 released.
\f
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112