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