b35054c24dbc870cfdf8e06990c7d904a2e1b884
[m17n/libotf.git] / ChangeLog
1 2009-11-18  Kenichi Handa  <handa@m17n.org>
2
3         * src/otfdrive.c (match_ids): New arg "direction".  Callers changed.
4         (match_ids_backward): Delete it.
5         (match_chain_ids): Adjusted for the change fo match_ids.
6         (match_classes): New arg "direction".  Callers changed.
7         (match_chain_classes): Adjusted for the change fo match_classes.
8         (match_coverages): New arg "direction".  Callers changed.
9         (match_chain_coverages): Adjusted for the change fo match_coverages.
10
11         * src/otfopen.c (read_header_part): Handle TTC (TrueType
12         Collection).
13         (OTF_open): Accept "ttc".
14
15 2009-11-13  Kenichi Handa  <handa@m17n.org>
16
17         * src/otfdrive.c (match_ids_backward): New function.
18         (match_chain_ids): Call match_ids_backward for backward matching.
19
20         * example/otfview.c (code, code_label, code_list): New variables.
21         (update_seq_area): Display code list.
22         (create_widgets): Create widgets code, code_label, code_list.
23
24 2009-11-09  Kenichi Handa  <handa@m17n.org>
25
26         * src/otfdrive.c (get_anchor): Delete it.
27         (get_class_def_auto): Make it static.
28
29 2009-11-07  Kenichi Handa  <handa@m17n.org>
30
31         * example/otfview.c (update_seq_area): Accumulate adjustments by
32         ValueRecord.
33
34         * src/otfdrive.c (print_anchor, print_glyph_positioning): New
35         functions.
36         (lookup_gpos): Improve debug info printing.
37
38 2009-11-04  Kenichi Handa  <handa@m17n.org>
39
40         * example/otfview.c (update_seq_area): Call OTF_driver_gdef after
41         OTF_driver_cmap.
42
43         * src/otfopen.c (debug_flag): New variable
44         (set_debug_flag): New function.
45         (OTF_open, OTF_open_ft_face): Check debug flag if not yet done.
46
47         * src/otfdrive.c (debug_flag): Extern it.
48         (lookup_gsub): Print debugging info if requested.  Don't ignore a
49         glyph that already has positioning_type.  Be sure to increment
50         gidx.
51
52 2009-10-08  Kenichi Handa  <handa@m17n.org>
53
54         * src/otfopen.c (read_cmap_table): Fix bug of handling
55         seg->idDelta.
56         (OTF_close): Free app_data before free all memories.
57
58 2009-10-02  Kenichi Handa  <handa@m17n.org>
59
60         * src/otfopen.c (OTF_ApplicationData_): New type.
61         (OTF_InternalData): New member app_data.
62         (OTF_close): Free OTF_InternalData->app_data.
63         (OTF_put_data, OTF_get_data): New functions.
64
65         * src/otf.h (OTF_put_data, OTF_get_data): Extern them.
66
67 2009-09-29  Kenichi Handa  <handa@m17n.org>
68
69         * src/otf.h (OTF_Feature_Callback): New type.
70         (OTF_iterate_gsub_feature): Extern it.
71
72         * src/otfdrive.c (OTF_iterate_gsub_feature): New function.
73
74 2009-08-13  Kenichi Handa  <handa@m17n.org>
75
76         * Version 0.9.10 released.
77
78 2009-08-13  Kenichi Handa  <handa@m17n.org>
79
80         * src/otf.h (LIBOTF_VERSION): Changed to "0.9.10".
81         (LIBOTF_RELEASE_NUMBER): Changed to 10.
82
83         * configure.ac: Versions changed to 0.9.10.
84
85 2009-07-23  Kenichi Handa  <handa@m17n.org>
86
87         * src/otf.h (OTF_cmap): New member table_index;
88
89         * src/otfopen.c (read_cmap_table): Set cmap->table_index.
90
91         * src/otfdrive.c (lookup_encoding_0, lookup_encoding_2)
92         (lookup_encoding_4, lookup_encoding_6, lookup_encoding_8)
93         (lookup_encoding_10, lookup_encoding_12): Arguments and return
94         value changed.
95         (lookup_cmap_func): New function type.
96         (lookup_cmap_func_table): New variable.
97         (get_GlyphID): New function.
98         (get_uvs_glyph): Call get_GlyphID instead of directly accessing
99         cmal->unicode_table.
100         (OTF_drive_cmap, OTF_drive_cmap2): Call one of lookup functions in
101         lookup_cmap_func_table.
102
103 2009-07-10  Kenichi Handa  <handa@m17n.org>
104
105         * example/otfview.c (update_seq_area): Drive features of the
106         correct script and langsys.
107
108 2009-03-03  Kenichi Handa  <handa@m17n.org>
109
110         * Version 0.9.9 released.
111
112 2009-03-03  Kenichi Handa  <handa@m17n.org>
113
114         * src/otf.h (LIBOTF_VERSION): Changed to "0.9.9".
115         (LIBOTF_RELEASE_NUMBER): Changed to 9.
116
117 2009-03-02  Kenichi Handa  <handa@m17n.org>
118
119         * configure.ac: Versions changed to 0.9.9.
120
121 2009-02-26  Kenichi Handa  <handa@m17n.org>
122
123         * src/otfopen.c (free_stream): Check stream->buf before freeing
124         it.
125         (read_gdef_table): Do nothing if stream->buf is NULL.
126         (read_header_part): If a font doesn't have a GDEF table, make a
127         pseudo stream.
128
129         * src/otfdrive.c (glyph_class_table): New variable.
130         (get_class_def_auto): New function.
131         (OTF_drive_gdef): If a font doesn't have a GDEF table, use
132         get_class_def_auto.
133
134 2009-02-25  Kenichi Handa  <handa@m17n.org>
135
136         * src/otfopen.c (get_table_info): Always succeed for GDEF table.
137
138         * example/otfview.c (main): If ! otf, don't setup sub14.
139
140 2008-12-31  Kenichi Handa  <handa@m17n.org>
141
142         * src/otfdrive.c (check_cmap_uvs): Update the member
143         MGlyph.f.index.to.
144
145 2008-12-29  Kenichi Handa  <handa@m17n.org>
146
147         * src/otf.h (OTF_get_variation_glyphs): Extern it..
148
149         * src/otfdrive.c (OTF_get_variation_glyphs): New function.
150
151         * example/otfview.c (uvs_area, uvs_label): New variables.
152         (sub14, uvs): New variable.
153         (update_uvs_area): New function.
154         (update_seq_area): Set `glyph_id' member only when no charmap is
155         used.
156         (update_render_area): Handle a variation selector.
157         (UVSProc): New function.
158         (RenderProc): Call update_uvs_area if the font is OpenType.
159         (create_widgets): Create uvs_area widget if the font has variation
160         selector.
161         (main): Setup sub14. Set font in gc_set.
162
163 2008-12-24  Kenichi Handa  <handa@m17n.org>
164
165         * src/otfdrive.c (get_uvs_glyph): Complete the code.
166
167 2008-12-23  Kenichi Handa  <handa@m17n.org>
168
169         * example/otfview.c (update_seq_area): Call OTF_drive_cmap.
170
171         * example/otfdump.c (dump_cmap_table): Fix previous change.
172
173         * src/otfdrive.c (lookup_encoding_4): Fix typo.
174         (get_uvs_glyph): Argument changed.
175         (check_cmap_uvs): Adjusted for the above change.
176
177         * src/otfopen.c (READ_UINT24): New macro.
178         (read_cmap_uvs_table): Argument changed.  Complete the code.
179         (read_cmap_table): Adjusted for the above change.  Fix typo.
180
181         * src/otf.h (OTF_cmapSegment): Fix typo.
182         (OTF_EncodingSubtable4): Fix typo.
183         (OTF_UVSMapping): New type.
184         (OTF_UnicodeValueRange): New type.
185         (OTF_VariationSelectorRecord): New type.
186         (OTF_EncodingSubtable14): Fix previous change.
187
188 2008-12-22  Kenichi Handa  <handa@m17n.org>
189
190         * example/otfdump.c (dump_cmap_table): Handle format 14.
191
192         * src/otfdrive.c (check_cmap_uvs): New function.  Not yet completed.
193         (UVS_P): New macro.
194         (OTF_drive_cmap): Check UVS (Unicode Variation Sequences).
195         (get_uvs_glyph): New function.
196
197         * src/otfopen.c (read_cmap_uvs_table): New function.
198         (read_cmap_table): Handle format 14 (Unicode Variation Sequences).
199         Not yet completed.
200
201         * src/otf.h (OTF_EncodingSubtable14): New type.
202         (OTF_EncodingSubtable): New union member f.f14.
203
204 2008-12-03  Kenichi Handa  <handa@m17n.org>
205
206         * example/otfview.c (update_seq_area): Call OTF_drive_gpos2
207         instead of OTF_drive_gpos.  Handle the accumulated positioning.
208
209         * src/otfdrive.c (setup_lookup_flags): The last argument changed
210         to lookup_flags.  Just set the elements to 1 or 0.
211         (gstring_insert_for_gpos): New function.
212         (lookup_gpos): New arg accumulate.  Insert pseudo glyphs to
213         accumulate positioning if necessary.
214         (OTF_drive_gsub_internal): Adjusted for the change of
215         setup_lookup_flags.
216         (OTF_drive_gpos_internal): Renamed from OTF_drive_gpos.  Adjusted
217         for the change of setup_lookup_flags and lookup_gpos.
218         (OTF_drive_gpos): Just call OTF_drive_gpos_internal with
219         accumulate == 0.
220         (OTF_drive_gpos2): New function.
221
222         * src/otf.h (OTF_drive_gpos2): Extern it.
223
224 2008-11-27  Simon Zamecnik  <zamecnik@ui42.sk>  (tiny change)
225
226         * src/otfdrive.c (setup_lookup_indices): New arg LangSys.
227         (OTF_drive_gsub_internal, OTF_drive_gpos): Adjusted for the above
228         change.
229
230 2008-07-01  Kenichi Handa  <handa@m17n.org>
231
232         * src/otfopen.c (make_stream, setup_stream)
233         (make_stream_from_ft_face, free_stream, read_offset_table): Make
234         them static.
235
236 2008-06-29  Kenichi Handa  <handa@m17n.org>
237
238         * Version 0.9.8 released.
239
240 2008-06-29  Kenichi Handa  <handa@m17n.org>
241
242         * configure.ac: Versions changed to 0.9.8.
243
244         * example/otfview.c (DEVICE_DELTA): Handle an invalid table.
245
246         * example/otfdump.c (dump_device_table): Handle an invalid table.
247
248         * src/otfopen.c (read_device_table): Accept an invalid table.
249
250 2007-12-28  Kenichi Handa  <handa@ni.aist.go.jp>
251
252         * Version 0.9.7 released.
253
254 2007-12-28  Kenichi Handa  <handa@ni.aist.go.jp>
255
256         * configure.ac: Versions changed to 0.9.7.
257
258 2007-12-20  Kenichi Handa  <handa@ni.aist.go.jp>
259
260         * src/otfdrive.c (gstring_subst): If a glyph is changed, set the
261         character code to 0, and update GlyphClass.
262
263 2007-10-29  Kenichi Handa  <handa@m17n.org>
264
265         * example/otfdump.c (dump_chain_class_set_list): Ignore an element
266         whose offset is zero.
267
268 2007-09-06  Kenichi Handa  <handa@m17n.org>
269
270         * src/otfdrive.c (lookup_gpos): Ignore mark glyphs while
271         processing GPOS_MarkBase1.
272
273 2007-08-17  Kenichi Handa  <handa@m17n.org>
274
275         * src/otfdrive.c (lookup_gpos): Fix handling of IGNORED_GLYPH.
276
277 2007-08-06  Kenichi Handa  <handa@m17n.org>
278
279         * src/otfdrive.c (gstring_subst): If otf->cmap is NULL, set
280         character code of a glyph to 0.
281         (OTF_drive_gsub): If otf->cmap is NULL, try to load it.
282
283 2007-07-13  Kenichi Handa  <handa@m17n.org>
284
285         * Version 0.9.6 released.
286
287 2007-07-13  Kenichi Handa  <handa@m17n.org>
288
289         * configure.ac: Updated to 0.9.6.
290
291         * src/otf.h (LIBOTF_VERSION): Updated to 0.9.6.
292         (LIBOTF_RELEASE_NUMBER): Updated to 6.
293
294 2007-07-09  Kenichi Handa  <handa@m17n.org>
295
296         * src/otfdrive.c (gstring_subst): Remove a glyph if it is ignored
297         because of 0 glyph ID.
298
299 2007-01-09  Kenichi Handa  <handa@m17n.org>
300
301         * src/otf.h: Adjusted for C++.  Adjusted many prototypes to
302         contain `const' qualifiers.
303
304         * src/otferror.h (otf__error): Add `const' qualifier.
305
306         * src/otferror.c (otf__error, OTF_perror): Add `const' qualifiers.
307
308         * src/otfdrive.c: Add many `const' qualifiers.
309
310         * src/otfopen.c: Add many `const' qualifiers.
311
312 2006-07-25  Kenichi Handa  <handa@m17n.org>
313
314         * Version 0.9.5 released.
315
316 2006-07-25  Kenichi Handa  <handa@m17n.org>
317
318         * src/otfdrive.c (gstring_subst): Setup all members of struct
319         OTF_Glyph.
320         (lookup_gsub): Call gstring_subst with correct args.
321
322 2006-07-19  Kenichi Handa  <handa@m17n.org>
323
324         * libotf.pc.in: New file.
325
326         * Makefile.am (pkgconfigdir, pkgconfig_DATA): New variables.
327
328         * configure.ac: Updated to 0.9.5.
329         (FREETYPE_INC, FREETYPE_LD_FLAGS): AC_SUBST them.
330         (AC_CONFIG_FILES): Include libotf.pc.
331
332         * libotf-config.in: Include @FREETYPE_INC@ and @FREETYPE_LD_FLAGS@
333         in output.
334
335 2006-07-18  Kenichi Handa  <handa@m17n.org>
336
337         * example/otfview.c (bitmap): Array increated to cover full
338         Unicode.
339         (fontindex): New variable.
340         (update_glyph_area): Adjusted for the change of `bitmap'.
341         (GlyphProc): Likewise.
342         (help): New function.
343         (main): Accept a new 2nd arg INDEX.
344
345 2006-07-14  Kenichi Handa  <handa@m17n.org>
346
347         * src/otfopen.c: Include FT_TRUETYPE_TABLES_H.
348         (make_stream): New arg name.  Caller changed.
349         (setup_stream): Delete arg name.
350         (make_stream_from_ft_face): New function.
351         (read_cmap_table): Fix typo (`i'->`j').
352         (read_header_part): New arg face.  Caller changed.
353         (OTF_open_ft_face): New function.
354
355         * src/otf.h (LIBOTF_VERSION): Updated to 0.9.5.
356         (LIBOTF_RELEASE_NUMBER): Updated to 5.
357         (OTF_open_ft_face): Extern it.
358
359 2006-07-11  Kenichi Handa  <handa@m17n.org>
360
361         * src/otf.h (OTF_ERROR_FT_FACE): New macro.
362
363 2006-07-07  Kenichi Handa  <handa@m17n.org>
364
365         * src/otf.h (OTF_Anchor): Distinguish XDeviceTable and
366         YDeviceTable.
367
368 2006-06-23  Kenichi Handa  <handa@m17n.org>
369
370         * example/otfview.c (update_glyph_area): Don't use none_pixmap for
371         glyph index 0 if charmap_index is negative.
372
373         * example/otftobdf.c (main): Call dump_image with the arg full as 0.
374
375         * src/otfopen.c (read_table_directory): Fix setting of tag name.
376
377 2006-02-15  Kenichi Handa  <handa@m17n.org>
378
379         * example/otfview.c (DumpProc): Fix handling of non-existing glyph.
380         (create_otf_script_widgets): Fix typo; gsub -> gpos.
381
382 2006-02-10  Kenichi Handa  <handa@m17n.org>
383
384         * src/otfopen.c (read_table_directory): Fix setting of
385         OTF_TableDirectory->name.
386
387 2006-02-07  Kenichi Handa  <handa@m17n.org>
388
389         * example/otfview.c (DumpProc): Fix calculation of x/y offsets.
390
391 2006-01-27  Kenichi Handa  <handa@m17n.org>
392
393         * example/otfview.c (DumpProc): Completely re-written to produce
394         PostScirpt instead of PBM.
395
396 2005-12-22  Kenichi Handa  <handa@m17n.org>
397
398         * Version 0.9.4 released.
399
400         * src/otf.h (LIBOTF_VERSION): Updated to "0.9.4"
401         (LIBOTF_RELEASE_NUMBER): Update to 4.
402
403 2005-12-22  Kenichi Handa  <handa@m17n.org>
404
405         * example/otfview.c (update_glyph_area): Use non_pixmap for
406         non-existing glyphs.
407
408 2005-11-22  Kenichi Handa  <handa@m17n.org>
409
410         * example/otfview.c (main) [! HAVE_X11_XAW_COMMAND_H]: Fix args to
411         fprintf.
412
413         * configure.ac: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER.
414
415 2005-09-02  Kenichi Handa  <handa@m17n.org>
416
417         * example/Makefile.am (otfview_LDFLAGS): Use @X11_XT_XAW_XMU@
418         instead of directory listing libraries.
419
420         * autogen.sh: Run automake with -a -c.
421
422         * configure.ac (AC_INIT): Version updated to 0.9.4.
423         (AM_INIT_AUTOMAKE): Likewise.
424         (X11_XT_XAW_XMU): New variable.  Set to a library list for Xaw if
425         X11 is available.
426
427 2005-07-11  Kenichi Handa  <handa@m17n.org>
428
429         * src/otfdrive.c (OTF_drive_gsub_internal): Call OTF_get_table
430         unconditionally.
431         (OTF_drive_gpos): Likewise.
432
433         * src/otfopen.c (read_gsub_gpos_table): Set *table->address earlier.
434         (OTF_check_features): Set script_list and feature_list according
435         to gsubp.  Even if failed in getting features, if all requested
436         features are negative, return 1.
437
438 2005-06-29  Kenichi Handa  <handa@m17n.org>
439
440         * example/otfview.c (get_features): Don't return "*" even if all
441         features are being used.
442
443         * src/otfdrive.c (OTF_drive_gsub_internal): Initialize
444         positioning_type member to 0.
445         (OTF_drive_gpos): Likewise.
446
447 2005-06-24  Kenichi Handa  <handa@m17n.org>
448
449         * src/otfopen.c (OTF_check_features): If the MSB of a feature tag
450         is set, treat it as a negation flag.
451
452 2005-06-14  Kenichi Handa  <handa@m17n.org>
453
454         * src/otfopen.c (OTF_check_features): If gsubp is zero, check gpos
455         scripts and features.  Treat feature tag 0 as wildcard.
456
457 2005-05-26  Kenichi Handa  <handa@m17n.org>
458
459         * example/otfview.c (langsys_tag): New variable.
460         (get_features): Check if rec->langsys and rec->features are not
461         NULL.
462         (update_seq_area): Delete unused var.
463         (setup_feature_rec): Setup rec->langsys correctly.  Don't allocate
464         rec->features here.
465         (compose_script_langsys, decompose_script_langsys): New functions.
466         (ScriptProc): Fix handling of the arg call_data.
467         (create_otf_script_widgets): Check all langsys.  Allocate
468         gsub.features and gpos.features here.
469         (create_otf_widgets): Delete unused var.
470
471         * example/otflist.c (print_gsub_gpos_info): Don't print
472         superfluous space.
473         (main): Delete unused variables.
474
475 2005-05-23  Kenichi Handa  <handa@m17n.org>
476
477         * src/otfopen.c (OTF_check_features): Fix indexing to
478         feature_list->Feature.
479         (OTF_tag): Handle the case that the length of NAME is short.
480
481 2005-05-21  Kenichi Handa  <handa@m17n.org>
482
483         * src/otfopen.c (OTF_get_features): If table_info doesn't have
484         stream nor address, return -1.
485
486 2005-05-19  Kenichi Handa  <handa@m17n.org>
487
488         * src/otf.h (OTF_get_scripts, OTF_get_features,
489         OTF_check_features): Extern them.
490
491         * src/otfopen.c (enum OTF_ReaderFlag): New enum.
492         (OTF_TableInfo): Change the prototype of the member `reader'.
493         Caller changed.
494         (read_head_table, read_name_table, read_cmap_table)
495         (read_gdef_table): Adjusted for the change of OTF_TableInfo.
496         (read_feature_list): Seek the stream at first.
497         (read_gsub_gpos_table): Adjusted for the change of OTF_TableInfo.
498         Pay attention to the arg `flag'.
499         (read_gsub_table, read_gpos_table): Adjusted for the change of
500         OTF_TableInfo.
501         (OTF_get_table): Likewise.
502         (OTF_get_scripts, OTF_get_features, OTF_check_features): New
503         functions.
504
505 2005-05-13  Kenichi Handa  <handa@m17n.org>
506
507         * src/otfdrive.c (lookup_gsub): Increment `gidx' correctly in the
508         case of GSUB_Ligature1.
509
510 2005-02-18  Kenichi Handa  <handa@m17n.org>
511
512         * src/otferror.c (error_message): Allocate it statically.
513         (otf__error): Don't allocate error_message dynamically.
514         (OTF_perror): Adjust for the above changes.
515
516 2005-02-17  Kenichi Handa  <handa@m17n.org>
517
518         * example/otflist.c (filter): Accept extentions ".ttc" and ".TTC".
519
520         * src/otfopen.c (read_cmap_table): Delete unsed var.
521
522         * src/otfdrive.c (gstring_subst): Correctly set temp.f.index.
523         (lookup_gsub): Fix updating gidx.
524         (gstring_subst): New arg OTF.  Callers changed.
525         (lookup_gsub): New arg OTF.  Callers changed.
526
527 2004-12-27  Kenichi Handa  <handa@m17n.org>
528
529         * Version 0.9.3 released.
530
531 2004-11-19  Kenichi Handa  <handa@m17n.org>
532
533         * libotf-config: Update to version "0.9.3".
534
535         * configure.ac (AC_INIT): Update to 0.9.3.
536         (AM_INIT_AUTOMAKE): Likewise.
537
538         * src/otf.h (LIBOTF_VERSION): Update to "0.9.3".
539         (LIBOTF_RELEASE_NUMBER): Update to 3.
540
541 2004-11-09  Kenichi Handa  <handa@m17n.org>
542
543         * src/otf.h (OTF_Glyph): Delete member alternate_set.
544         (OTF_drive_gsub_alternate): Extern it.
545
546         * src/otfdrive.c (lookup_gsub): New arg alternate_subst.  Callers
547         changed.
548         (OTF_drive_gsub_internal): Renamed from OTF_drive_gsub.
549         (OTF_drive_gsub): Just call OTF_drive_gsub_internal.
550         (OTF_drive_gsub_alternate): New function.
551
552         * example/otfview.c (alt_subst, do_alternate_subst): New
553         variables.
554         (update_seq_area): If do_alternate_subst, call
555         OTF_drive_gsub_alternate.  Correctly set advance.  Don't check
556         g->alternate_set.
557         (AltSubstProc): New function.
558         (create_widgets): Create AltSubst widget.
559
560 2004-11-08  Kenichi Handa  <handa@m17n.org>
561
562         * example/otfview.c: Include "config.h".
563
564 2004-11-02  Kenichi Handa  <handa@m17n.org>
565
566         * example/otfview.c (MAX_FEATURE_COUNT): Delete this macro.
567         (FeatureElement): New type.
568         (FeatureRec): New element num_features and parent.
569         (update_seq_area): Show alternate glyphs if any.
570         (setup_feature_rec): (Re)allocate rec->features.  Create widgets.
571         (create_otf_widgets): Don't create widgets here.
572
573         * example/otfdump.c (dump_cmap_table): Support Format 2 of cmap.
574
575         * src/otfopen.c (read_cmap_table): Support Format 2 of cmap.
576
577         * src/otfdrive.c (lookup_gsub): For Format 3, set
578         OTF_Glyph->alternate_set.
579
580         * src/otf.h (OTF_EncodingSubtable2): New members subHeaderCount
581         and glyphIndexCount.
582         (OTF_Glyph): New member alternate_set.
583
584 2004-10-27  Kenichi Handa  <handa@m17n.org>
585
586         * example/otfview.c: Pay attention to HAVE_X11_XAW_COMMAND_H.
587
588         * configure.ac: Check existence of X11/Xaw/Command.h.
589
590 2004-09-03  Kenichi Handa  <handa@m17n.org>
591
592         * src/otfdrive.c (GSTRING_INSERT): Fix size of reallocating
593         memory.
594         (lookup_gpos): For LooupType 5, fix finding a base/ligature glyph.
595
596         * example/otfview.c (update_seq_area): Use malloc and free for
597         gstring.glyphs.
598
599 2004-08-13  Kenichi Handa  <handa@m17n.org>
600
601         * Version 0.9.2 released.
602
603 2004-08-13  Kenichi Handa  <handa@m17n.org>
604
605         * src/otfdrive.c (IGNORED_GLYPH): Fix checking of MarkAttachClass.
606
607         * configure.ac: Updated to 0.9.2.
608
609         * src/otf.h (LIBOTF_VERSION): Updated to 0.9.2.
610         (LIBOTF_RELEASE_NUMBER): Updated to 2.
611
612 2004-08-09  Kenichi Handa  <handa@m17n.org>
613
614         * Version 0.9.1 released.
615
616 2004-08-09  Kenichi Handa  <handa@m17n.org>
617
618         * src/otfdrive.c (setup_lookup_indices): Fix handling of "*" in
619         features.
620
621         * example/otfview.c (update_seq_area): Call OTF_drive_gdef only
622         when otf is not NULL.
623
624 2004-08-07  Kenichi Handa  <handa@m17n.org>
625
626         * example/otfview.c (FeatureProc): Highlight selected features by
627         changing border width, not by changing fore and back color.
628         (setup_feature_rec): Setup internal height and width of widgets.
629         (create_otf_widgets): Likewise.
630
631         * src/otfdrive.c (IGNORED_GLYPH): New macro.
632         (gstring_subst, match_ids, match_chain_ids, match_classes)
633         (match_chain_classes, match_coverages, match_chain_coverages):
634         use IGNORED_GLYPH.
635         (lookup_gsub): Likewise.  Include OTF_MarkAttachmentType in flag.
636         (lookup_gpos): Likewise.
637
638 2004-08-06  Kenichi Handa  <handa@m17n.org>
639
640         * src/otfdrive.c (lookup_gsub): Fix handling of Extension lookup.
641         (lookup_gpos): Support Extension lookup.
642         (gstring_subst): Fix previous change.
643
644 2004-08-05  Kenichi Handa  <handa@m17n.org>
645
646         * src/otf.h (enum OTF_LookupFlagBit): Fix OTF_IgnoreMarks.
647
648         * example/otfview.c (update_seq_area): Fix sign of yoff.
649         Support more positioning_type.
650
651         * example/otfdump.c (dump_lookup_subtable_gpos): Add support for
652         LookupType 5.
653
654         * src/otfopen.c (read_ligature_attach): Fix for the case that an
655         offset is NULL.
656
657         * src/otfdrive.c (lookup_gpos): Add support for LookupType 5.
658         Fix handling of flag.
659         (gstring_subst): Fix previous change.
660
661 2004-08-04  Kenichi Handa  <handa@m17n.org>
662
663         * example/otfview.c (bidi, reversed): New variables.
664         (update_seq_area): Call OTF_drive_gdef.  If reversed is nonzero,
665         reorder glyphs properly.  Create pixmap if necessary.  Handle
666         OTF_XAdvance and OTF_XAdvDevice.
667         (BidiProc): New function.
668         (create_widgets): Setup bidi.
669
670         * src/otfdrive.c (gstring_subst): New arg flag.  Caller changed.
671         Ignore glyphs specified in flag.
672         (match_ids, match_classes, match_coverages): Likewise.
673         (match_chain_ids, match_chain_classes, match_chain_coverages): New
674         arg flag.
675         (lookup_gsub): Fix handling of LookupFlag.
676         (lookup_gpos): Likewise.  Support more LookupType.
677
678         * src/otf.h (OTF_LookupFlagIgnoreMask): New macro.
679
680 2004-07-29  Kenichi Handa  <handa@m17n.org>
681
682         * example/otfview.c (create_widgets): Fix width of index glyphs..
683
684 2004-07-26  Kenichi Handa  <handa@m17n.org>
685
686         * src/otfopen.c (read_value_record): Fix typo.
687
688         * src/otfdrive.c (lookup_gpos): Don't apply a GPOS feature twice.
689         (OTF_drive_gpos): Initialize values positioning_type memeber.
690         (OTF_drive_gsub): Fix previous change.
691
692 2004-07-24  Kenichi Handa  <handa@m17n.org>
693
694         * src/otfdrive.c (gstring_subst): Set `c' and `f.index' of
695         OTF_Glyph.
696         (OTF_drive_gsub): Iniialize f.index member of OTF_Glhph.
697
698         * src/otf.h (OTF_Glyph): New union member u.index.
699
700 2004-07-23  Kenichi Handa  <handa@m17n.org>
701
702         * example/otfview.c: Big change to implement selection of script.
703
704 2004-07-12  Kenichi Handa  <handa@m17n.org>
705
706         * example/otfview.c: Big change to implement driving OpenType
707         tables (GSUB and GPOS).
708
709         * src/otfdrive.c (get_langsys): If script is NULL, use the first
710         one in script_list.
711
712 2004-07-09  Kenichi Handa  <handa@m17n.org>
713
714         * src/otfdrive.c (lookup_gpos): Ignore glyphs whose ID is 0 (fix
715         for the case of LookupType 2).
716
717 2004-07-08  Kenichi Handa  <handa@m17n.org>
718
719         * src/otfopen.c (read_class_set_list): Allocate the array *set
720         by OTF_CALLOC.
721
722 2004-07-07  Kenichi Handa  <handa@m17n.org>
723
724         * src/otfdrive.c (lookup_gsub): For LookupType 5 Subformat 2, if
725         ClassSet is not defined, do nothing.
726
727 2004-06-29  Kenichi Handa  <handa@m17n.org>
728
729         * src/otfdrive.c (lookup_gsub): Fix handling of lookup type 6
730         format 3.
731
732 2004-05-28  Kenichi Handa  <handa@m17n.org>
733
734         * example/otflist.c: Include <sys/types.h> and "config.h".
735         (next_file): New function.
736         (main): Call next_file.
737
738         * configure.ac: Check functions scandir and alphasort.
739
740 2004-05-06  Kenichi Handa  <handa@m17n.org>
741
742         * example/otftobdf.c (registry): New variable.
743         (dump_header): Include registry in the font name.
744         (main): Handle the encoding arg of the format M-N.  Without this
745         arg, generate a font with raw-encoding.
746
747         * src/otfdrive.c: Include "config.h".  Delete '//' style comments.
748         (lookup_encoding_0, lookup_encoding_2, lookup_encoding_4)
749         (lookup_encoding_6, lookup_encoding_8, lookup_encoding_10)
750         (lookup_encoding_12, OTF_drive_cmap2): New functions.
751
752         * src/otfopen.c (read_name): Argument changed.  Set
753         OTF_NameRecord->ascii.  If possible, convert Unicode sequence to
754         ASCII.
755         (read_name_table): Adjusted for the change of read_name.
756         (read_cmap_table): Signal an error (not-yet-supported) if format
757         is 2.  Support for formats, 8, 10, 12.
758         (read_value_record): Clear value_record at first.
759         (read_lookup_subtable_gpos): Fix for the case subFormat is 1 and
760         2.
761         (OTF_open): Check file name extension.
762
763         * example/otflist.c: Include <otf.h>.
764         (FATAL_ERROR): New macro.
765         (print_tag, print_gsub_gpos_info, help_and_exit): New functions.
766         (main): Handle -h, --help, -l args.  Prefer family/style names
767         extracted by the otf library.
768
769 2004-03-30  Kenichi Handa  <handa@m17n.org>
770
771         * src/otfopen.c (read_value_record): Clear value_record at
772         first.
773         (read_lookup_subtable_gpos): For Lookup Type 1, read Coverage at
774         first.
775
776 2004-03-29  Kenichi Handa  <handa@m17n.org>
777
778         * example/otfdump.c (dump_lookup_subtable_gsub): For Lookup Type
779         7, fix arg to dump_lookup_subtable_gsub.
780         (dump_lookup_subtable_gpos): Support Lookup Type 9.
781
782         * autogen.sh: Run automake after autoheader.
783
784         * src/otfopen.c (OTF_close): Free otf->filename.
785
786 2004-02-01  Kenichi Handa  <handa@m17n.org>
787
788         * Version 0.9 released.
789
790 \f
791 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
792   National Institute of Advanced Industrial Science and Technology (AIST)
793   Registration Number H15PRO112
794
795 This file is part of the m17n library.
796
797 The m17n library is free software; you can redistribute it and/or
798 modify it under the terms of the GNU Lesser General Public License
799 as published by the Free Software Foundation; either version 2.1 of
800 the License, or (at your option) any later version.
801
802 The m17n library is distributed in the hope that it will be useful,
803 but WITHOUT ANY WARRANTY; without even the implied warranty of
804 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
805 Lesser General Public License for more details.
806
807 You should have received a copy of the GNU Lesser General Public
808 License along with the m17n library; if not, write to the Free
809 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
810 02111-1307, USA.