cff96cfa4aff7bb5ebe226e65dc7ceb99d98d180
[m17n/m17n-lib.git] / src / ChangeLog
1 2004-05-06  Kenichi Handa  <handa@m17n.org>
2
3         * draw.c (compose_glyph_string): Fix previous change.
4
5 2004-04-30  Kenichi Handa  <handa@m17n.org>
6
7         * font-ft.c (ft_list): Delete unused variable `result'.
8         (ft_render): Fix for the case that bitmap.pitch < bitmap.width.
9
10 2004-04-27  Kenichi Handa  <handa@m17n.org>
11
12         * m17n-X.c: Include config.h
13         [HAVE_XFT2]: Include <X11/Xft/Xft.h>.
14         (GCInfo) [HAVE_XFT2]: New member xft_color_fore, xft_color_back.
15         (MWDevice) [HAVE_XFT2]: New member xft_draw.
16         (FRAME_CMAP, FRAME_VISUAL): New macros.
17         (free_device) [HAVE_XFT2]: Destroy device->xft_draw.
18         (xfont_driver): Make it static.
19         (mwin__open_device) [HAVE_XFT2]: Setup device->xft_draw.
20         (mwin__realize_face) [HAVE_XFT2]: Setup info->xft_color_fore and
21         info->xft_color_back.
22         (MXftFontInfo) [HAVE_XFT2]: New type.
23         (mwin__xft_close) [HAVE_XFT2]: New function.
24         (mwin__xft_open) [HAVE_XFT2]: New function.
25         (mwin__xft_get_metric) [HAVE_XFT2]: New function.
26         (mwin__xft_render) [HAVE_XFT2]: New function.
27
28         * internal-gui.h [HAVE_FREETYPE]: Include FT_FREETYPE_H.
29         (mwin__xft_open, mwin__xft_close) [HAVE_FREETYPE]: New externs.
30         (mwin__xft_get_metric, mwin__xft_render) [HAVE_FREETYPE]: New
31         externs.
32
33         * font.h [HAVE_FREETYPE]: Include FT_FREETYPE_H.
34
35         * font-ft.c: Don't include FT_FREETYPE_H here.
36         [HAVE_XFT2]: Include <fontconfig/fontconfig.h>.
37         (fontconfig_initialized, fc_config) [HAVE_XFT2]: New variables.
38         (MFTInfo): New member charmap_index.
39         (MFTInfo) [HAVE_XFT2]: New member xft_info.
40         (check_otf_filename): Renamed from check_filename.  Return value
41         changed.
42         (ft_set_property): This function deleted.
43         (set_font_info): New function.
44         (add_font_list): Argument changed.  Add multiple fonts.
45         (xft_list) [HAVE_XFT2]: New function.
46         (ft_list) [not HAVE_XFT2]: New function.
47         (ft_select): Add code for Xft.
48         (close_ft): Likewise.
49         (ft_open): Likewise.
50         (ft_find_metric): Likewise.
51         (ft_encode_char): Likewise.
52         (ft_render): Likewise.
53
54         * makefile.am (OPTIONAL_LD_FLAGS): Include @XFT2_LD_FLAGS@.
55
56 2004-04-26  Kenichi Handa  <handa@m17n.org>
57
58         * textprop.c (mtext_attach_property): Declare the return type as
59         `int'.
60
61 2004-04-21  Kenichi Handa  <handa@m17n.org>
62
63         * Makefile.am (OPTIONAL_LD_FLAGS): Include @XFT2_LD_FLAGS@
64
65 2004-04-09  Kenichi Handa  <handa@m17n.org>
66
67         * font-flt.c (struct): New members seq_beg, seq_end, seq_from,
68         seq_to.
69         (load_command): Setup above members.
70
71 2004-04-05  Kenichi Handa  <handa@m17n.org>
72
73         * m17n-X.c (xfont_encode_char): Fix checking of byte1 and byte2.
74
75 2004-03-30  Kenichi Handa  <handa@m17n.org>
76
77         * m17n-X.c (xfont_encode_char): Return MCHAR_INVALID_CODE if code
78         >= 0x10000.
79
80         * m17n-core.h (M17NLIB_PATCH_LEVEL): Changed to 2.
81         (M17NLIB_VERSION_NAME): Changed to 1.0.2.
82
83 2004-03-29  Kenichi Handa  <handa@m17n.org>
84
85         * Version 1.0 Patch Level 2 released.
86
87 2004-03-29  Kenichi Handa  <handa@m17n.org>
88
89         * charset.c (make_charset): Set charset->fully_loaded and
90         charset->simple correctly.  Don't try to get charset->min_char and
91         charset->max_char for a charset of method subset and superset.
92         Don't load a mapping file here.
93         (mcharset__init): Set unified_max.
94         (mcharset__load_from_database): Free a working plist.
95
96         * coding.c (mcoding__fini): Free all malloced data.
97
98         * input-gui.c (win_create_ic): Set control.as_image for preediting
99         to 0.
100
101         * internal.h (M17N_OBJECT_REGISTER): Check the member `used' (not
102         `count') to initialize the array.
103
104         * locale.c (mlocale_set): Fix the order of M17N_OBJECT_REF and
105         M17N_OBJECT_UNREF.
106
107         * m17n-X.c (xfont_render): If rface->rfont is null, draw a
108         rectangle.
109         (mwin__create_window): Fix bug of setting a background pixel of a
110         new window.
111         (mwin__adjust_window): Clear the window before drawing.
112
113         * m17n-core.c (mdebug__report_object): Free array->objectes if
114         necessary.
115         (m17n_init_core): Don't set report_header_printed to 0 here.
116         Fix debugging information.
117         (m17n_fini_core): Set report_header_printed to 0 here.
118
119         * m17n-core.h (mplist_deserialize): Extern it.
120
121         * m17n-gui.c (m17n_fini_win): Fix debugging information.
122
123         * m17n.c (m17n_fini): Fix debugging information.
124
125         * mtext.c (mtext__adjust_foramt): New function.
126
127         * mtext.h (mtext__adjust_foramt): Extern it.
128
129         * plist.c (mplist_deserialize): Renamed from mplist__deserialize.
130
131         * plist.h (mplist__deserialize): Don't extern it.
132
133         * symbol.c (msymbol__fini): Set freed_symbols to 0.  Set all
134         elements of symbol_table to NULL.  Report about created and freed
135         symbols if MDEBUG_FINI is set.
136
137 2004-03-22  Kenichi Handa  <handa@m17n.org>
138
139         * m17n-core.c (m17n_init_core): Set merror_code to MERROR_NONE.
140
141         * m17n.c (m17n_init): Fix the way of checking merror_code.
142
143         * m17n-gui.c (m17n_init_win): Fix the way of checking merror_code.
144
145 2004-03-22  Kenichi Handa  <handa@m17n.org>
146
147         * fontset.c (realize_font_group): Adjust the font size by
148         mfont__resize before selecting a font.
149
150         * font-ft.c (mfont__ft_init): Add oblique and boldoblique.
151
152 2004-03-19  Kenichi Handa  <handa@m17n.org>
153
154         * Version 1.0 Patch Level 1 released.
155
156 2004-03-19  Kenichi Handa  <handa@m17n.org>
157
158         * m17n-core.h (M17NLIB_PATCH_LEVEL): New macro.
159
160         * m17n-core.c (M17NLIB_PATCH_LEVEL): Describe it.
161
162 2004-03-19  Kenichi Handa  <handa@m17n.org>
163
164         Re-apply the changes forgotten in the released version.
165
166         * charset.c (mcharset__load_from_database): Call
167         mchar_define_charset.
168
169         * coding.c (encode_unsupporeted_char): Put Mcoding text property.
170         (mconv_encode_range): Put Mcoding text property.
171
172 2004-03-18  Kenichi Handa  <handa@m17n.org>
173
174         * draw.c (Mdepth): New variable.
175         (visual_order): Delete unused local var `pos'.
176         (compose_glyph_string): Fix for the case that gstring->glyphs is
177         realloced.  Stop generating glyphs at TO.  Fix handling of
178         control charaters.
179         (layout_glyphs): Get metrics of all glyphs in advance.  Set
180         lbearing and rbearing of base of composition glyph correctly.
181         Handle left-overhang glyphs correctly.
182         (alloc_gstring): New arg frame.  Set gstring->anti_alias.  Caller
183         changed.
184         (dump_combining_code): Change the defualt off_x character to ".".
185         (mdraw__init): Initialize Mdepth.
186
187         * face.c (work_gstring): New variable
188         (mface__init): Initialize work_gstring.
189         (mface__fini): Free work_gstring.glyphs.
190         (mface__realize): Don't handle videomode property here.  Adjusted
191         for the change of mfont__get_metric.
192         (mface__for_chars): Adjusted for the change of mfont__get_metric.
193
194         * face.h (enum face_gc): Moved to m17n-X.c.
195
196         * font.h (struct MFontDriver): Arguments of find_metric changed.
197         (mfont__select): Prototype adjusted.
198         (mfont__get_metric): Likewise.
199         (mfont__ft_drive_otf): Likewise.
200         (mfont__flt_run): Likewise.
201         
202         * font.c (mfont__select): New argument layouter.  If layouter is
203         different in the registered font, make a new copy of realized
204         font.
205         (mfont__get_metric): Argument changed.  Get metrics of multiple
206         glyphs.
207         (mfont_find): Call mfont__select with layouter as Mnil.
208
209         * font-flt.c (FontLayoutContext): New member rfont.
210         (run_otf): Adjusted for the change of mfont__ft_drive_otf.
211         (mfont__flt_run): Argument changed.  Initialize ctx.rfont.
212
213         * font-ft.c (ft_find_metric): Arguments changed.  Get metrics of
214         multiple glyphs.
215         (NUM_POINTS): New macro.
216         (MPointTable): New type.
217         (ft_render): Use mwin__draw_points instead of mwin__draw_bitmap.
218         (mfont__ft_drive_otf): New argument rfont.
219
220         * fontset.c (realize_font_group): Adjusted for the changed of
221         mfont__select.
222         (check_fontset_element): This function deleted.
223
224         * input-gui.c (adjust_window_and_draw): Locate a preedit window
225         off the parent window if the preedit text is zero length.
226
227         * internal-gui.h (struct MFrame): New members foreground,
228         background, videomode, font.
229         (struct MGlyphString): New member anti_alias.
230         (MDrawPoint): New type.
231         (mwin__draw_bitmap): Prototype deleted.
232         (mwin__draw_points): Prototype added.
233
234         * m17n-gui.h (MDrawControl): New member anti_alias.
235
236         * m17n-gui.c (free_frame): Free frame->font.
237         (mframe): Set the fontset of frame->face to the default fontset.
238
239         * m17n-X.c (RGB_GC): New type.
240         (enum gc_index): Renamed from enum face_gc.  Member names changed.
241         (GCInfo): New typel
242         (struct MWDevice): Members foreground and background deleted.  New
243         member scratch_gc, gc_list.
244         (DEFAULT_FONT, FALLBACK_FONT): New macros.
245         (free_device): Free GCs in device->gc_list.
246         (get_rgb_gc): New function.
247         (get_gc): Renamed and argument changed from get_color.
248         (get_gc_for_anti_alias): New function.
249         (xfont_find_metric): Arguments changed.  Get metrics of multiple
250         glyphs.
251         (set_region): Argument changed.  Caller changed.
252         (xfont_render): Allways set a font in gc.
253         (x_error_handler, x_io_error_handler): Define only if
254         X_SET_ERROR_HANDLER is defined.
255         (mwin__open_device): Create device->scratch_gc.  Set members
256         foreground, background, and videomode of frame.  Call
257         XSetErrorHandler and XSetIOErrorHandler only if
258         X_SET_ERROR_HANDLER is defined.
259         (struct gc_list): Deleted.
260         (REGISTER_GC, UNREGISTER_GC): These macros deleted.
261         (mwin__realize_face): Adjusted for the change of the format of
262         rface->info and the charge of set_region.
263         (mwin__free_realized_face, mwin__fill_space, mwin__draw_hline)
264         (mwin__draw_box): Likewise.
265         (mwin__draw_bitmap): This function deleted.
266         (mwin__draw_points): New function.
267         (mwin__verify_region): Adjusted for the change of the format of
268         rface->info and the charge of set_region.
269         (mwin__create_window): Inherit backgound pixel from parent.
270         (mwin__dump_gc): Adjusted for the change of the format of
271         rface->info.
272
273 2004-03-16  Kenichi Handa  <handa@m17n.org>
274
275         * m17n-X.c (mwin__parse_event): Fix handling of modifier keys.
276
277         * input.c (M_key_alias): New variable.
278         (handle_key): Try M_key_alias property of a key too.
279         (minput__init): Initialize M_key_alias.  Give that property to
280         symbols in one_char_symbol.  Fix bug of initializing
281         one_char_symbol.
282
283         * draw.c (compose_glyph_string): Don't handle
284         ignore_formatting_char here.  Include formatting characters in the
285         range processed by a FTL.
286         (layout_glyph_string): Handle ignore_formatting_char here.
287
288 2004-03-12  Kenichi Handa  <handa@m17n.org>
289
290         * input-gui.c (win_create_ic): Enable bidi in status control.
291
292         * draw.c (visual_order): Avoid re-ordering of combining glyphs only.
293
294 2004-03-09  Kenichi Handa  <handa@m17n.org>
295
296         * input.c (load_input_method): If title is not specified, use the
297         input method name as title.
298
299         * m17n-X.c (get_color): Make it static.
300         (xim_create_ic, xim_destroy_ic, x_error_handler)
301         (x_io_error_handler): Likewise.
302
303 2004-03-01  Kenichi Handa  <handa@m17n.org>
304
305         * Version 1.0 released.
306
307 \f
308 Copyright (C) 2003, 2004
309   National Institute of Advanced Industrial Science and Technology (AIST)
310   Registration Number H15PRO112
311
312 This file is part of the m17n library.
313
314 The m17n library is free software; you can redistribute it and/or
315 modify it under the terms of the GNU Lesser General Public License
316 as published by the Free Software Foundation; either version 2.1 of
317 the License, or (at your option) any later version.
318
319 The m17n library is distributed in the hope that it will be useful,
320 but WITHOUT ANY WARRANTY; without even the implied warranty of
321 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
322 Lesser General Public License for more details.
323
324 You should have received a copy of the GNU Lesser General Public
325 License along with the m17n library; if not, write to the Free
326 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
327 02111-1307, USA.