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