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