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