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