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