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