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