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