2012-04-27 Kenichi Handa * Version 0.9.13 released. * configure.ac: Change versions to 0.9.13. 2012-04-23 Kenichi Handa * src/otfdrive.c (get_class_def_auto): Return 0 if C is negative. 2011-02-11 Kenichi Handa * src/otfopen.c (read_anchor_array): Do not read an anchor if its offset is zero. (read_ligature_attach): Fix return code on error. (read_ligature_array): Do not read an anchor if its offset is zero. (read_lookup_subtable_gpos): Fix typo. * example/otfdump.c (indent_spaces): Delete it. (IPRINT): Do not use indent_spaces. (dump_anchor): Do nothing if anchor->offset is zero. 2010-11-05 Elias Pipping (tiny change) * example/Makefile.am (bin_PROGRAMS): Add otfview conditionally. * configure.ac: Add AM_CONDITIONAL for X11_UNAVAILABLE. 2010-10-04 Kenichi Handa * Version 0.9.12 released. 2010-09-22 Kenichi Handa * src/otfopen.c (OTF_check_features): If language is specified but not found, return 0 instead of using the default langsys. 2010-09-16 Kenichi Handa * src/internal.h: Include alloca.h if available. * example/otftobdf.c: Include alloca.h if available. * example/otfview.c: Include alloca.h if available. * example/otflist.c: Include alloca.h if available. 2010-09-13 Martin Gieseking (tiny change) * example/otftobdf.c (main): Fix checking number of arguments. 2010-09-10 Kenichi Handa * src/otfopen.c (OTF_check_features): If LANGUAGE is specified but not found in a font, return 0. 2010-05-18 Kenichi Handa * example/otfview.c (create_otf_script_widgets): Create a box widget for each script in a limited-width box. 2010-04-21 Kenichi Handa * configure.ac: Versions changed to 0.9.12. * src/otfopen.c (OTF_check_features): Even if no feature is specified, check script support. * src/otf.h (LIBOTF_VERSION): Changed to 0.9.12 (LIBOTF_RELEASE_NUMBER): Changed to 12. 2010-03-30 Kenichi Handa * configure.ac: Versions changed to 0.9.11. 2010-03-23 Kenichi Handa * src/Makefile.am (libotf_la_SOURCES): Include internal.h. 2010-03-19 Kenichi Handa * src/Makefile.am (libotf_la_SOURCES): Exclude otferror.h. * configure.ac: Versions changed to 0.9.11pre. 2010-01-22 Kenichi Handa * src/otfdrive.c (lookup_gsub): Change the meaning of the arg alternate_subst. 2009-12-17 Kenichi Handa * src/otfdrive.c (gstring_subst): Update g->MarkAttachGlass. (lookup_gsub): Update g->GlyphClass and g->MarkAttachGlass. (OTF_drive_gdef): Don't return error even if GDEF table doesn't exist. 2009-11-30 Kenichi Handa * src/otfdrive.c (OTF_drive_gsub_internal): Fix previous change. (OTF_drive_gpos_internal): Likewise. 2009-11-27 Kenichi Handa * src/otfdrive.c (gstring_subst): Set positioning_type to 1. (lookup_gsub): If a feature is applied to a glyph, set its positioning_type to 1. (OTF_drive_gsub_internal): Only if a feature is applied to a glyph, set its feature log. (OTF_drive_gpos_internal): Likewise. 2009-11-24 Kenichi Handa * src/otf.h (OTF_drive_gsub_with_log, OTF_drive_gpos_with_log): Extern them. (OTF_get_drive_log): Delete extern. * src/internal.h (OTF_DriveLog): Delete it. (set_drive_log, get_drive_log): Delete externs. * src/otfopen.c (OTF_InternalData): Delete the member drive_log. (set_drive_log, get_drive_log): Delete them. * src/otfdrive.c (USHORT): New macro for "unsigned short". (prepare_drive_log): Delete it. (setup_lookup_flags): Change the type of lookup_flags. (lookup_gsub): Change the return value. (gstring_insert_for_gpos): Adjusted for the change of OTF_Glyph.positioning_type. (print_glyph_positioning): Likewise. (lookup_gpos): Likewise. Change the return value. (OTF_drive_gsub_internal): New arg "with_log". Adjusted for the change of OTF_Glyph.positioning_type. (OTF_drive_gsub): Fix args to OTF_drive_gsub_internal. (OTF_drive_gsub_with_log): New function. (OTF_drive_gpos_internal): New arg "with_log". Adjusted for the change of OTF_Glyph.positioning_type. (OTF_drive_gpos): Fix args to OTF_drive_gpos_internal. (OTF_drive_gpos2): Likewise. (OTF_drive_gpos_with_log): New function. (OTF_drive_gsub_alternate): Fix args to OTF_drive_gsub_internal. (OTF_iterate_gsub_feature): Adjusted for the change of OTF_Glyph.positioning_type. (OTF_get_drive_log): Delete it. * example/otfview.c (update_seq_area): Call OTF_driver_gsub_with_log and OTF_driver_gpos_with_log. Show which features are applied. (get_features): Fix previous change. 2009-11-24 mule * src/otferror.h: Removed. All codes move to internal.h. * src/internal.h: New file. * src/otfdrive.c: Include internal.h instead of otferror.h. (prepare_drive_log): New function. (OTF_drive_gpos_internal): Make it static. (OTF_get_drive_log): New function. * src/otfopen.c: Include internal.h instead of otferror.h. (OTF_InternalData): New member drive_log. (set_drive_log, get_drive_log): New functions. * src/otf.h (OTF_get_drive_log): Extern it. * example/otfview.c (get_features): Adjusted for the change of FeatureRec->features. (FeatureProc): Don't re-order FeatureRec->features. 2009-11-18 Kenichi Handa * example/otfview.c (update_seq_area): Fix previous change. * src/otfdrive.c (match_ids): New arg "direction". Callers changed. (match_ids_backward): Delete it. (match_chain_ids): Adjusted for the change fo match_ids. (match_classes): New arg "direction". Callers changed. (match_chain_classes): Adjusted for the change fo match_classes. (match_coverages): New arg "direction". Callers changed. (match_chain_coverages): Adjusted for the change fo match_coverages. * src/otfopen.c (read_header_part): Handle TTC (TrueType Collection). (OTF_open): Accept "ttc". 2009-11-13 Kenichi Handa * src/otfdrive.c (match_ids_backward): New function. (match_chain_ids): Call match_ids_backward for backward matching. * example/otfview.c (code, code_label, code_list): New variables. (update_seq_area): Display code list. (create_widgets): Create widgets code, code_label, code_list. 2009-11-09 Kenichi Handa * src/otfdrive.c (get_anchor): Delete it. (get_class_def_auto): Make it static. 2009-11-07 Kenichi Handa * example/otfview.c (update_seq_area): Accumulate adjustments by ValueRecord. * src/otfdrive.c (print_anchor, print_glyph_positioning): New functions. (lookup_gpos): Improve debug info printing. 2009-11-04 Kenichi Handa * example/otfview.c (update_seq_area): Call OTF_driver_gdef after OTF_driver_cmap. * src/otfopen.c (debug_flag): New variable (set_debug_flag): New function. (OTF_open, OTF_open_ft_face): Check debug flag if not yet done. * src/otfdrive.c (debug_flag): Extern it. (lookup_gsub): Print debugging info if requested. Don't ignore a glyph that already has positioning_type. Be sure to increment gidx. 2009-10-08 Kenichi Handa * src/otfopen.c (read_cmap_table): Fix bug of handling seg->idDelta. (OTF_close): Free app_data before free all memories. 2009-10-02 Kenichi Handa * src/otfopen.c (OTF_ApplicationData): New type. (OTF_InternalData): New member app_data. (OTF_close): Free OTF_InternalData->app_data. (OTF_put_data, OTF_get_data): New functions. * src/otf.h (OTF_put_data, OTF_get_data): Extern them. 2009-09-29 Kenichi Handa * src/otf.h (OTF_Feature_Callback): New type. (OTF_iterate_gsub_feature): Extern it. * src/otfdrive.c (OTF_iterate_gsub_feature): New function. 2009-08-13 Kenichi Handa * Version 0.9.10 released. 2009-08-13 Kenichi Handa * src/otf.h (LIBOTF_VERSION): Changed to "0.9.10". (LIBOTF_RELEASE_NUMBER): Changed to 10. * configure.ac: Versions changed to 0.9.10. 2009-07-23 Kenichi Handa * src/otf.h (OTF_cmap): New member table_index; * src/otfopen.c (read_cmap_table): Set cmap->table_index. * src/otfdrive.c (lookup_encoding_0, lookup_encoding_2) (lookup_encoding_4, lookup_encoding_6, lookup_encoding_8) (lookup_encoding_10, lookup_encoding_12): Arguments and return value changed. (lookup_cmap_func): New function type. (lookup_cmap_func_table): New variable. (get_GlyphID): New function. (get_uvs_glyph): Call get_GlyphID instead of directly accessing cmal->unicode_table. (OTF_drive_cmap, OTF_drive_cmap2): Call one of lookup functions in lookup_cmap_func_table. 2009-07-10 Kenichi Handa * example/otfview.c (update_seq_area): Drive features of the correct script and langsys. 2009-03-03 Kenichi Handa * Version 0.9.9 released. 2009-03-03 Kenichi Handa * src/otf.h (LIBOTF_VERSION): Changed to "0.9.9". (LIBOTF_RELEASE_NUMBER): Changed to 9. 2009-03-02 Kenichi Handa * configure.ac: Versions changed to 0.9.9. 2009-02-26 Kenichi Handa * src/otfopen.c (free_stream): Check stream->buf before freeing it. (read_gdef_table): Do nothing if stream->buf is NULL. (read_header_part): If a font doesn't have a GDEF table, make a pseudo stream. * src/otfdrive.c (glyph_class_table): New variable. (get_class_def_auto): New function. (OTF_drive_gdef): If a font doesn't have a GDEF table, use get_class_def_auto. 2009-02-25 Kenichi Handa * src/otfopen.c (get_table_info): Always succeed for GDEF table. * example/otfview.c (main): If ! otf, don't setup sub14. 2008-12-31 Kenichi Handa * src/otfdrive.c (check_cmap_uvs): Update the member MGlyph.f.index.to. 2008-12-29 Kenichi Handa * src/otf.h (OTF_get_variation_glyphs): Extern it.. * src/otfdrive.c (OTF_get_variation_glyphs): New function. * example/otfview.c (uvs_area, uvs_label): New variables. (sub14, uvs): New variable. (update_uvs_area): New function. (update_seq_area): Set `glyph_id' member only when no charmap is used. (update_render_area): Handle a variation selector. (UVSProc): New function. (RenderProc): Call update_uvs_area if the font is OpenType. (create_widgets): Create uvs_area widget if the font has variation selector. (main): Setup sub14. Set font in gc_set. 2008-12-24 Kenichi Handa * src/otfdrive.c (get_uvs_glyph): Complete the code. 2008-12-23 Kenichi Handa * example/otfview.c (update_seq_area): Call OTF_drive_cmap. * example/otfdump.c (dump_cmap_table): Fix previous change. * src/otfdrive.c (lookup_encoding_4): Fix typo. (get_uvs_glyph): Argument changed. (check_cmap_uvs): Adjusted for the above change. * src/otfopen.c (READ_UINT24): New macro. (read_cmap_uvs_table): Argument changed. Complete the code. (read_cmap_table): Adjusted for the above change. Fix typo. * src/otf.h (OTF_cmapSegment): Fix typo. (OTF_EncodingSubtable4): Fix typo. (OTF_UVSMapping): New type. (OTF_UnicodeValueRange): New type. (OTF_VariationSelectorRecord): New type. (OTF_EncodingSubtable14): Fix previous change. 2008-12-22 Kenichi Handa * example/otfdump.c (dump_cmap_table): Handle format 14. * src/otfdrive.c (check_cmap_uvs): New function. Not yet completed. (UVS_P): New macro. (OTF_drive_cmap): Check UVS (Unicode Variation Sequences). (get_uvs_glyph): New function. * src/otfopen.c (read_cmap_uvs_table): New function. (read_cmap_table): Handle format 14 (Unicode Variation Sequences). Not yet completed. * src/otf.h (OTF_EncodingSubtable14): New type. (OTF_EncodingSubtable): New union member f.f14. 2008-12-03 Kenichi Handa * example/otfview.c (update_seq_area): Call OTF_drive_gpos2 instead of OTF_drive_gpos. Handle the accumulated positioning. * src/otfdrive.c (setup_lookup_flags): The last argument changed to lookup_flags. Just set the elements to 1 or 0. (gstring_insert_for_gpos): New function. (lookup_gpos): New arg accumulate. Insert pseudo glyphs to accumulate positioning if necessary. (OTF_drive_gsub_internal): Adjusted for the change of setup_lookup_flags. (OTF_drive_gpos_internal): Renamed from OTF_drive_gpos. Adjusted for the change of setup_lookup_flags and lookup_gpos. (OTF_drive_gpos): Just call OTF_drive_gpos_internal with accumulate == 0. (OTF_drive_gpos2): New function. * src/otf.h (OTF_drive_gpos2): Extern it. 2008-11-27 Simon Zamecnik (tiny change) * src/otfdrive.c (setup_lookup_indices): New arg LangSys. (OTF_drive_gsub_internal, OTF_drive_gpos): Adjusted for the above change. 2008-07-01 Kenichi Handa * src/otfopen.c (make_stream, setup_stream) (make_stream_from_ft_face, free_stream, read_offset_table): Make them static. 2008-06-29 Kenichi Handa * Version 0.9.8 released. 2008-06-29 Kenichi Handa * configure.ac: Versions changed to 0.9.8. * example/otfview.c (DEVICE_DELTA): Handle an invalid table. * example/otfdump.c (dump_device_table): Handle an invalid table. * src/otfopen.c (read_device_table): Accept an invalid table. 2007-12-28 Kenichi Handa * Version 0.9.7 released. 2007-12-28 Kenichi Handa * configure.ac: Versions changed to 0.9.7. 2007-12-20 Kenichi Handa * src/otfdrive.c (gstring_subst): If a glyph is changed, set the character code to 0, and update GlyphClass. 2007-10-29 Kenichi Handa * example/otfdump.c (dump_chain_class_set_list): Ignore an element whose offset is zero. 2007-09-06 Kenichi Handa * src/otfdrive.c (lookup_gpos): Ignore mark glyphs while processing GPOS_MarkBase1. 2007-08-17 Kenichi Handa * src/otfdrive.c (lookup_gpos): Fix handling of IGNORED_GLYPH. 2007-08-06 Kenichi Handa * src/otfdrive.c (gstring_subst): If otf->cmap is NULL, set character code of a glyph to 0. (OTF_drive_gsub): If otf->cmap is NULL, try to load it. 2007-07-13 Kenichi Handa * Version 0.9.6 released. 2007-07-13 Kenichi Handa * configure.ac: Updated to 0.9.6. * src/otf.h (LIBOTF_VERSION): Updated to 0.9.6. (LIBOTF_RELEASE_NUMBER): Updated to 6. 2007-07-09 Kenichi Handa * src/otfdrive.c (gstring_subst): Remove a glyph if it is ignored because of 0 glyph ID. 2007-01-09 Kenichi Handa * src/otf.h: Adjusted for C++. Adjusted many prototypes to contain `const' qualifiers. * src/otferror.h (otf__error): Add `const' qualifier. * src/otferror.c (otf__error, OTF_perror): Add `const' qualifiers. * src/otfdrive.c: Add many `const' qualifiers. * src/otfopen.c: Add many `const' qualifiers. 2006-07-25 Kenichi Handa * Version 0.9.5 released. 2006-07-25 Kenichi Handa * src/otfdrive.c (gstring_subst): Setup all members of struct OTF_Glyph. (lookup_gsub): Call gstring_subst with correct args. 2006-07-19 Kenichi Handa * libotf.pc.in: New file. * Makefile.am (pkgconfigdir, pkgconfig_DATA): New variables. * configure.ac: Updated to 0.9.5. (FREETYPE_INC, FREETYPE_LD_FLAGS): AC_SUBST them. (AC_CONFIG_FILES): Include libotf.pc. * libotf-config.in: Include @FREETYPE_INC@ and @FREETYPE_LD_FLAGS@ in output. 2006-07-18 Kenichi Handa * example/otfview.c (bitmap): Array increated to cover full Unicode. (fontindex): New variable. (update_glyph_area): Adjusted for the change of `bitmap'. (GlyphProc): Likewise. (help): New function. (main): Accept a new 2nd arg INDEX. 2006-07-14 Kenichi Handa * src/otfopen.c: Include FT_TRUETYPE_TABLES_H. (make_stream): New arg name. Caller changed. (setup_stream): Delete arg name. (make_stream_from_ft_face): New function. (read_cmap_table): Fix typo (`i'->`j'). (read_header_part): New arg face. Caller changed. (OTF_open_ft_face): New function. * src/otf.h (LIBOTF_VERSION): Updated to 0.9.5. (LIBOTF_RELEASE_NUMBER): Updated to 5. (OTF_open_ft_face): Extern it. 2006-07-11 Kenichi Handa * src/otf.h (OTF_ERROR_FT_FACE): New macro. 2006-07-07 Kenichi Handa * src/otf.h (OTF_Anchor): Distinguish XDeviceTable and YDeviceTable. 2006-06-23 Kenichi Handa * example/otfview.c (update_glyph_area): Don't use none_pixmap for glyph index 0 if charmap_index is negative. * example/otftobdf.c (main): Call dump_image with the arg full as 0. * src/otfopen.c (read_table_directory): Fix setting of tag name. 2006-02-15 Kenichi Handa * example/otfview.c (DumpProc): Fix handling of non-existing glyph. (create_otf_script_widgets): Fix typo; gsub -> gpos. 2006-02-10 Kenichi Handa * src/otfopen.c (read_table_directory): Fix setting of OTF_TableDirectory->name. 2006-02-07 Kenichi Handa * example/otfview.c (DumpProc): Fix calculation of x/y offsets. 2006-01-27 Kenichi Handa * example/otfview.c (DumpProc): Completely re-written to produce PostScirpt instead of PBM. 2005-12-22 Kenichi Handa * Version 0.9.4 released. * src/otf.h (LIBOTF_VERSION): Updated to "0.9.4" (LIBOTF_RELEASE_NUMBER): Update to 4. 2005-12-22 Kenichi Handa * example/otfview.c (update_glyph_area): Use non_pixmap for non-existing glyphs. 2005-11-22 Kenichi Handa * example/otfview.c (main) [! HAVE_X11_XAW_COMMAND_H]: Fix args to fprintf. * configure.ac: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER. 2005-09-02 Kenichi Handa * example/Makefile.am (otfview_LDFLAGS): Use @X11_XT_XAW_XMU@ instead of directory listing libraries. * autogen.sh: Run automake with -a -c. * configure.ac (AC_INIT): Version updated to 0.9.4. (AM_INIT_AUTOMAKE): Likewise. (X11_XT_XAW_XMU): New variable. Set to a library list for Xaw if X11 is available. 2005-07-11 Kenichi Handa * src/otfdrive.c (OTF_drive_gsub_internal): Call OTF_get_table unconditionally. (OTF_drive_gpos): Likewise. * src/otfopen.c (read_gsub_gpos_table): Set *table->address earlier. (OTF_check_features): Set script_list and feature_list according to gsubp. Even if failed in getting features, if all requested features are negative, return 1. 2005-06-29 Kenichi Handa * example/otfview.c (get_features): Don't return "*" even if all features are being used. * src/otfdrive.c (OTF_drive_gsub_internal): Initialize positioning_type member to 0. (OTF_drive_gpos): Likewise. 2005-06-24 Kenichi Handa * src/otfopen.c (OTF_check_features): If the MSB of a feature tag is set, treat it as a negation flag. 2005-06-14 Kenichi Handa * src/otfopen.c (OTF_check_features): If gsubp is zero, check gpos scripts and features. Treat feature tag 0 as wildcard. 2005-05-26 Kenichi Handa * example/otfview.c (langsys_tag): New variable. (get_features): Check if rec->langsys and rec->features are not NULL. (update_seq_area): Delete unused var. (setup_feature_rec): Setup rec->langsys correctly. Don't allocate rec->features here. (compose_script_langsys, decompose_script_langsys): New functions. (ScriptProc): Fix handling of the arg call_data. (create_otf_script_widgets): Check all langsys. Allocate gsub.features and gpos.features here. (create_otf_widgets): Delete unused var. * example/otflist.c (print_gsub_gpos_info): Don't print superfluous space. (main): Delete unused variables. 2005-05-23 Kenichi Handa * src/otfopen.c (OTF_check_features): Fix indexing to feature_list->Feature. (OTF_tag): Handle the case that the length of NAME is short. 2005-05-21 Kenichi Handa * src/otfopen.c (OTF_get_features): If table_info doesn't have stream nor address, return -1. 2005-05-19 Kenichi Handa * src/otf.h (OTF_get_scripts, OTF_get_features, OTF_check_features): Extern them. * src/otfopen.c (enum OTF_ReaderFlag): New enum. (OTF_TableInfo): Change the prototype of the member `reader'. Caller changed. (read_head_table, read_name_table, read_cmap_table) (read_gdef_table): Adjusted for the change of OTF_TableInfo. (read_feature_list): Seek the stream at first. (read_gsub_gpos_table): Adjusted for the change of OTF_TableInfo. Pay attention to the arg `flag'. (read_gsub_table, read_gpos_table): Adjusted for the change of OTF_TableInfo. (OTF_get_table): Likewise. (OTF_get_scripts, OTF_get_features, OTF_check_features): New functions. 2005-05-13 Kenichi Handa * src/otfdrive.c (lookup_gsub): Increment `gidx' correctly in the case of GSUB_Ligature1. 2005-02-18 Kenichi Handa * src/otferror.c (error_message): Allocate it statically. (otf__error): Don't allocate error_message dynamically. (OTF_perror): Adjust for the above changes. 2005-02-17 Kenichi Handa * example/otflist.c (filter): Accept extentions ".ttc" and ".TTC". * src/otfopen.c (read_cmap_table): Delete unsed var. * src/otfdrive.c (gstring_subst): Correctly set temp.f.index. (lookup_gsub): Fix updating gidx. (gstring_subst): New arg OTF. Callers changed. (lookup_gsub): New arg OTF. Callers changed. 2004-12-27 Kenichi Handa * Version 0.9.3 released. 2004-11-19 Kenichi Handa * libotf-config: Update to version "0.9.3". * configure.ac (AC_INIT): Update to 0.9.3. (AM_INIT_AUTOMAKE): Likewise. * src/otf.h (LIBOTF_VERSION): Update to "0.9.3". (LIBOTF_RELEASE_NUMBER): Update to 3. 2004-11-09 Kenichi Handa * src/otf.h (OTF_Glyph): Delete member alternate_set. (OTF_drive_gsub_alternate): Extern it. * src/otfdrive.c (lookup_gsub): New arg alternate_subst. Callers changed. (OTF_drive_gsub_internal): Renamed from OTF_drive_gsub. (OTF_drive_gsub): Just call OTF_drive_gsub_internal. (OTF_drive_gsub_alternate): New function. * example/otfview.c (alt_subst, do_alternate_subst): New variables. (update_seq_area): If do_alternate_subst, call OTF_drive_gsub_alternate. Correctly set advance. Don't check g->alternate_set. (AltSubstProc): New function. (create_widgets): Create AltSubst widget. 2004-11-08 Kenichi Handa * example/otfview.c: Include "config.h". 2004-11-02 Kenichi Handa * example/otfview.c (MAX_FEATURE_COUNT): Delete this macro. (FeatureElement): New type. (FeatureRec): New element num_features and parent. (update_seq_area): Show alternate glyphs if any. (setup_feature_rec): (Re)allocate rec->features. Create widgets. (create_otf_widgets): Don't create widgets here. * example/otfdump.c (dump_cmap_table): Support Format 2 of cmap. * src/otfopen.c (read_cmap_table): Support Format 2 of cmap. * src/otfdrive.c (lookup_gsub): For Format 3, set OTF_Glyph->alternate_set. * src/otf.h (OTF_EncodingSubtable2): New members subHeaderCount and glyphIndexCount. (OTF_Glyph): New member alternate_set. 2004-10-27 Kenichi Handa * example/otfview.c: Pay attention to HAVE_X11_XAW_COMMAND_H. * configure.ac: Check existence of X11/Xaw/Command.h. 2004-09-03 Kenichi Handa * src/otfdrive.c (GSTRING_INSERT): Fix size of reallocating memory. (lookup_gpos): For LooupType 5, fix finding a base/ligature glyph. * example/otfview.c (update_seq_area): Use malloc and free for gstring.glyphs. 2004-08-13 Kenichi Handa * Version 0.9.2 released. 2004-08-13 Kenichi Handa * src/otfdrive.c (IGNORED_GLYPH): Fix checking of MarkAttachClass. * configure.ac: Updated to 0.9.2. * src/otf.h (LIBOTF_VERSION): Updated to 0.9.2. (LIBOTF_RELEASE_NUMBER): Updated to 2. 2004-08-09 Kenichi Handa * Version 0.9.1 released. 2004-08-09 Kenichi Handa * src/otfdrive.c (setup_lookup_indices): Fix handling of "*" in features. * example/otfview.c (update_seq_area): Call OTF_drive_gdef only when otf is not NULL. 2004-08-07 Kenichi Handa * example/otfview.c (FeatureProc): Highlight selected features by changing border width, not by changing fore and back color. (setup_feature_rec): Setup internal height and width of widgets. (create_otf_widgets): Likewise. * src/otfdrive.c (IGNORED_GLYPH): New macro. (gstring_subst, match_ids, match_chain_ids, match_classes) (match_chain_classes, match_coverages, match_chain_coverages): use IGNORED_GLYPH. (lookup_gsub): Likewise. Include OTF_MarkAttachmentType in flag. (lookup_gpos): Likewise. 2004-08-06 Kenichi Handa * src/otfdrive.c (lookup_gsub): Fix handling of Extension lookup. (lookup_gpos): Support Extension lookup. (gstring_subst): Fix previous change. 2004-08-05 Kenichi Handa * src/otf.h (enum OTF_LookupFlagBit): Fix OTF_IgnoreMarks. * example/otfview.c (update_seq_area): Fix sign of yoff. Support more positioning_type. * example/otfdump.c (dump_lookup_subtable_gpos): Add support for LookupType 5. * src/otfopen.c (read_ligature_attach): Fix for the case that an offset is NULL. * src/otfdrive.c (lookup_gpos): Add support for LookupType 5. Fix handling of flag. (gstring_subst): Fix previous change. 2004-08-04 Kenichi Handa * example/otfview.c (bidi, reversed): New variables. (update_seq_area): Call OTF_drive_gdef. If reversed is nonzero, reorder glyphs properly. Create pixmap if necessary. Handle OTF_XAdvance and OTF_XAdvDevice. (BidiProc): New function. (create_widgets): Setup bidi. * src/otfdrive.c (gstring_subst): New arg flag. Caller changed. Ignore glyphs specified in flag. (match_ids, match_classes, match_coverages): Likewise. (match_chain_ids, match_chain_classes, match_chain_coverages): New arg flag. (lookup_gsub): Fix handling of LookupFlag. (lookup_gpos): Likewise. Support more LookupType. * src/otf.h (OTF_LookupFlagIgnoreMask): New macro. 2004-07-29 Kenichi Handa * example/otfview.c (create_widgets): Fix width of index glyphs.. 2004-07-26 Kenichi Handa * src/otfopen.c (read_value_record): Fix typo. * src/otfdrive.c (lookup_gpos): Don't apply a GPOS feature twice. (OTF_drive_gpos): Initialize values positioning_type memeber. (OTF_drive_gsub): Fix previous change. 2004-07-24 Kenichi Handa * src/otfdrive.c (gstring_subst): Set `c' and `f.index' of OTF_Glyph. (OTF_drive_gsub): Iniialize f.index member of OTF_Glhph. * src/otf.h (OTF_Glyph): New union member u.index. 2004-07-23 Kenichi Handa * example/otfview.c: Big change to implement selection of script. 2004-07-12 Kenichi Handa * example/otfview.c: Big change to implement driving OpenType tables (GSUB and GPOS). * src/otfdrive.c (get_langsys): If script is NULL, use the first one in script_list. 2004-07-09 Kenichi Handa * src/otfdrive.c (lookup_gpos): Ignore glyphs whose ID is 0 (fix for the case of LookupType 2). 2004-07-08 Kenichi Handa * src/otfopen.c (read_class_set_list): Allocate the array *set by OTF_CALLOC. 2004-07-07 Kenichi Handa * src/otfdrive.c (lookup_gsub): For LookupType 5 Subformat 2, if ClassSet is not defined, do nothing. 2004-06-29 Kenichi Handa * src/otfdrive.c (lookup_gsub): Fix handling of lookup type 6 format 3. 2004-05-28 Kenichi Handa * example/otflist.c: Include and "config.h". (next_file): New function. (main): Call next_file. * configure.ac: Check functions scandir and alphasort. 2004-05-06 Kenichi Handa * example/otftobdf.c (registry): New variable. (dump_header): Include registry in the font name. (main): Handle the encoding arg of the format M-N. Without this arg, generate a font with raw-encoding. * src/otfdrive.c: Include "config.h". Delete '//' style comments. (lookup_encoding_0, lookup_encoding_2, lookup_encoding_4) (lookup_encoding_6, lookup_encoding_8, lookup_encoding_10) (lookup_encoding_12, OTF_drive_cmap2): New functions. * src/otfopen.c (read_name): Argument changed. Set OTF_NameRecord->ascii. If possible, convert Unicode sequence to ASCII. (read_name_table): Adjusted for the change of read_name. (read_cmap_table): Signal an error (not-yet-supported) if format is 2. Support for formats, 8, 10, 12. (read_value_record): Clear value_record at first. (read_lookup_subtable_gpos): Fix for the case subFormat is 1 and 2. (OTF_open): Check file name extension. * example/otflist.c: Include . (FATAL_ERROR): New macro. (print_tag, print_gsub_gpos_info, help_and_exit): New functions. (main): Handle -h, --help, -l args. Prefer family/style names extracted by the otf library. 2004-03-30 Kenichi Handa * src/otfopen.c (read_value_record): Clear value_record at first. (read_lookup_subtable_gpos): For Lookup Type 1, read Coverage at first. 2004-03-29 Kenichi Handa * example/otfdump.c (dump_lookup_subtable_gsub): For Lookup Type 7, fix arg to dump_lookup_subtable_gsub. (dump_lookup_subtable_gpos): Support Lookup Type 9. * autogen.sh: Run automake after autoheader. * src/otfopen.c (OTF_close): Free otf->filename. 2004-02-01 Kenichi Handa * Version 0.9 released. Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 National Institute of Advanced Industrial Science and Technology (AIST) Registration Number H15PRO112 This file is part of the m17n library. The m17n library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The m17n library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the m17n library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.