1 2007-08-06 Kenichi Handa <handa@m17n.org>
3 * src/otfdrive.c (gstring_subst): If otf->cmap is NULL, set
4 character code of a glyph to 0.
5 (OTF_drive_gsub): If otf->cmap is NULL, try to load it.
7 2007-07-13 Kenichi Handa <handa@m17n.org>
9 * Version 0.9.6 released.
11 2007-07-13 Kenichi Handa <handa@m17n.org>
13 * configure.ac: Updated to 0.9.6.
15 * src/otf.h (LIBOTF_VERSION): Updated to 0.9.6.
16 (LIBOTF_RELEASE_NUMBER): Updated to 6.
18 2007-07-09 Kenichi Handa <handa@m17n.org>
20 * src/otfdrive.c (gstring_subst): Remove a glyph if it is ignored
21 because of 0 glyph ID.
23 2007-01-09 Kenichi Handa <handa@m17n.org>
25 * src/otf.h: Adjusted for C++. Adjusted many prototypes to
26 contain `const' qualifiers.
28 * src/otferror.h (otf__error): Add `const' qualifier.
30 * src/otferror.c (otf__error, OTF_perror): Add `const' qualifiers.
32 * src/otfdrive.c: Add many `const' qualifiers.
34 * src/otfopen.c: Add many `const' qualifiers.
36 2006-07-25 Kenichi Handa <handa@m17n.org>
38 * Version 0.9.5 released.
40 2006-07-25 Kenichi Handa <handa@m17n.org>
42 * src/otfdrive.c (gstring_subst): Setup all members of struct
44 (lookup_gsub): Call gstring_subst with correct args.
46 2006-07-19 Kenichi Handa <handa@m17n.org>
48 * libotf.pc.in: New file.
50 * Makefile.am (pkgconfigdir, pkgconfig_DATA): New variables.
52 * configure.ac: Updated to 0.9.5.
53 (FREETYPE_INC, FREETYPE_LD_FLAGS): AC_SUBST them.
54 (AC_CONFIG_FILES): Include libotf.pc.
56 * libotf-config.in: Include @FREETYPE_INC@ and @FREETYPE_LD_FLAGS@
59 2006-07-18 Kenichi Handa <handa@m17n.org>
61 * example/otfview.c (bitmap): Array increated to cover full
63 (fontindex): New variable.
64 (update_glyph_area): Adjusted for the change of `bitmap'.
65 (GlyphProc): Likewise.
67 (main): Accept a new 2nd arg INDEX.
69 2006-07-14 Kenichi Handa <handa@m17n.org>
71 * src/otfopen.c: Include FT_TRUETYPE_TABLES_H.
72 (make_stream): New arg name. Caller changed.
73 (setup_stream): Delete arg name.
74 (make_stream_from_ft_face): New function.
75 (read_cmap_table): Fix typo (`i'->`j').
76 (read_header_part): New arg face. Caller changed.
77 (OTF_open_ft_face): New function.
79 * src/otf.h (LIBOTF_VERSION): Updated to 0.9.5.
80 (LIBOTF_RELEASE_NUMBER): Updated to 5.
81 (OTF_open_ft_face): Extern it.
83 2006-07-11 Kenichi Handa <handa@m17n.org>
85 * src/otf.h (OTF_ERROR_FT_FACE): New macro.
87 2006-07-07 Kenichi Handa <handa@m17n.org>
89 * src/otf.h (OTF_Anchor): Distinguish XDeviceTable and
92 2006-06-23 Kenichi Handa <handa@m17n.org>
94 * example/otfview.c (update_glyph_area): Don't use none_pixmap for
95 glyph index 0 if charmap_index is negative.
97 * example/otftobdf.c (main): Call dump_image with the arg full as 0.
99 * src/otfopen.c (read_table_directory): Fix setting of tag name.
101 2006-02-15 Kenichi Handa <handa@m17n.org>
103 * example/otfview.c (DumpProc): Fix handling of non-existing glyph.
104 (create_otf_script_widgets): Fix typo; gsub -> gpos.
106 2006-02-10 Kenichi Handa <handa@m17n.org>
108 * src/otfopen.c (read_table_directory): Fix setting of
109 OTF_TableDirectory->name.
111 2006-02-07 Kenichi Handa <handa@m17n.org>
113 * example/otfview.c (DumpProc): Fix calculation of x/y offsets.
115 2006-01-27 Kenichi Handa <handa@m17n.org>
117 * example/otfview.c (DumpProc): Completely re-written to produce
118 PostScirpt instead of PBM.
120 2005-12-22 Kenichi Handa <handa@m17n.org>
122 * Version 0.9.4 released.
124 * src/otf.h (LIBOTF_VERSION): Updated to "0.9.4"
125 (LIBOTF_RELEASE_NUMBER): Update to 4.
127 2005-12-22 Kenichi Handa <handa@m17n.org>
129 * example/otfview.c (update_glyph_area): Use non_pixmap for
132 2005-11-22 Kenichi Handa <handa@m17n.org>
134 * example/otfview.c (main) [! HAVE_X11_XAW_COMMAND_H]: Fix args to
137 * configure.ac: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER.
139 2005-09-02 Kenichi Handa <handa@m17n.org>
141 * example/Makefile.am (otfview_LDFLAGS): Use @X11_XT_XAW_XMU@
142 instead of directory listing libraries.
144 * autogen.sh: Run automake with -a -c.
146 * configure.ac (AC_INIT): Version updated to 0.9.4.
147 (AM_INIT_AUTOMAKE): Likewise.
148 (X11_XT_XAW_XMU): New variable. Set to a library list for Xaw if
151 2005-07-11 Kenichi Handa <handa@m17n.org>
153 * src/otfdrive.c (OTF_drive_gsub_internal): Call OTF_get_table
155 (OTF_drive_gpos): Likewise.
157 * src/otfopen.c (read_gsub_gpos_table): Set *table->address earlier.
158 (OTF_check_features): Set script_list and feature_list according
159 to gsubp. Even if failed in getting features, if all requested
160 features are negative, return 1.
162 2005-06-29 Kenichi Handa <handa@m17n.org>
164 * example/otfview.c (get_features): Don't return "*" even if all
165 features are being used.
167 * src/otfdrive.c (OTF_drive_gsub_internal): Initialize
168 positioning_type member to 0.
169 (OTF_drive_gpos): Likewise.
171 2005-06-24 Kenichi Handa <handa@m17n.org>
173 * src/otfopen.c (OTF_check_features): If the MSB of a feature tag
174 is set, treat it as a negation flag.
176 2005-06-14 Kenichi Handa <handa@m17n.org>
178 * src/otfopen.c (OTF_check_features): If gsubp is zero, check gpos
179 scripts and features. Treat feature tag 0 as wildcard.
181 2005-05-26 Kenichi Handa <handa@m17n.org>
183 * example/otfview.c (langsys_tag): New variable.
184 (get_features): Check if rec->langsys and rec->features are not
186 (update_seq_area): Delete unused var.
187 (setup_feature_rec): Setup rec->langsys correctly. Don't allocate
189 (compose_script_langsys, decompose_script_langsys): New functions.
190 (ScriptProc): Fix handling of the arg call_data.
191 (create_otf_script_widgets): Check all langsys. Allocate
192 gsub.features and gpos.features here.
193 (create_otf_widgets): Delete unused var.
195 * example/otflist.c (print_gsub_gpos_info): Don't print
197 (main): Delete unused variables.
199 2005-05-23 Kenichi Handa <handa@m17n.org>
201 * src/otfopen.c (OTF_check_features): Fix indexing to
202 feature_list->Feature.
203 (OTF_tag): Handle the case that the length of NAME is short.
205 2005-05-21 Kenichi Handa <handa@m17n.org>
207 * src/otfopen.c (OTF_get_features): If table_info doesn't have
208 stream nor address, return -1.
210 2005-05-19 Kenichi Handa <handa@m17n.org>
212 * src/otf.h (OTF_get_scripts, OTF_get_features,
213 OTF_check_features): Extern them.
215 * src/otfopen.c (enum OTF_ReaderFlag): New enum.
216 (OTF_TableInfo): Change the prototype of the member `reader'.
218 (read_head_table, read_name_table, read_cmap_table)
219 (read_gdef_table): Adjusted for the change of OTF_TableInfo.
220 (read_feature_list): Seek the stream at first.
221 (read_gsub_gpos_table): Adjusted for the change of OTF_TableInfo.
222 Pay attention to the arg `flag'.
223 (read_gsub_table, read_gpos_table): Adjusted for the change of
225 (OTF_get_table): Likewise.
226 (OTF_get_scripts, OTF_get_features, OTF_check_features): New
229 2005-05-13 Kenichi Handa <handa@m17n.org>
231 * src/otfdrive.c (lookup_gsub): Increment `gidx' correctly in the
232 case of GSUB_Ligature1.
234 2005-02-18 Kenichi Handa <handa@m17n.org>
236 * src/otferror.c (error_message): Allocate it statically.
237 (otf__error): Don't allocate error_message dynamically.
238 (OTF_perror): Adjust for the above changes.
240 2005-02-17 Kenichi Handa <handa@m17n.org>
242 * example/otflist.c (filter): Accept extentions ".ttc" and ".TTC".
244 * src/otfopen.c (read_cmap_table): Delete unsed var.
246 * src/otfdrive.c (gstring_subst): Correctly set temp.f.index.
247 (lookup_gsub): Fix updating gidx.
248 (gstring_subst): New arg OTF. Callers changed.
249 (lookup_gsub): New arg OTF. Callers changed.
251 2004-12-27 Kenichi Handa <handa@m17n.org>
253 * Version 0.9.3 released.
255 2004-11-19 Kenichi Handa <handa@m17n.org>
257 * libotf-config: Update to version "0.9.3".
259 * configure.ac (AC_INIT): Update to 0.9.3.
260 (AM_INIT_AUTOMAKE): Likewise.
262 * src/otf.h (LIBOTF_VERSION): Update to "0.9.3".
263 (LIBOTF_RELEASE_NUMBER): Update to 3.
265 2004-11-09 Kenichi Handa <handa@m17n.org>
267 * src/otf.h (OTF_Glyph): Delete member alternate_set.
268 (OTF_drive_gsub_alternate): Extern it.
270 * src/otfdrive.c (lookup_gsub): New arg alternate_subst. Callers
272 (OTF_drive_gsub_internal): Renamed from OTF_drive_gsub.
273 (OTF_drive_gsub): Just call OTF_drive_gsub_internal.
274 (OTF_drive_gsub_alternate): New function.
276 * example/otfview.c (alt_subst, do_alternate_subst): New
278 (update_seq_area): If do_alternate_subst, call
279 OTF_drive_gsub_alternate. Correctly set advance. Don't check
281 (AltSubstProc): New function.
282 (create_widgets): Create AltSubst widget.
284 2004-11-08 Kenichi Handa <handa@m17n.org>
286 * example/otfview.c: Include "config.h".
288 2004-11-02 Kenichi Handa <handa@m17n.org>
290 * example/otfview.c (MAX_FEATURE_COUNT): Delete this macro.
291 (FeatureElement): New type.
292 (FeatureRec): New element num_features and parent.
293 (update_seq_area): Show alternate glyphs if any.
294 (setup_feature_rec): (Re)allocate rec->features. Create widgets.
295 (create_otf_widgets): Don't create widgets here.
297 * example/otfdump.c (dump_cmap_table): Support Format 2 of cmap.
299 * src/otfopen.c (read_cmap_table): Support Format 2 of cmap.
301 * src/otfdrive.c (lookup_gsub): For Format 3, set
302 OTF_Glyph->alternate_set.
304 * src/otf.h (OTF_EncodingSubtable2): New members subHeaderCount
306 (OTF_Glyph): New member alternate_set.
308 2004-10-27 Kenichi Handa <handa@m17n.org>
310 * example/otfview.c: Pay attention to HAVE_X11_XAW_COMMAND_H.
312 * configure.ac: Check existence of X11/Xaw/Command.h.
314 2004-09-03 Kenichi Handa <handa@m17n.org>
316 * src/otfdrive.c (GSTRING_INSERT): Fix size of reallocating
318 (lookup_gpos): For LooupType 5, fix finding a base/ligature glyph.
320 * example/otfview.c (update_seq_area): Use malloc and free for
323 2004-08-13 Kenichi Handa <handa@m17n.org>
325 * Version 0.9.2 released.
327 2004-08-13 Kenichi Handa <handa@m17n.org>
329 * src/otfdrive.c (IGNORED_GLYPH): Fix checking of MarkAttachClass.
331 * configure.ac: Updated to 0.9.2.
333 * src/otf.h (LIBOTF_VERSION): Updated to 0.9.2.
334 (LIBOTF_RELEASE_NUMBER): Updated to 2.
336 2004-08-09 Kenichi Handa <handa@m17n.org>
338 * Version 0.9.1 released.
340 2004-08-09 Kenichi Handa <handa@m17n.org>
342 * src/otfdrive.c (setup_lookup_indices): Fix handling of "*" in
345 * example/otfview.c (update_seq_area): Call OTF_drive_gdef only
346 when otf is not NULL.
348 2004-08-07 Kenichi Handa <handa@m17n.org>
350 * example/otfview.c (FeatureProc): Highlight selected features by
351 changing border width, not by changing fore and back color.
352 (setup_feature_rec): Setup internal height and width of widgets.
353 (create_otf_widgets): Likewise.
355 * src/otfdrive.c (IGNORED_GLYPH): New macro.
356 (gstring_subst, match_ids, match_chain_ids, match_classes)
357 (match_chain_classes, match_coverages, match_chain_coverages):
359 (lookup_gsub): Likewise. Include OTF_MarkAttachmentType in flag.
360 (lookup_gpos): Likewise.
362 2004-08-06 Kenichi Handa <handa@m17n.org>
364 * src/otfdrive.c (lookup_gsub): Fix handling of Extension lookup.
365 (lookup_gpos): Support Extension lookup.
366 (gstring_subst): Fix previous change.
368 2004-08-05 Kenichi Handa <handa@m17n.org>
370 * src/otf.h (enum OTF_LookupFlagBit): Fix OTF_IgnoreMarks.
372 * example/otfview.c (update_seq_area): Fix sign of yoff.
373 Support more positioning_type.
375 * example/otfdump.c (dump_lookup_subtable_gpos): Add support for
378 * src/otfopen.c (read_ligature_attach): Fix for the case that an
381 * src/otfdrive.c (lookup_gpos): Add support for LookupType 5.
382 Fix handling of flag.
383 (gstring_subst): Fix previous change.
385 2004-08-04 Kenichi Handa <handa@m17n.org>
387 * example/otfview.c (bidi, reversed): New variables.
388 (update_seq_area): Call OTF_drive_gdef. If reversed is nonzero,
389 reorder glyphs properly. Create pixmap if necessary. Handle
390 OTF_XAdvance and OTF_XAdvDevice.
391 (BidiProc): New function.
392 (create_widgets): Setup bidi.
394 * src/otfdrive.c (gstring_subst): New arg flag. Caller changed.
395 Ignore glyphs specified in flag.
396 (match_ids, match_classes, match_coverages): Likewise.
397 (match_chain_ids, match_chain_classes, match_chain_coverages): New
399 (lookup_gsub): Fix handling of LookupFlag.
400 (lookup_gpos): Likewise. Support more LookupType.
402 * src/otf.h (OTF_LookupFlagIgnoreMask): New macro.
404 2004-07-29 Kenichi Handa <handa@m17n.org>
406 * example/otfview.c (create_widgets): Fix width of index glyphs..
408 2004-07-26 Kenichi Handa <handa@m17n.org>
410 * src/otfopen.c (read_value_record): Fix typo.
412 * src/otfdrive.c (lookup_gpos): Don't apply a GPOS feature twice.
413 (OTF_drive_gpos): Initialize values positioning_type memeber.
414 (OTF_drive_gsub): Fix previous change.
416 2004-07-24 Kenichi Handa <handa@m17n.org>
418 * src/otfdrive.c (gstring_subst): Set `c' and `f.index' of
420 (OTF_drive_gsub): Iniialize f.index member of OTF_Glhph.
422 * src/otf.h (OTF_Glyph): New union member u.index.
424 2004-07-23 Kenichi Handa <handa@m17n.org>
426 * example/otfview.c: Big change to implement selection of script.
428 2004-07-12 Kenichi Handa <handa@m17n.org>
430 * example/otfview.c: Big change to implement driving OpenType
431 tables (GSUB and GPOS).
433 * src/otfdrive.c (get_langsys): If script is NULL, use the first
436 2004-07-09 Kenichi Handa <handa@m17n.org>
438 * src/otfdrive.c (lookup_gpos): Ignore glyphs whose ID is 0 (fix
439 for the case of LookupType 2).
441 2004-07-08 Kenichi Handa <handa@m17n.org>
443 * src/otfopen.c (read_class_set_list): Allocate the array *set
446 2004-07-07 Kenichi Handa <handa@m17n.org>
448 * src/otfdrive.c (lookup_gsub): For LookupType 5 Subformat 2, if
449 ClassSet is not defined, do nothing.
451 2004-06-29 Kenichi Handa <handa@m17n.org>
453 * src/otfdrive.c (lookup_gsub): Fix handling of lookup type 6
456 2004-05-28 Kenichi Handa <handa@m17n.org>
458 * example/otflist.c: Include <sys/types.h> and "config.h".
459 (next_file): New function.
460 (main): Call next_file.
462 * configure.ac: Check functions scandir and alphasort.
464 2004-05-06 Kenichi Handa <handa@m17n.org>
466 * example/otftobdf.c (registry): New variable.
467 (dump_header): Include registry in the font name.
468 (main): Handle the encoding arg of the format M-N. Without this
469 arg, generate a font with raw-encoding.
471 * src/otfdrive.c: Include "config.h". Delete '//' style comments.
472 (lookup_encoding_0, lookup_encoding_2, lookup_encoding_4)
473 (lookup_encoding_6, lookup_encoding_8, lookup_encoding_10)
474 (lookup_encoding_12, OTF_drive_cmap2): New functions.
476 * src/otfopen.c (read_name): Argument changed. Set
477 OTF_NameRecord->ascii. If possible, convert Unicode sequence to
479 (read_name_table): Adjusted for the change of read_name.
480 (read_cmap_table): Signal an error (not-yet-supported) if format
481 is 2. Support for formats, 8, 10, 12.
482 (read_value_record): Clear value_record at first.
483 (read_lookup_subtable_gpos): Fix for the case subFormat is 1 and
485 (OTF_open): Check file name extension.
487 * example/otflist.c: Include <otf.h>.
488 (FATAL_ERROR): New macro.
489 (print_tag, print_gsub_gpos_info, help_and_exit): New functions.
490 (main): Handle -h, --help, -l args. Prefer family/style names
491 extracted by the otf library.
493 2004-03-30 Kenichi Handa <handa@m17n.org>
495 * src/otfopen.c (read_value_record): Clear value_record at
497 (read_lookup_subtable_gpos): For Lookup Type 1, read Coverage at
500 2004-03-29 Kenichi Handa <handa@m17n.org>
502 * example/otfdump.c (dump_lookup_subtable_gsub): For Lookup Type
503 7, fix arg to dump_lookup_subtable_gsub.
504 (dump_lookup_subtable_gpos): Support Lookup Type 9.
506 * autogen.sh: Run automake after autoheader.
508 * src/otfopen.c (OTF_close): Free otf->filename.
510 2004-02-01 Kenichi Handa <handa@m17n.org>
512 * Version 0.9 released.
515 Copyright (C) 2003, 2004
516 National Institute of Advanced Industrial Science and Technology (AIST)
517 Registration Number H15PRO112
519 This file is part of the m17n library.
521 The m17n library is free software; you can redistribute it and/or
522 modify it under the terms of the GNU Lesser General Public License
523 as published by the Free Software Foundation; either version 2.1 of
524 the License, or (at your option) any later version.
526 The m17n library is distributed in the hope that it will be useful,
527 but WITHOUT ANY WARRANTY; without even the implied warranty of
528 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
529 Lesser General Public License for more details.
531 You should have received a copy of the GNU Lesser General Public
532 License along with the m17n library; if not, write to the Free
533 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA