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