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