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