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