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