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