*** empty log message ***
[m17n/libotf.git] / ChangeLog
index 3b12e57..4a827ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,453 @@
+2012-04-27  Kenichi Handa  <handa@m17n.org>
+
+       * Version 0.9.13 released.
+
+       * configure.ac: Change versions to 0.9.13.
+
+2012-04-23  Kenichi Handa  <handa@m17n.org>
+
+       * src/otfdrive.c (get_class_def_auto): Return 0 if C is negative.
+
+2011-02-11  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <pipping.elias@googlemail.com>  (tiny change)
+
+       * example/Makefile.am (bin_PROGRAMS): Add otfview conditionally.
+
+       * configure.ac: Add AM_CONDITIONAL for X11_UNAVAILABLE.
+
+2010-10-04  Kenichi Handa  <handa@m17n.org>
+
+       * Version 0.9.12 released.
+
+2010-09-22  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <martin.gieseking@uos.de>  (tiny change)
+
+       * example/otftobdf.c (main): Fix checking number of arguments.
+
+2010-09-10  Kenichi Handa  <handa@m17n.org>
+
+       * src/otfopen.c (OTF_check_features): If LANGUAGE is specified but
+       not found in a font, return 0.
+
+2010-05-18  Kenichi Handa  <handa@m17n.org>
+
+       * example/otfview.c (create_otf_script_widgets): Create a box
+       widget for each script in a limited-width box.
+
+2010-04-21  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * configure.ac: Versions changed to 0.9.11.
+
+2010-03-23  Kenichi Handa  <handa@m17n.org>
+
+       * src/Makefile.am (libotf_la_SOURCES): Include internal.h.
+
+2010-03-19  Kenichi Handa  <handa@m17n.org>
+
+       * src/Makefile.am (libotf_la_SOURCES): Exclude otferror.h.
+
+       * configure.ac: Versions changed to 0.9.11pre.
+
+2010-01-22  Kenichi Handa  <handa@m17n.org>
+
+       * src/otfdrive.c (lookup_gsub): Change the meaning of the arg
+       alternate_subst.
+
+2009-12-17  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * src/otfdrive.c (OTF_drive_gsub_internal): Fix previous change.
+       (OTF_drive_gpos_internal): Likewise.
+
+2009-11-27  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * src/otfdrive.c (get_anchor): Delete it.
+       (get_class_def_auto): Make it static.
+
+2009-11-07  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * Version 0.9.10 released.
+
+2009-08-13  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * example/otfview.c (update_seq_area): Drive features of the
+       correct script and langsys.
+
+2009-03-03  Kenichi Handa  <handa@m17n.org>
+
+       * Version 0.9.9 released.
+
+2009-03-03  Kenichi Handa  <handa@m17n.org>
+
+       * src/otf.h (LIBOTF_VERSION): Changed to "0.9.9".
+       (LIBOTF_RELEASE_NUMBER): Changed to 9.
+
+2009-03-02  Kenichi Handa  <handa@m17n.org>
+
+       * configure.ac: Versions changed to 0.9.9.
+
+2009-02-26  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * src/otfdrive.c (check_cmap_uvs): Update the member
+       MGlyph.f.index.to.
+
+2008-12-29  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * src/otfdrive.c (get_uvs_glyph): Complete the code.
+
+2008-12-23  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <zamecnik@ui42.sk>  (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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * Version 0.9.8 released.
+
+2008-06-29  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <handa@ni.aist.go.jp>
+
+       * Version 0.9.7 released.
+
+2007-12-28  Kenichi Handa  <handa@ni.aist.go.jp>
+
+       * configure.ac: Versions changed to 0.9.7.
+
+2007-12-20  Kenichi Handa  <handa@ni.aist.go.jp>
+
+       * src/otfdrive.c (gstring_subst): If a glyph is changed, set the
+       character code to 0, and update GlyphClass.
+
+2007-10-29  Kenichi Handa  <handa@m17n.org>
+
+       * example/otfdump.c (dump_chain_class_set_list): Ignore an element
+       whose offset is zero.
+
+2007-09-06  Kenichi Handa  <handa@m17n.org>
+
+       * src/otfdrive.c (lookup_gpos): Ignore mark glyphs while
+       processing GPOS_MarkBase1.
+
+2007-08-17  Kenichi Handa  <handa@m17n.org>
+
+       * src/otfdrive.c (lookup_gpos): Fix handling of IGNORED_GLYPH.
+
 2007-08-06  Kenichi Handa  <handa@m17n.org>
 
        * src/otfdrive.c (gstring_subst): If otf->cmap is NULL, set
 2005-11-22  Kenichi Handa  <handa@m17n.org>
 
        * example/otfview.c (main) [! HAVE_X11_XAW_COMMAND_H]: Fix args to
-       fpintf.
+       fprintf.
 
        * configure.ac: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER.
 
        * Version 0.9 released.
 
 \f
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
   National Institute of Advanced Industrial Science and Technology (AIST)
   Registration Number H15PRO112