Commit Graph

9831 Commits

Author SHA1 Message Date
Behdad Esfahbod f8ba99f6f3 LookupFlags 2006-12-25 09:58:02 -05:00
Behdad Esfahbod 25ad92c8a6 Implement Feature 2006-12-25 09:35:06 -05:00
Behdad Esfahbod befc022aff LangSys 2006-12-25 09:14:52 -05:00
Behdad Esfahbod c81efca149 Use CamelCaseTags. 2006-12-25 06:22:08 -05:00
Behdad Esfahbod 808dbe283c Make types not instantiable 2006-12-25 06:18:52 -05:00
Behdad Esfahbod b739c05ca4 Add OpenTypeFontFile. 2006-12-25 05:39:20 -05:00
Behdad Esfahbod 8596944b74 Add Makefile 2006-12-23 17:49:25 -05:00
Behdad Esfahbod b6e62bc5db After DEFINE_SCRIPT_ARRAY 2006-12-22 02:21:55 -05:00
Behdad Esfahbod 01e4fcb032 Remove the annoying HB_ prefix. 2006-12-21 22:31:31 -05:00
Behdad Esfahbod 6b4ce01da1 Second version. Complete redesign, based on C++ classes to ensure endian
correctness.
2006-12-21 22:31:10 -05:00
Behdad Esfahbod f78e70c301 First version. 2006-12-21 22:30:38 -05:00
Behdad Esfahbod f726b20e56 Bug 347073 – Allow empty GPOS table
2006-07-24  Behdad Esfahbod  <behdad@gnome.org>

        Bug 347073 – Allow empty GPOS table

        * pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList): Don't
        err on empty GPOS/GSUB tables.
2006-07-25 01:02:27 +00:00
Behdad Esfahbod 52481a5c55 Bug 345600 – cvs build error in pango/opentype/Makefile
2006-06-22  Behdad Esfahbod  <behdad@gnome.org>

        Bug 345600 – cvs build error in pango/opentype/Makefile

        * pango/opentype/Makefile.am: Rename variable SOURCES to MAINSOURCES.
        Some automake versions seem to use it or something.
2006-06-22 18:09:04 +00:00
Behdad Esfahbod ffb2d5c1e7 Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
2006-05-31  Behdad Esfahbod  <behdad@gnome.org>

        Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
        and have many cpu usage.
        Patch from Yong Li.

        * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): TrueType table
        offsets are absolute, not relative.
2006-05-31 07:42:55 +00:00
Behdad Esfahbod f8f7bd2451 Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct when
2006-05-31  Behdad Esfahbod  <behdad@gnome.org>

        Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
        when using MarkAttchmentType
        Patch from Tin Myo Htet.

        * pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): Ignore marks
        of non-matchin attachment type.
2006-05-31 07:23:02 +00:00
Behdad Esfahbod d2a613187c Fix loop variables. (coverity found bug.)
2006-04-12  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c: Fix loop variables. (coverity
        found bug.)
2006-04-12 18:47:50 +00:00
Behdad Esfahbod 14022e826f Bug 337924 – cleanups for issues reported by various compilers Patch
2006-04-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 337924 – cleanups for issues reported by various compilers
        Patch from Kjartan Maraas.

        * examples/viewer-x.c (update):
        * modules/arabic/arabic-fc.c (fallback_shape),
        (arabic_engine_shape):
        * modules/basic/basic-fc.c (fallback_shape), (basic_engine_shape):
        * modules/basic/basic-x.c:
        * modules/hangul/hangul-fc.c:
        * modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
        * modules/indic/indic-fc.c:
        * modules/khmer/khmer-fc.c:
        * modules/syriac/syriac-fc.c:
        * modules/thai/thai-fc.c:
        * modules/tibetan/tibetan-fc.c:
        * pango/break.c:
        * pango/modules.c:
        * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table):
        * pango/pango-attributes.c (pango_attr_list_filter):
        * pango/pango-engine.c:
        * pango/pango-fontset.c:
        * pango/pango-layout.c (pango_layout_set_text),
        (pango_layout_xy_to_index), (pango_layout_get_cursor_pos):
        * pango/pango-markup.c (text_handler):
        * pango/pango-utils.c (read_alias_file):
        * pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE):
        * pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE):
        * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
        * pango/pangox-fontmap.c (pango_x_make_matching_xlfd):
        * tests/dump-boundaries.c (fail):
        Remove unused variables.  Remove excess semicolon after DEFINE_TYPE
        macros.
