X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2FChangeLog;h=6e99c4feb6057b0b468e0cbade972241f1beaa1a;hb=b998854eea9cced8d20f1f66e1b2697c21704f1a;hp=11b83658853fc937745222060b09bd597efed5d9;hpb=d01f9eea563cfd8d01b74af99f29bbfef0d3d9e0;p=m17n%2Fm17n-lib.git diff --git a/src/ChangeLog b/src/ChangeLog index 11b8365..6e99c4f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,1127 @@ +2010-08-31 Kenichi Handa + + * draw.c (compose_glyph_string): Allow running flt striding over + the cursor position. + +2010-08-19 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * 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 + + * Version 1.6.1 released. + +2010-04-23 Kenichi Handa + + * 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 + + * font-ft.c (ft_drive_otf): Reset 28th bit of g->g.internal for + storing OTF feature tag. + +2010-04-19 Kenichi Handa + + * m17n-flt.c (run_stages): Update category code of glyphs if + category table is changed. + +2010-04-05 Kenichi Handa + + * 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 + + * 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 + + * Version 1.6.0 released. + +2010-03-01 Kenichi Handa + + * m17n-flt.c (run_rule): Fix checking of glyph availability. + +2010-02-18 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * draw.c (run_flt): Update category code of each glyph. + +2009-11-07 Kenichi Handa + + * font-ft.c (ft_drive_otf): Don't accumulate anchor adjustments. + +2009-11-05 Kenichi Handa + + * 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 + + * 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 . + +2009-10-22 Kenichi Handa + + * 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 + + * 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 + + * m17n-flt.c (load_flt): Check the return value of + load_category_table. + +2009-09-03 Kenichi Handa + + * m17n-flt.c (run_otf): Clear combining code for glyphs whose + positions are adjusted by GPOS table. + +2009-08-13 Kenichi Handa + + * Version 1.5.5 released. + +2009-08-13 Kenichi Handa + + * m17n-core.h (M17NLIB_PATCH_LEVEL): Changed to 5. + (M17NLIB_VERSION_NAME): Changed to "1.5.5". + +2009-03-03 Kenichi Handa + + * draw.c (compose_glyph_string): Check if category not Mnil. + +2009-03-02 Kenichi Handa + + * Version 1.5.4 released. + +2009-02-25 Kenichi Handa + + * 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 + + * coding.c (mcoding__init): Add "Shift_JIS" as an alias of "sjis". + +2009-01-16 Kenichi Handa + + * 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 + + * 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 + + * m17n-flt.c (mflt_run): If g->encoded is set, don't clear + g->code. + +2008-10-30 Andreas Schwab (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 + + * Version 1.5.3 released. + +2008-10-06 Kenichi Handa + + * draw.c (mdraw__init): Use TRUE only when + FRIBIDI_INTERFACE_VERSION is less than 3. + +2008-10-03 Kenichi Handa + + * database.c (mdatabase__find_file): Return a copy of filename if + it is absolute pathname. + +2008-09-25 Kenichi Handa + + * 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 + + * m17n-flt.c (mflt_find): Setup coverage of "combining" flt. + +2008-09-19 Kenichi Handa + + * input.c (fully_initialize): Rename "@reload" to "-reload". + +2008-09-17 Kenichi Handa + + * m17n-flt.c (run_stages): Fix combining with a variable width + font. + +2008-08-04 Kenichi Handa + + * input.c (fully_initialize): Add more aliaese (e.g. C-M-1 + vs. C-A-1). + +2008-07-22 Kenichi Handa + + * input.c (fully_initialize): Fix previous change. + +2008-07-19 Kenichi Handa + + * input.c (fully_initialize): Fix previous change. + +2008-07-14 Kenichi Handa + + * font-ft.c (ft_list_family): New arg CHECK_ALIAS. Callers changed. + +2008-07-14 Kenichi Handa + + * input.c (fully_initialize): Handle C-M-1, etc. + +2008-07-11 Kenichi Handa + + * input.c (minput_open_im): Check if the arg NAME is not Mnil. + +2008-06-23 Kenichi Handa + + * Version 1.5.2 released. + +2008-06-23 Kenichi Handa + + * 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 + + * input.c (minput_config_file): Comment fixed for man-page. + +2008-06-13 Harshula (tiny change) + + * Makefile.am (libm17n_gd_la_LIBADD): Add @FREETYPE_LD_FLAGS@. + +2008-05-24 Kenichi Handa + + * m17n-flt.c (mdebug_dump_flt): Change return value to (MFLT *). + +2008-05-23 Kenichi Handa + + * 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 + + * m17n-flt.c (run_rule): Check SRC_REGEX at first. + (run_stages): Fix index of g_indices. + +2008-04-03 Kenichi Handa + + * 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 + + * 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 + + * font-ft.c (ft_drive_otf): Don't ignore the otf-spec to apply all + features. + +2008-01-31 Kenichi Handa + + * Version 1.5.1 released. + +2008-01-31 Kenichi Handa + + * 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 + + * font.h (enum MFontOpenTypeTable, MFontCapability): Define them + unconditionally. + +2008-01-25 Kenichi Handa + + * input.c (parse_action_list): Handle the case "(insert INTEGER)". + +2008-01-25 Kenichi Handa + + * 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 + + * input.c (integer_value): Fix interpretation of "@-N". + +2008-01-17 Kenichi Handa + + * input.c (get_following_char): Fix interpretation of POS. + (get_following_char): Fix interpretation of "@+N". + +2008-01-15 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * Version 1.5.0 released. + +2007-12-13 Kenichi Handa + + * 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 + + * 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 + + * plist.c (read_mtext_element): Don't free the malloced buffer. + +2007-12-04 Kenichi Handa + + * 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 + + * 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 + + * m17n-flt.c (enum GlyphInfoMask): Adjusted for the change of + bit-size of MFLTGlyph->internal. + +2007-11-20 Kenichi Handa + + * draw.c (visual_order): Exclude the last anchor glyph from the + iteration. + + * m17n-flt.h (MFLTGlyph): New member . + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * face.c (mface__realize): Try Freetype based font at first. + + * font.c: Include + +2007-09-16 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * draw.c (compose_glyph_string): Improve script detection. + +2007-09-06 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * m17n-flt.c (run_otf): Remove #ifdef HAVE_OTF and #endi. + (run_stages): Print separator in encoded string as "|". + +2007-08-23 Kenichi Handa + + * 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 + + * font-ft.c (ft_check_capability): Check cap->script_tag at first. + +2007-08-20 Kenichi Handa + + * font-flt.c (mfont__flt_run): Get glyph metrics before printing + debug information. + +2007-08-17 Kenichi Handa + + * 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 + + * 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 + + * 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 + + * Version 1.4.0 released. + +2007-07-12 Kenichi Handa + + * input.c: Fix doxygen @ref commands. + +2007-07-10 Kenichi Handa + + * m17n-core.h (M17NFunc): Fix typo of Doxygen directive. + +2007-07-09 Kenichi Handa + + * 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 * font-flt.c (load_command): Prepend "^" in the regular expression. @@ -208,7 +1332,7 @@ (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. @@ -2003,7 +3127,7 @@ (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. @@ -3795,7 +4919,7 @@ * Version 1.0 released. -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