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