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