*** empty log message ***
[m17n/m17n-lib.git] / src / ChangeLog
index 11b8365..6e99c4f 100644 (file)
+2010-08-31  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c (compose_glyph_string): Allow running flt striding over
+       the cursor position.
+
+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-13  Kenichi Handa  <handa@m17n.org>
 
        * font-flt.c (load_command): Prepend "^" in the regular expression.
        (M17N_FUNC): New macro.
        (msymbol_put_func, msymbol_get_func): Extern them.
        (mplist_put_func, mplist_get_func): Extern them.
        (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.
        * 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".
        (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.
        * 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
        * 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
 
   National Institute of Advanced Industrial Science and Technology (AIST)
   Registration Number H15PRO112