2006-04-11 08:31:44 +00:00
Behdad Esfahbod 59aafd0780 Fix minor bugs reported by the Coverity scan report.
2006-04-10  Behdad Esfahbod  <behdad@gnome.org>

        Fix minor bugs reported by the Coverity scan report.

        * pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition):
        * pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts),
        (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access
        structs before we check them for nullity.

        * pango/pango-layout.c (pango_layout_index_to_line),
        (pango_layout_index_to_line_and_extents),
        (pango_layout_index_to_pos): Check for invalid iterators outside the
        loop, so we don't crash.

        * pango/pango-layout.c (pango_layout_line_x_to_index): Set
        char_trailing instead of trailing in one of too many paths.  Should
        have been a typo.

        * pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity
        somewhere.
2006-04-10 10:33:17 +00:00
Behdad Esfahbod b31d6def96 Update from HarfBuzz. Lars Knoll fixed all the warnings.
2006-04-06  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype: Update from HarfBuzz.  Lars Knoll fixed all the
        warnings.
2006-04-06 18:23:49 +00:00
Behdad Esfahbod ca57250bc9 Make sure TTAG_GDEF and frineds are defined, needed for FreeType <= 2.1.7
2006-04-03  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and frineds are
        defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik).
2006-04-03 20:13:17 +00:00
Behdad Esfahbod f618288e00 . 2006-03-31 13:19:29 +00:00
Behdad Esfahbod 5f1f943b9e . 2006-03-31 13:18:23 +00:00
Behdad Esfahbod bce3e0b0d4 Define NULL. 2006-03-31 12:45:40 +00:00
Behdad Esfahbod 9f8da38cd1 Convert pango/opentype to the new project called HarfBuzz.
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        Convert pango/opentype to the new project called HarfBuzz.

        * pango/opentype/*: Restructured.

        * pango/pango-ot-*: Updated to use HarfBuzz symbol names.
2006-03-31 12:28:09 +00:00
Behdad Esfahbod dd2a8d4d49 Don't err on Table_Missing.
2006-03-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ottest.c: Don't err on Table_Missing.
2006-03-25 23:52:30 +00:00
Behdad Esfahbod 434833b1b7 === Released 1.12.0 ===
2006-03-13  Behdad Esfahbod  <behdad@gnome.org>

        * === Released 1.12.0 ===

        * configure.in: Version 1.12.0

        * NEWS, README: Updated.
2006-03-13 05:06:05 +00:00
Behdad Esfahbod 8228828e1e Handle GSUB Lookup type 8, and ReverseChainContextualSubst table. (bug
2006-01-30  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ftxgsub.c: Handle GSUB Lookup type 8,
        and ReverseChainContextualSubst table.  (bug #149696,
        patch from Aamir Wali)
2006-01-30 22:37:48 +00:00
Behdad Esfahbod e040f68196 Removed.
2006-01-28  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/pango-ot-*: Removed.

        * pango/pango-ot-*: Added.

        * pango/Makefile.am, pango/opentype/Makefile.am: Adjusted.
2006-01-28 20:29:18 +00:00
Behdad Esfahbod f45689bc65 If major.minor of required and available glib versions are the same, add
2006-01-25  Behdad Esfahbod  <behdad@gnome.org>

        * configure.in: If major.minor of required and available glib versions
        are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)

        * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-25 19:33:58 +00:00
Behdad Esfahbod 6cc6c9a57c Make sure #include <config.h> is the first include in the file. (bug
2006-01-14  Behdad Esfahbod  <behdad@gnome.org>

        * */*.c, */*/*.c: Make sure #include <config.h> is the first include
        in the file. (bug #158870, based on patch by Luis Menina)
2006-01-14 07:00:13 +00:00
Behdad Esfahbod ca07fcf6ef pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,
2006-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * pango/Makefile.am,
        * pango/fonts.c,
        * pango/glyphstring.c,
        * pango/pango-attributes.c,
        * pango/pango-color.c,
        * pango/pango-impl-utils.h,
        * pango/pango-item.c,
        * pango/pango-layout.c,
        * pango/pango-tabs.c,
        * pango/pango-utils.c,
        * pango/pango-utils.h,
        * pango/pangoatsui-fontmap.c,
        * pango/pangocairo-font.c,
        * pango/pangocairo-fontmap.c,
        * pango/pangofc-fontmap.c,
        * pango/pangowin32-fontmap.c,
        * pango/pangox-fontmap.c,
        * pango/pangox.c,
        * pango/opentype/pango-ot-info.c,
        * pango/opentype/pango-ot-ruleset.c: Intern strings to avoid
        unnecessary strdups in the type system. (bug #325832, Matthias Clasen)
2006-01-05 16:14:49 +00:00
Behdad Esfahbod 71524f1bc8 Use g_slice for PangoOTBuffer allocation. (bug #325026, Matthias Clasen)
2005-12-27  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/pango-ot-buffer.c: Use g_slice for PangoOTBuffer
        allocation. (bug #325026, Matthias Clasen)
2005-12-27 09:55:48 +00:00
Behdad Esfahbod b5baa43d3a Tiny doc improvement. 2005-11-25 09:22:02 +00:00
Behdad Esfahbod 6f64314f7a Fix typo in docs.
2005-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentyp/pango-ot-buffer.c: Fix typo in docs.
2005-11-23 19:48:10 +00:00
Behdad Esfahbod f2bcf72296 Added "Since:" tags to all interfaces added after Pango 1.0. (#319116,
2005-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * pango/fonts.c pango/pango-attributes.c pango/pango-context.c
        pango/pango-glyph-item.c pango/pango-layout.c
        pango/pango-script.c pango/pango-utils.c pango/pangofc-font.c
        pango/pangoft2-fontmap.c pango/opentype/pango-ot-buffer.c
        pango/opentype/pango-ot-ruleset.c: Added "Since:" tags to all
        interfaces added after Pango 1.0. (#319116, Brian Cameron)
2005-11-23 17:54:55 +00:00
Behdad Esfahbod 682db81c23 Protect against possible division by zeros (#316468, Steve Grubb)
2005-11-23  Behdad Esfahbod  <behdad@gnome.org>

        Protect against possible division by zeros (#316468, Steve Grubb)

        * pango/pango-context.c (update_metrics_from_items),
        pango/pango-fontset.c (pango_fontset_real_get_metrics): If count is
        zero, do not alter approximate_{char,digit}_width.

        * pango/opentype/disasm.c: Err on invalid DeltaFormat.
2005-11-23 15:19:48 +00:00
Behdad Esfahbod e6e15352d1 Reworked basic shaper with OpenType support. (#101079, based on patch from
2005-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * modules/basic/basic-fc.c: Reworked basic shaper with OpenType
        support. (#101079, based on patch from Denis Jacquerye and Noah Levitt)

        * modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition
        script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script.

        * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace
        g_utf8_to_ucs4_fast() with g_utf8_strlen()!

        * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature):
        Remove reference in docs to pango_ot_ruleset_shape() that was
        removed long ago.
2005-11-23 11:53:03 +00:00
Behdad Esfahbod 612b6cf609 Part of #101079:
2005-11-17  Behdad Esfahbod  <behdad@gnome.org>

        Part of #101079:

        * pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
        offset is relative to the extension subtable, not the original
        table. (Greg Aumann)

        * pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
        skip offsets that are zero.  Works around bug in Doulos SIL Regular.
2005-11-17 06:28:11 +00:00
Behdad Esfahbod 1b2c314b80 Remove debug line that got in accidentally.
2005-11-09  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c:  Remove debug
        line that got in accidentally.
2005-11-09 23:30:00 +00:00
Behdad Esfahbod 9717127a5b Turn various gcc warnings off. Adding const, adding static, fully
2005-11-04  Behdad Esfahbod  <behdad@gnome.org>

        * configure.in, examples/argcontext.c examples/cairoview.c,
        examples/renderdemo.c, examples/renderdemo.h examples/xftview.c,
        modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
        modules/hebrew/hebrew-shaper.c, modules/hebrew/hebrew-shaper.h,
        modules/indic/indic-fc.c, modules/indic/mprefixups.c,
        modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c,
        pango/modules.c, pango/pango-coverage.c pango/pango-engine.c,
        pango/pango-engine.h, pango/pango-fontmap.c,
        pango/pango-fontset.c, pango/pango-impl-utils.h,
        pango/pango-layout.c, pango/pango-layout.h,
        pango/pango-renderer.c, pango/pango-script.c,
        pango/pango-utils.c, pango/pangocairo-fc.h,
        pango/pangocairo-font.c, pango/pangocairo-fontmap.c,
        pango/pangocairo-private.h, pango/pangofc-decoder.c,
        pango/pangofc-font.c, pango/pangofc-fontmap.c pango/pangoft2.c,
        pango/pangox-fontcache.c, pango/pangox-fontmap.c pango/pangox.c,
        pango/pangoxft-font.c, pango/querymodules.c,
        pango/opentype/ftglue.c, pango/opentype/ftxgpos.c,
        pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c,
        pango/opentype/pango-ot-info.c,
        pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c,
        tests/testboundaries.c, tests/testcolor.c tests/testiter.c,
        tests/testscript.c: Turn various gcc warnings off. Adding const,
        adding static, fully initializing structs, match signedness in
        comparisons. (#317804)

        * tests/testscript.c, tools/gen-script-for-lang.c:
        (scripts_for_file): Pass error->message instead of error to fail(),
        which was wrong.
        (compare_lang): Fix typo comparing a and a instead of a and b.
2005-11-04 23:55:38 +00:00
Behdad Esfahbod c0505f3bb2 Patches from #170414. Reviewed by Matthias Clasen.
2005-11-03  Behdad Esfahbod  <behdad@gnome.org>

        Patches from #170414.  Reviewed by Matthias Clasen.

        * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table
        to dispatch different lookup types.

        * pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c:
        Small cleanup.
2005-11-03 20:13:40 +00:00
Behdad Esfahbod c6b22b9119 Generate valid XML output. Dump LookupFlag too.
2005-08-29  Behdad Esfahbod  <pango@behdad.org>

        * pango/opentype/ottest.c, pango/opentype/disasm.c: Generate valid
        XML output.  Dump LookupFlag too.
2005-08-29 10:06:40 +00:00
Behdad Esfahbod 1e3747ca5d Replace perror with perror_. Remove FT_BEGIN_STMNT and FT_END_STMNT.
2005-08-15  Behdad Esfahbod  <pango@behdad.org>

        * pango/opentype/ftglue.h: Replace perror with perror_.
        Remove FT_BEGIN_STMNT and FT_END_STMNT. (#313477)
2005-08-15 04:16:04 +00:00
Owen Taylor 3c60250875 Skip lookups with lookup index out of range. (Patch from Behdad Esfahbod,
2005-07-26    Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups
        with lookup index out of range. (Patch from Behdad Esfahbod, #171170)
2005-07-26 18:33:27 +00:00
Owen Taylor 91a3fa2e4b Remove an unecessary set of block2.
2005-07-22  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftglue.c (ftglue_realloc): Remove
        an unecessary set of block2.
2005-07-22 18:03:58 +00:00
Owen Taylor ff7034787d Patch from David Turner. Review and testing by Behdad Esfahbod
2005-07-22  Owen Taylor  <otaylor@redhat.com>

        Patch from David Turner. Review and testing by Behdad Esfahbod

        * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
        implementation of the internal functions that the opentype code
        expects in terms of publically exported FreeType API.

        * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
        pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
        pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
        pango/opentype/pango-ot-ruleset.c: Remove includes of
        internal headers. Small changes to work with ftglue.[ch]

        * pango/opentype/fterrcompat.h: Remove: no longer needed.

        * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
        than poking at FT_MODULE_CLASS (face->driver)->module_name.

        * pango/opentype/ftxopen.c (Free_FeatureList): Free
        fl->ApplyOrder. (Found by Behdad)
2005-07-22 17:56:37 +00:00
Owen Taylor 43dbec6f3a Fix up places where there is missing or incomplete Copyright and License
2005-07-21  Owen Taylor  <otaylor@redhat.com>

        Fix up places where there is missing or incomplete
        Copyright and License information (Reported by William N. Ray)

        * pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed.

        * pango/opentype/FT-license.txt: Make this the dual-licensing
        description that covers the FreeType code (FreeType's
        LICENSE.TXT) rather than the FTL.

        * pango/opentype/FTL.TXT: Move the FTL (referenced from
        FT-license.txt) to here.

        * modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h
        modules/thai/thai-charprop.c modules/thai/thai-shaper.h
        tools/gen-script-for-lang.c tests/testcolor.c:
        Add LGPL header and copyright information.

        * modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c
        modules/thai/thai-ot.[ch]: Add LGPL header.

        * modules/thai/thai-shaper.c modules/thai/thai-charprop.h:
        Minor fixes to copyright information.

        * modules/arabic/arabic-ot.c: Add Freetype license boilerplate.
2005-07-21 18:15:45 +00:00
Owen Taylor c55850d36d Chain up from finalize. (#307547, Paolo Borelli)
2005-06-14  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
        pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
        Chain up from finalize. (#307547, Paolo Borelli)

        * pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
        make accidentally public function static.
2005-06-14 19:54:19 +00:00
Tor Lillqvist 44ff46a364 Rename LDADDS to libpango_ot_la_LIBADD to actually make libpango-ot.la
2005-04-12  Tor Lillqvist  <tml@novell.com>

	* pango/opentype/Makefile.am: Rename LDADDS to
	libpango_ot_la_LIBADD to actually make libpango-ot.la link with
	it.

	* pango/pangowin32.def: Rename get_scale_factor to
	get_metrics_factor here, too. (#300222, Ivan Wong)
2005-04-12 01:27:21 +00:00
Owen Taylor 0c349a032e For all binary searches, handle the case where the number of items is 0.
2005-03-03  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxopen.c (Coverage_Index1, Coverage_Index2,
        Get_Class2): For all binary searches, handle the case where
        the number of items is 0. (#162977, Nick Lamb)

        * pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
        Handle the case where glyph_count == 0 properly. Fix a problem
        with cleanups on memory allocation failure.
        (Get_New_Count, Add_Glyph_Property): Avoid reading off the
        end of the ClassRangeRecord array.
2005-03-03 19:38:02 +00:00