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