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