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