X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2FChangeLog;h=a5ae1fdeb626ed99af6c06b35b2130b2a3b867b3;hb=c42974a7971c8d3bcd6e9356418d3f2182f7b08b;hp=1f831852eecdcd7bd4bf6e83743195265010e66f;hpb=3cdbcec10f6dc97059f0c2afdc33a18e21097456;p=m17n%2Fm17n-lib.git diff --git a/src/ChangeLog b/src/ChangeLog index 1f83185..a5ae1fd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,754 @@ +2004-10-29 Kenichi Handa + + * font.c (xlfd_parse_name): If avgwidth is 0, set the size to 0. + + * m17n-X.c (MXFont): Change type of the member `sizes' to int. + New members smallest and larger. + (SET_SIZE, HAVE_SIZE): Adjusted for the above change. + (xfont_registry_list): Likewise. + (xfont_select): Likewise. + + +2004-10-28 Kenichi Handa + + * m17n-X.c (xfont_registry_list): Include '-' before PIXEL_SIZE in + font name comparison. + (xfont_select): Fix logic for selecting a larger size font. + +2004-10-25 Kenichi Handa + + * input.c (take_action_list): Initialize `ret' to 0 for "=", "<", + ">" actions. + +2004-10-22 Kenichi Handa + + * input.c (update_candidate): Renamed from udpate_candidate. + (take_action_list): Show more debugging info on arithmetic commands. + + * m17n-X.c (device_open): Fix previous change. + + * draw.c (compose_glyph_string): Don't get face property at the + end of M-text. + +2004-10-21 Kenichi Handa + + * draw.c (compose_glyph_string): Fix for the case of category + being Mnil. + +2004-10-19 Kenichi Handa + + * input.c (mdebug_mask): New variable. + (shift_state): Print debug information. + (take_action_list): Likewise. + (handle_key): Likewise. + +2004-10-14 Kenichi Handa + + * m17n-X.c (device_open): Accept Mxft as the value of key Mfont. + +2004-10-13 Kenichi Handa + + * m17n-X.c (device_open): Be sure to register at least one font + driver. + + * font-ft.c: Include conditionally. Check + HAVE_FTBDF_H before calling FT_Get_BDF_Property. + +2004-10-12 Kenichi Handa + + * draw.c (alloc_gstring): Fix previous change. + + * font-ft.c (ft_list_generic): Fix for the case of not + HAVE_FONTCONFIG. + + * m17n-X.c (mwin__parse_event): Fix for non-ASCII keys. + + * font.c (mfont_list): If no font is found, return NULL. + (load_font_encoding_table): Put entries of nil registry first. + (find_encoding): Adjust for the above change. + +2004-10-11 Kenichi Handa + + * m17n-gui.h (mfont_list): Adjust prototype. + + * m17n-X.c (xfont_list): New arg maxnum. + + * font.h (struct MFontDriver): Change prototype of . + + * font-ft.c (fc_generic_family_list): Delete it. + (Mserif, Msans_serif, Mmonospace): Delete them. + (M_generic_family_info): New variable. + (enum GenericFamilyType): New enum. + (struct GenericFamilyInfo): New struct. + (generic_family_table): New variable. + (set_font_info): New arg style. Don't check 0xA0..0xBF to decide + iso8859-1. + (add_font_info): Get style here. + (ft_list_family): Don't initialize fc_config here. Don't list + generic families. + (ft_list_generic): New function. + (ft_select): Pay attention to generic familes here. + (ft_open): Fix calculation of ascent and descent. + (ft_list): Pay attention to generic families. + (mfont__ft_init): Initialize M_generic_family_info, + generic_family_table, and fc_config.. + (mfont__ft_fini): Finalize generic_family_table. + + * draw.c (compose_glyph_string): Use more constant font for + glyphs. Adjust for the member change in MGlyph. + (layout_glyph_string): Adjust for the member change in MGlyph. + (alloc_gstring): Intilize scracth_glyph to avoid + compose_glyph_string on it. + (get_gstring): Don't call compose_glyph_string on scracth_glyph. + (mdraw_coordinates_position): Fix previous change. + + * internal-gui.h (glyph_category): New enum. + (MGlyph): Change type of to enum glyph_category. + + * face.c (mface__realize): Delete args langauge and charset. + (mface__for_chars): Fix for the case that glyphs have different + rfaces. + (mface__update_frame_face): Adjust for mface__realize change. + + * face.h (mface__realize): Adjust prototype. + +2004-10-05 Kenichi Handa + + * language.c (mlang__init): Add Akan. + +2004-10-04 Kenichi Handa + + * font-ft.c (add_font_info): Add instead of push the element. + (ft_list_family): For generic fonts, try all + substituted. families. + + * font-flt.c (UPDATE_CLUSTER_RANGE): New macro. + (run_rule): Don't update cluster range here. + (run_command): Update cluster range on appending a glyph. + (run_otf): Update cluster range for glyphs generated by OTF. + +2004-10-02 Kenichi Handa + + * m17n-X.c (device_open): Handle Mfont key in PLIST. + +2004-09-30 Kenichi Handa + + * font-ft.c (ft_select): Ignore family on calling mfont__score. + +2004-09-30 Kenichi Handa + + * font.h: Include . + (MFTInfo): New member langset. + (mfont__encoding_list): Extern it. + + * font.c (mfont__encoding_list): New function. + (mdebug_dump_font_list): New function. + + * font-ft.c: Don't include here. + (Mserif, Msans_serif, Mmonospace, Mmedium, Mr, Mnull): New + variables. + (ft_family_list): New variable. + (set_font_info): New arg basep. Callers changed. + (fc_list): Check the return value of FcPatternGetString. + (add_font_info): New arg plist. Callers changed. Update + ft_family_list. + (ft_list_family): New function (merged fc_list and ft_list_all). + (ft_select): Use ft_list_family. + (ft_list): Likewise. If FONT is not NULL, check all fonts. Fix + typo (== -> !=). + (mfont__ft_init): Initialize above new variables. + (mfont__ft_fini): Free ft_family_list. + (STRDUP_LOWER): New macro. + (set_font_info): Use STRDUP_LOWER. + (ft_list_family): Avoid duplicate addition of font path. Use + STRDUP_LOWER. + (fc_decode_prop): Fix typo. + + * m17n-X.c (MDisplayInfo): New member all_fonts_scaned. + (xfont_registry_list): Change argument disp_info to frame. + Callers changed. + (xfont_list_all): New function. + (xfont_list): If FONT is not NULL, check all fonts. + +2004-09-28 Kenichi Handa + + * m17n-X.c (MXFont, MXFontList): New types. + (MDisplayInfo): Delete members font_registry_list, + iso8859_1_family_list, iso10646_1_family_list, new members + font_list, base_font_list. + (free_display_info): Adusted for the change of MDisplayInfo. + (xfont_driver): Initialize with xfont_list. + (font_compare): New function. + (build_font_list): Deleted. + (xfont_registry_list): New function. + (xfont_select): Use xfont_registry_list. + (xfont_list): New function. + (device_open): Adusted for the change of MDisplayInfo. + + * font-ft.c (add_font_info): New arg languages. Callers changed. + (fc_list): Get languages from fonts.. + (ft_list_all): Renamed from ft_list. Callers changed. + (ft_list): New function. + (mfont__ft_driver): Initalize with ft_list. + + * font.c (mfont_list): New function. + + * font.h (struct MFontDriver): New member `list'. + (MFTInfo): New member languages. + + * m17n-gui.h (mfont_list): Extern it. + +2004-09-27 Kenichi Handa + + * internal-gui.h (struct MGlyphString): Delete members mt, + sub_width, sub_lbrearing, sub_rbearing, and region. + + * draw.c (MSubTextExtents): New type. + (layout_glyphs): New arg extents. Set its members. + (layout_glyph_string): Adjusted for the above change. + (alloc_gstring): Don't set gstring->mt. + (truncate_gstring): Call line_break function with mt instead of + gstring->mt. + +2004-09-22 Kenichi Handa + + * mtext.c (count_utf_16_chars): Count each code of invalid + surrogates as one. + +2004-09-19 Kenichi Handa + + * mtext.c (default_utf_16, default_utf_32): Rename them to + MTEXT_FORMAT_UTF_16 and MTEXT_FORMAT_UTF_32 respectively. Caller + changed. + + * m17n-core.h (MTEXT_FORMAT_UTF_16, MTEXT_FORMAT_UTF_32): Extern + them. + +2004-09-13 Kenichi Handa + + * draw.c (Mlatin): Don't declare it here. + (visual_order): Fix reordering of combining characters. + (compose_glyph_string): Fix detection of script. + (layout_glyphs): Don't fix reordering of combining characters + here. + (layout_glyph_string): Pay attention to + control->disable_overlapping_adjustment. + (truncate_gstring): Include at least on character in a line. + (get_gstring): Always scan one full line. + (mdraw__init): Don't initialize Mlatin here. + (mdraw_text_per_char_extents): Fix iteration. If a glyph doesn't + have a font, use ascent/descent of an ASCII font. Allow + ink_array_return and logical_array_return to be NULL. + (mdraw_coordinates_position): Fix iteration. + + * font-ft.c (MFTtoProp): Member completely changed. + (ft_to_prop): Adjusted for the above change. + (ft_to_prop_size): Likewise. + (set_font_info): Adjusted for the change of MFTtoProp. + (fc_generic_family_list): New variable. + (fc_list): Add special handling of generic font names. + (mfont__ft_init): Adjusted for the change of MFTtoProp. + Initialize fc_generic_family_list. + (mfont__ft_fini): Don't free ft_to_prop. Free + fc_generic_family_list. + (FC_vs_M17N_font_prop): New type. + (fc_weight_table, fc_slant_table, fc_width_table): New variables. + (fc_decode_prop, fc_encode_prop): New functions. + (mfont__ft_parse_name): Use fc_decode_prop. + (mfont__ft_unparse_name): Use fc_encode_prop. + + * m17n-X.c (MDisplayInfo): Delete member realized_font_list. + (MWDevice): Add member realized_font_list. + (free_display_info): Don't free disp_info->realized_font_list. + (free_device): Free device->realized_fontset_list. + (xft_find_metric): Use gstring->frame instead of rfont->frame. + (device_open): Don't initialize disp_info->realized_font_list. + (device_open): Initialize device->realized_font_list and set it to + frame->realized_font_list. + + * fontset.c (try_font_group): New function. + (mfont__lookup_fontset): Use try_font_group. + + * font.c (common_weight): Change the order of "regular". + + * face.c (Mlatin): Don't make it static. + (mface__realize): Be sure to set work_gstring.frame. + (mface__for_chars): Likewise. + + * mtext.c (mdebug_dump_mtext): Fix for the case of mt->format > + MTEXT_FORMAT_UTF_8. + + * internal-gui.h (Mlatin): Extern it. + + * m17n-gui.h (MDrawControl): New member + disable_overlapping_adjustment. + +2004-09-06 Kenichi Handa + + * font-flt.c (run_otf): Fix typo ('}'->']'). + + * internal-gui.h (MAKE_PRECOMPUTED_COMBINDING_CODE) + (COMBINING_PRECOMPUTED_P): New macros. + + * draw.c (layout_glyphs): Handle precomputed combining code. + + * font-ft.c (mfont__ft_drive_otf): Set g->combining_code to a + precomupted combining code. + +2004-09-03 Kenichi Handa + + * font-ft.c (mfont__ft_drive_otf): Use malloc and free for + otf_gstring.glyphs. + +2004-08-27 Kenichi Handa + + * face.c (mface_put_prop): If the new value is the same as the + current one, don't increment frame->tick. + +2004-08-25 Kenichi Handa + + * fontset.c (mfontset): Initialize font_spec_list member. + (mfontset_copy): Load fontset if necessary. + + * m17n-gui.h (MDrawGlyphInfo): Change the member name 'this' to + 'metrics' to for C++. + + * draw.c (mdraw_glyph_info): Adjusted for the member name change + (this -> metics). + +2004-08-16 Kenichi Handa + + * Version 1.1.0 released. + +2004-08-13 Kenichi Handa + + * language.c (mlang__init): Add Dhivehi. + + * m17n-gui.c (Mx, Mfreetype): Delete it. + (m17n_init_win): Don't initialize Mx and Mfreetype here. + + * m17n-gui.h (Mfreetype, Mxft): Extern them. + (mfont_resize_ratio): Extern it. + (MDrawGlyphInfo): New member logical_width; + (MDrawGlyph): New type. + (mdraw_glyph_list): Prototype adjusted. + + * m17n-X.c (xfont_open): Set type and fontp members. + (xft_open): Likewise. + + * internal-gui.h (Mx, Mfreetype): Delete extern. + + * font.h (struct MRealizedFont): New member type and fontp. + + * font.c (mfont__init): Initialize Mx, Mfreetype, and Mxft. + (Mx, Mfreetype): Declare here. + (Mxft): New variable. + (mfont_resize_ratio): New function. + + * font-ft.c (ft_open): Set type and fontp members. + + * draw.c (mdraw_glyph_list): Argument type changed. Don't set + glyph_code member. + +2004-08-11 Kenichi Handa + + * font-ft.c (ft_find_metric): Call FT_Load_Glyph with + FT_LOAD_DEFAULT. + +2004-08-06 Kenichi Handa + + * font-ft.c (mfont__ft_drive_otf): Fix for the case that no GSUB + feature to apply. + + * font-flt.c (run_otf): Print debugging information if necessary. + +2004-08-05 Kenichi Handa + + * font-ft.c (mfont__ft_drive_otf): Fix sign of g->yoff. Support + positioning_type 5 and 6. Switch simplified. + +2004-08-04 Kenichi Handa + + * font-ft.c (mfont__ft_drive_otf): Call OTF_drive_gdef. + +2004-08-02 Kenichi Handa + + * font.c (mfont__score): If prop is MFONT_FOUNDRY or MFONT_FAMILY, + set val to 1 even if it is greater than 1. + + * fontset.c (mfontset_modify_entry): Fix handling of the arg `how'. + +2004-07-29 Kenichi Handa + + * font-flt.c (run_rule, run_command, mfont__flt_run): Print more + debugging information. + + * internal.h (MDEBUG_PRINT5): New macro. + + * draw.c (layout_glyphs): Don't combine a zero width glyph with + the previous one if the zero width glyph has left or right + padding. + +2004-07-26 Kenichi Handa + + * m17n-X.c (xft_render): Pay attention to members left_padding and + right_padding of MGlyph. + + * draw.c (visual_order): Allocate one more elements for arrays as + a workaround of fribidi bug. + (layout_glyphs): Fix previous change. Check MGlyph->combining_code + instead of MGlyph->bidi_sensitive. + (layout_glyph_string): Pay attentinon to + control->orientation_reversed when padding at the head or tail. + Fix adjustment of space glyph width. + (get_gstring): If cursor_width or cursor_bidi is changed, don't + use a cache. + + * font-ft.c (mfont__ft_drive_otf): Set MGlyph->combining_code + instead of MGlyph->bidi_sensitive. + + * internal-gui.h (MGlyph): Delete member bidi_sensitive. + +2004-07-26 Kenichi Handa + + * draw.c (visual_order): Don't treat combined glyphs specially. + (layout_glyphs): Don't get metrics glyphs that are already ready. + Pay attention to MGlyph->bidi_sensitive. Combine a glyph of zero + width with the previous one. + (draw_background): Fix bar cursor position on a r2l glyph. + + * font-flt.c (FontLayoutCmdOTF): Move back from internal-gui.h. + (run_rule): Fix place of updating cluster_begin_pos and + cluster_end_pos here. + (run_otf): Don't set left_padding. + + * font-ft.c (adjust_anchor): Type of argument `code' changed. + Caller changed. + (mfont__ft_drive_otf): Renamed back from mfont__ft_drive_gsub. + Fix handling of GPOS. + (mfont__ft_drive_gpos): Delete this function. + + * font.h (mfont__ft_drive_otf): Renamed back from + mfont__ft_drive_gsub. + (mfont__ft_drive_gpos): Delete extern. + + * internal-gui.h (FontLayoutCmdOTF): Move back to font-flt.c. + (MGlyph): Delete member otf_cmd, add member bidi_sensitive. + +2004-07-23 Kenichi Handa + + * draw.c (layout_glyphs): Call mfont__ft_drive_gpos with glyphs of + the same bidi level. + + * font-ft.c (mfont__ft_drive_gpos): Check bidi-level. + +2004-07-22 Kenichi Handa + + * font-flt.c (load_flt): Treat the symbol Mend as end-of-file. + +2004-07-20 Kenichi Handa + + * draw.c (render_glyphs): Fix checking of g->code validity. + + * face.c (mface__realize): Set g.type. + +2004-07-18 Kenichi Handa + + * Makefile.am: Prepend ${top_srcdir} to all *.la in + *_LIBADD/*_LDADD. + + * m17n-gui.c (mframe): Print error message give by dlopen to + stderr. + +2004-07-16 Kenichi Handa + + * draw.c (compose_glyph_string): Improve the way of deciding a + script. For a character that doesn't have script property, use + the last non-latin script. + + * font-ft.c (fc_list): Cancel previous change. + (mfont__ft_init): Add more entries in ft_to_prop_name. + +2004-07-15 Kenichi Handa + + * draw.c (mdraw_glyph_list): Add the width of padding glyphs to + previous or next character glyphs. + +2004-07-14 Kenichi Handa + + * draw.c (compose_glyph_string): Be sure to set codes for glyphs + of type GLYPH_SPACE. + + * fontset.c (mfont__lookup_fontset): If glyph type is + GLYPH_SPACE, get codes for SPACE. + + * internal-gui.h (Mfont): Delete extern. + + * m17n-gui.h (Mfont): Delete duplicated extern. + +2004-07-13 Kenichi Handa + + * font-ft.c (DEVICE_DELTA): New macro. + (adjust_anchor): New function. + (mfont__ft_drive_gsub): Renamed from mfont__ft_drive_otf. Drive + only GSUB. + (mfont__ft_drive_gpos): New function. + + * font-flt.c (FontLayoutCmdOTF): Moved to internal-gui.h. + (FontLayoutContext): Delete member `rfont'. + (run_otf): Set g->otf_cmd. Call + (mfont__flt_run): Don't set ctx.rfont. Call mfont__ft_decode_otf + only whne HAVE_OTF is defined. + + * fontset.c: Include "config.h". + + * internal-gui.h (FontLayoutCmdOTF): Moved from font-flt.c. + (MGlyph): New member otf_cmd. + + * font.h (mfont__ft_drive_gsub): Changed from mfont__ft_drive_otf. + (mfont__ft_drive_gpos): Extern it. + + * face.c: Include "config.h". + + * draw.c (layout_glyphs): Call mfont__ft_drive_gpos. + + * input-gui.c: Include "config.h". + + * plist.c: Include "config.h". + +2004-07-06 Kenichi Handa + + * m17n-gui.c, m17n-gui.h, m17n-gd.c, m17n-X.h, m17n-X.c, + internal-gui.h: Cancel previous changes. + + * m17n-gd.h: Delete it. + + * Makefile.am (libm17n_core_la_LIBADD): New variable. + (libm17n_core_la_LDFLAGS): Add -export-dynamic, move + @XML2_LD_FLAGS@ to above. + (libm17n_la_LIBADD): Add -ldl. + (libm17n_la_LDFLAGS): Add -export-dynamic. + (X_LD_FLAGS): Fix the order of linking. + (libm17n_gui_la_LIBADD): Add ${OPTIONAL_LD_FLAGS}. + (libm17n_gui_la_LDFLAGS): Add -export-dynamic, delete above. + (libm17n_X_la_LDFLAGS): Add -module. + (libm17n_gd_la_SOURCES): Delete m17n-gd.h. + (libm17n_gd_la_LIBADD): Add @GD_LD_FLAGS@. + (libm17n_gd_la_LDFLAGS): Add -module. + (include_HEADERS): Delete m17n-gd.h. + +2004-06-30 Kenichi Handa + + * m17n-gui.c: Adjusted for the change of struct MDeviceDriver. + (MDeviceLibraryInterface): Delete it. + (register_device_library): Delete it. + (m17n__device_library_list): Renamed from device_library_list. + + * m17n-gui.h (M17N_INIT_X, M17N_INIT_GD): New macros. + (m17n_init_win): Adjust prototype. + + * m17n-gd.c: Adjusted for the change of struct MDeviceDriver. + (m17n_init_gd): New function. + + * m17n-gd.h: New file. + + * m17n-X.h: Include . + (m17n_init_X): Extern it. + (M17N_INIT): Redefine it. + + * m17n-X.c: Adjusted for the change of struct MDeviceDriver. + (m17n_init_X): New function. + + * internal-gui.h (m17n__device_library_list): Extern it. + (struct MDeviceDriver): New members initialized, init, and fini. + + * Makefile.am (libm17n_X_la_LIBADD): Add ${X_LD_FLAGS} and + @XFT2_LD_FLAGS@. + (libm17n_X_la_LIBADD): Delete aboves. + (libm17n_gd_la_SOURCES): Add m17n-gd.h. + (libm17n_gd_la_LIBADD): Add @GD_LD_FLAGS@. + (libm17n_gd_la_LDFLAGS): Delete it. + (include_HEADERS): Add m17n-gd.h. + +2004-06-25 Kenichi Handa + + * Makefile.am (libm17n_X_la_LDFLAGS): Cancel previous change. + (libm17n_gd_la_LDFLAGS): Cancel previous change. + + * m17n-gd.c (gd_render): Don't call FT_Get_Char_Index. + + * font-ft.c (fc_list): If FcFontList finds no font, try + FcFontMatch. + + * draw.c (compose_glyph_string): Terminate the last loop after + doing default combining if necessary. + +2004-06-24 Kenichi Handa + + * draw.c (mdraw_glyph_list): Unref gstring->top at the tail. + + * character.c (mchar_define_property): Add const to an arg. + + * charset.c (mchar_define_charset): Add const to an arg. + + * coding.c (MCodingSystem): Add const to an arg or decoder. + (finish_decoding): Add const to an arg. + (decode_coding_charset, decode_coding_utf_8) + (decode_coding_utf_16, decode_coding_utf_32) + (decode_coding_iso_2022, decode_coding_sjis) + (mconv_define_coding): Likewise. + + * m17n-X.c (xft_find_metric): Delete unused variable. + + * m17n-core.h (mchar_define_property, mtext_from_data): Adjust + prototypes. + + * m17n.h (mchar_define_charset, mconv_define_coding): Adjust + prototypes. + + * mtext.c (count_utf_8_chars, count_utf_16_chars) + (mtext__from_data, mtext_from_data): Add `const' to an arg. + + * mtext.h (mtext__from_data): Ajust prototype. + +2004-06-23 Kenichi Handa + + * draw.c (compose_glyph_string): Always get glyph codes by + mface__for_char. + (mdraw_glyph_info): Set info->glyph_code and info->logical_width. + (mdraw_glyph_list): New function. + + * font-flt.c (mfont__flt_run): Be sure to call + rfont->driver->encode_char. + + * font-ft.c (ft_find_metric): Don't call FT_Get_Char_Index. + (ft_encode_char): Delete arg C. + (ft_render): Don't call FT_Get_Char_Index. + + * font.c (mfont__encodable_p): Delete it. + (mfont__encode_char): Be sure to call rfont->driver->encode_char. + + * font.h (struct MFontDriver): Delete arg C of encode_char. + (mfont__encodable_p): Delete extern. + + * m17n-X.c (xfont_encode_char): Delete arg C. + (xft_find_metric): Don't cal FT_Get_Char_Index. + (xft_render): Likewise. + + * m17n-gui.h (MDrawGlyphInfo): New members glyph_code and + logical_width. + (mdraw_glyph_list): Extern it. + + * Makefile.am (libm17n_X_la_LDFLAGS): Don't include ${X_LD_FLAGS}. + +2004-06-22 Kenichi Handa + + * m17n-gui.h (mfontset_lookup): Extern it. + + * m17n-gui.c (m17n_init_win): Delete unnecessary printing. + + * fontset.c (realize_fontset_elements) + (free_realized_fontset_elements, update_fontset_elements): New + functions. + (mfont__realize_fontset): Call realize_fontset_elements. + (mfont__free_realized_fontset): Call free_realized_fontset_elements. + (mfont__lookup_fontset): If a fontset was modified, update + the realized fontset. + (mfontset_modify_entry): Increment fontset->tick. + (mfontset_lookup): New function. + +2004-06-21 Kenichi Handa + + * font-ft.c (mfont__ft_parse_name): Cast the arg to FcNameParse. + + * mtext.c (mtext_dup, mtext_cat, mtext_ncat, mtext_cpy) + (mtext_ncpy, mtext_duplicate): Pay attention to the case that the + length of source text 0. + +2004-06-21 Kenichi Handa + + * mtext.c (INC_POSITION): Use CHAR_UNITS_BY_HEAD_UTF16. + (compare): Pay attention to format other than utf-8. + (copy): Delete this function. + (count_by_utf_8, count_by_utf_16, insert): New functions. + (count_utf_16_chars): Fix handling of a surrogate pair. + (find_char_forward, find_char_backward): Likewise. + (mtext__from_data): Delete unnecessary check. Fix number of + allocated bytes. + (mtext_from_data): Don't count items. + (mtext_ref_char): Optimize the code. + (mtext_set_char): Pay attention to format other than utf-8. + (mtext_cat_char): Likewise. + (mtext_dup): Don't call copy, instead do allocation here. + (mtext_cat): Call insert instead of copy. + (mtext_ncat): Likewise. + (mtext_cpy): Delete character at first and call insert instead of + copy. + (mtext_ncpy): Likewise. + (mtext_copy): Likewise. + (mtext_duplicate): Call insert instead of copy. + (mtext_del): Pay attention to format other than utf-8. + (mtext_ins): Simply call insert. + (mtext_ins_char): Pay attention to format other than utf-8. + (mtext_tok): Call insert instead of copy. + (mtext_text): Call UNIT_BYTES. + + * textprop.c (mtext__adjust_plist_for_change): New function. + + * character.h (USHORT_SIZE, UINT_SIZE, UNIT_BYTES): New macros. + (CHAR_UNITS_UTF16, CHAR_UNITS): Simplified. + (CHAR_UNITS_AT): Fix typo. + (CHAR_UNITS_BY_HEAD): Fix typo. + (STRING_CHAR_AND_UNITS): Fix typo. + + * internal.h (MTEXT_READ_ONLY_P): New macro. + + * mtext.h (mtext__replace): Delete the extern. + (mtext__adjust_foramt): Adjust prototype. + + * plist.c (mplist_deserialize): Adjust the format of MT to utf-8 + if possible. Otherwise make a copy of mmt. + + * coding.c (mconv_decode, mconv_gets): Adjust the format of MT to + utf-8. + +2004-06-18 Kenichi Handa + + * character.h (CHAR_STRING_UTF16): Fix syntax. + +2004-06-16 Kenichi Handa + + * Makefile.am (libm17n_gd_la_LIBADD): Delete it. + (libm17n_X_la_LIBADD): Delete it. + (libm17n_gd_la_LDFLAGS): Don't include @GD_LD_FLAGS@. + + * m17n-X.c (device_open): Add parens in `if' condition. + + * mtext.c (INC_POSITION): Handle format other than utf8 and utf16. + (DEC_POSITION): Likewise. + (compare): Fix case that mt1->format is MTEXT_FORMAT_UTF_8. + +2004-06-15 Kenichi Handa + + * fontset.c (mfont__lookup_fontset): Fix selection of font groups + by language. + + * draw.c (compose_glyph_string): If langauge is specified, call + mface__for_chars even if a text is all latin. Fix condition for + setting non_ascii_found. + + * m17n-X.c (xft_find_metric): Fix setting of g->lbrearing. + + * m17n.h (minput_char_to_key): Delete extern. + + * m17n-gui.h (minput_event_to_key): Cancel previous change. + + * m17n-gui.c (null_device_open): Set several members of frame. + 2004-06-14 Kenichi Handa + * m17n-gui.h (minput_event_to_key): Delete extern. + * symbol.h (struct MSymbolStruct): Renamed from MSymbol. * m17n-core.h (MSymbol): Defined as "struct MSymbolStruct *".