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