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