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