*** empty log message ***
[m17n/m17n-lib.git] / src / ChangeLog
index f0b64b4..a5ae1fd 100644 (file)
@@ -1,3 +1,414 @@
+2004-10-29  Kenichi Handa  <handa@m17n.org>
+
+       * font.c (xlfd_parse_name): If avgwidth is 0, set the size to 0.
+
+       * m17n-X.c (MXFont): Change type of the member `sizes' to int.
+       New members smallest and larger.
+       (SET_SIZE, HAVE_SIZE): Adjusted for the above change.
+       (xfont_registry_list): Likewise.
+       (xfont_select): Likewise.
+       
+
+2004-10-28  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (xfont_registry_list): Include '-' before PIXEL_SIZE in
+       font name comparison.
+       (xfont_select): Fix logic for selecting a larger size font.
+
+2004-10-25  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (take_action_list): Initialize `ret' to 0 for "=", "<",
+       ">" actions.
+
+2004-10-22  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (update_candidate): Renamed from udpate_candidate.
+       (take_action_list): Show more debugging info on arithmetic commands.
+
+       * m17n-X.c (device_open): Fix previous change.
+
+       * draw.c (compose_glyph_string): Don't get face property at the
+       end of M-text.
+
+2004-10-21  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c (compose_glyph_string): Fix for the case of category
+       being Mnil.
+
+2004-10-19  Kenichi Handa  <handa@m17n.org>
+
+       * input.c (mdebug_mask): New variable.
+       (shift_state): Print debug information.
+       (take_action_list): Likewise.
+       (handle_key): Likewise.
+
+2004-10-14  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Accept Mxft as the value of key Mfont.
+
+2004-10-13  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Be sure to register at least one font
+       driver.
+
+       * font-ft.c: Include <freetype/ftbdf.h> conditionally.  Check
+       HAVE_FTBDF_H before calling FT_Get_BDF_Property.
+
+2004-10-12  Kenichi Handa  <handa@m17n.org>
+
+       * draw.c (alloc_gstring): Fix previous change.
+
+       * font-ft.c (ft_list_generic): Fix for the case of not
+       HAVE_FONTCONFIG.
+
+       * m17n-X.c (mwin__parse_event): Fix for non-ASCII keys.
+
+       * font.c (mfont_list): If no font is found, return NULL.
+       (load_font_encoding_table): Put entries of nil registry first.
+       (find_encoding): Adjust for the above change.
+
+2004-10-11  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-gui.h (mfont_list): Adjust prototype.
+
+       * m17n-X.c (xfont_list): New arg maxnum.
+
+       * font.h (struct MFontDriver): Change prototype of <list>.
+
+       * font-ft.c (fc_generic_family_list): Delete it.
+       (Mserif, Msans_serif, Mmonospace): Delete them.
+       (M_generic_family_info): New variable.
+       (enum GenericFamilyType): New enum.
+       (struct GenericFamilyInfo): New struct.
+       (generic_family_table): New variable.
+       (set_font_info): New arg style. Don't check 0xA0..0xBF to decide
+       iso8859-1.
+       (add_font_info): Get style here.
+       (ft_list_family): Don't initialize fc_config here.  Don't list
+       generic families.
+       (ft_list_generic): New function.
+       (ft_select): Pay attention to generic familes here.
+       (ft_open): Fix calculation of ascent and descent.
+       (ft_list): Pay attention to generic families.
+       (mfont__ft_init): Initialize M_generic_family_info,
+       generic_family_table, and fc_config..
+       (mfont__ft_fini): Finalize generic_family_table.
+
+       * draw.c (compose_glyph_string): Use more constant font for
+       glyphs.  Adjust for the member change in MGlyph.
+       (layout_glyph_string): Adjust for the member change in MGlyph.
+       (alloc_gstring): Intilize scracth_glyph to avoid
+       compose_glyph_string on it.
+       (get_gstring): Don't call compose_glyph_string on scracth_glyph.
+       (mdraw_coordinates_position): Fix previous change.
+
+       * internal-gui.h (glyph_category): New enum.
+       (MGlyph): Change type of <category> to enum glyph_category.
+
+       * face.c (mface__realize): Delete args langauge and charset.
+       (mface__for_chars): Fix for the case that glyphs have different
+       rfaces.
+       (mface__update_frame_face): Adjust for mface__realize change.
+
+       * face.h (mface__realize): Adjust prototype.
+
+2004-10-05  Kenichi Handa  <handa@m17n.org>
+
+       * language.c (mlang__init): Add Akan.
+
+2004-10-04  Kenichi Handa  <handa@m17n.org>
+
+       * font-ft.c (add_font_info): Add instead of push the element.
+       (ft_list_family): For generic fonts, try all
+       substituted. families.
+
+       * font-flt.c (UPDATE_CLUSTER_RANGE): New macro.
+       (run_rule): Don't update cluster range here.
+       (run_command): Update cluster range on appending a glyph.
+       (run_otf): Update cluster range for glyphs generated by OTF.
+
+2004-10-02  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (device_open): Handle Mfont key in PLIST.
+
+2004-09-30  Kenichi Handa  <handa@m17n.org>
+
+       * font-ft.c (ft_select): Ignore family on calling mfont__score.
+
+2004-09-30  Kenichi Handa  <handa@m17n.org>
+
+       * font.h: Include <fontconfig/fontconfig.h>.
+       (MFTInfo): New member langset.
+       (mfont__encoding_list): Extern it.
+
+       * font.c (mfont__encoding_list): New function.
+       (mdebug_dump_font_list): New function.
+
+       * font-ft.c: Don't include <fontconfig/fontconfig.h> here.
+       (Mserif, Msans_serif, Mmonospace, Mmedium, Mr, Mnull): New
+       variables.
+       (ft_family_list): New variable.
+       (set_font_info): New arg basep.  Callers changed.
+       (fc_list): Check the return value of FcPatternGetString.
+       (add_font_info): New arg plist.  Callers changed. Update
+       ft_family_list.
+       (ft_list_family): New function (merged fc_list and ft_list_all).
+       (ft_select): Use ft_list_family.
+       (ft_list): Likewise.  If FONT is not NULL, check all fonts.  Fix
+       typo (== -> !=).
+       (mfont__ft_init): Initialize above new variables.
+       (mfont__ft_fini): Free ft_family_list.
+       (STRDUP_LOWER): New macro.
+       (set_font_info): Use STRDUP_LOWER.
+       (ft_list_family): Avoid duplicate addition of font path.  Use
+       STRDUP_LOWER.
+       (fc_decode_prop): Fix typo.
+
+       * m17n-X.c (MDisplayInfo): New member all_fonts_scaned.
+       (xfont_registry_list): Change argument disp_info to frame.
+       Callers changed.
+       (xfont_list_all): New function.
+       (xfont_list): If FONT is not NULL, check all fonts.
+
+2004-09-28  Kenichi Handa  <handa@m17n.org>
+
+       * m17n-X.c (MXFont, MXFontList): New types.
+       (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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * mtext.c (count_utf_16_chars): Count each code of invalid
+       surrogates as one.
+
+2004-09-19  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * font-ft.c (mfont__ft_drive_otf): Use malloc and free for
+       otf_gstring.glyphs.
+
+2004-08-27  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * Version 1.1.0 released.
+
+2004-08-13  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * font-ft.c (ft_find_metric): Call FT_Load_Glyph with
+       FT_LOAD_DEFAULT.
+
+2004-08-06  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * font-ft.c (mfont__ft_drive_otf): Call OTF_drive_gdef.
+
+2004-08-02  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
 
        * draw.c (visual_order): Don't treat combined glyphs specially.