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