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