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