Commit Graph

7904 Commits

Author SHA1 Message Date
Behdad Esfahbod
6f425b1179 [GDEF] Finish internal API 2008-01-24 19:39:49 -05:00
Behdad Esfahbod
590d55cbb9 [GDEF] Finish public API 2008-01-24 19:15:35 -05:00
Behdad Esfahbod
aff831ed67 Implement glyph properties 2008-01-24 06:03:45 -05:00
Behdad Esfahbod
ead428d7a0 More public api 2008-01-24 04:09:46 -05:00
Behdad Esfahbod
fd92a3dde3 Starting public interface 2008-01-24 03:36:11 -05:00
Behdad Esfahbod
7d6b95b000 Remove unused macro 2008-01-24 04:42:24 +00:00
Behdad Esfahbod
7586089c6f Minor 2008-01-23 18:02:28 -05:00
Behdad Esfahbod
aefaafe5bc Minor renaming 2008-01-23 17:25:29 -05:00
Behdad Esfahbod
a16ecbf056 Initial gsub stub 2008-01-23 17:01:55 -05:00
Behdad Esfahbod
64aef3a549 Add copyright notices. 2008-01-23 16:14:38 -05:00
Behdad Esfahbod
12360f7c15 Minor cleanup, add LIKELY and UNLIKELY annotations 2008-01-23 15:50:38 -05:00
Behdad Esfahbod
8dd1c8b8d6 Clean up file names, add namespace 2008-01-23 05:02:14 -05:00
Behdad Esfahbod
1f437e6f47 Make all code NULL-free and assert-free 2008-01-23 04:55:38 -05:00
Behdad Esfahbod
600e5eb80f Define get_for_data() factories 2008-01-23 02:01:37 -05:00
Behdad Esfahbod
b9d7688fb3 Finish and test GDEF 2008-01-23 01:38:10 -05:00
Behdad Esfahbod
303fe62824 Misc cleanup 2008-01-23 00:20:48 -05:00
Behdad Esfahbod
17843245fd Remove COPYING.GPL and COPYING.FTL that are no longer there.
2008-01-16  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
        are no longer there.
2008-01-16 20:39:29 +00:00
Behdad Esfahbod
a2a9a023f6 HarfBuzz was relicensed to a more generous and simpler license. Adapt. See
2008-01-15  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*:
        HarfBuzz was relicensed to a more generous and simpler license.
        Adapt.  See pango/opentype/COPYING for the new license which is
        LGPL-compatible.
2008-01-15 22:46:32 +00:00
Behdad Esfahbod
4ccedd22ea Bug 501575 – Compile errors Patch from Jens Granseuer
2007-12-04  Behdad Esfahbod  <behdad@gnome.org>

        Bug 501575 – Compile errors
        Patch from Jens Granseuer

        * pango/opentype/harfbuzz-stream.c (_hb_font_goto_table):
        * pango/pango-utils.c (handle_alias_line):
        Fix C99ism.
2007-12-05 03:41:29 +00:00
Behdad Esfahbod
cd55cfa2b0 Undo accidental change. 2007-11-30 04:31:29 +00:00
Behdad Esfahbod
3f05da638c Bug 485536 – underline_position can be zero
2007-11-29  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485536 – underline_position can be zero

        * pango/pango-utils.c (pango_cairo_quantize_line_geometry):
        Document that returned position may be zero.

        * pango/pangocairo-win32font.c
        (pango_cairo_win32_font_create_metrics_for_context):
        * pango/pangofc-font.c (get_face_metrics):
        Handle case of underline_position==0 after rounding.
2007-11-30 04:29:58 +00:00
Behdad Esfahbod
e58278fedb Remove unused macro.
2007-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.c: Remove unused macro.
2007-11-24 01:40:13 +00:00
Behdad Esfahbod
3b047380ae Minor 2007-11-18 22:34:08 +00:00
Behdad Esfahbod
10d6a25a26 Remove dead code. 2007-11-07 10:04:11 +00:00
Behdad Esfahbod
47d2c33e3d And some more.
2007-11-07  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: And some more.
2007-11-07 09:59:18 +00:00
Behdad Esfahbod
78ef65ba08 Some more cleanup and merging.
2007-11-07  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Some more cleanup and merging.
2007-11-07 08:06:01 +00:00
Behdad Esfahbod
5c9bd37995 Fix typo. 2007-10-29 23:51:48 +00:00
Behdad Esfahbod
ef1f481752 Even more cleanup and more type renames.
2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Even more cleanup and more type renames.
2007-10-25 23:37:11 +00:00
Behdad Esfahbod
282c60a0ee More cleanup, remove redundant error types.
2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: More cleanup, remove redundant error types.
2007-10-25 23:22:17 +00:00
Behdad Esfahbod
4280ec4df4 Rename ftglue.c to harfbuzz-impl.c and more type renames and moving code
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
        type renames and moving code around.
2007-10-25 00:23:46 +00:00
Behdad Esfahbod
5716ae278a New header file harfbuzz-global.h. Rename FT_* int types to HB_* types.
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: New header file harfbuzz-global.h.  Rename
        FT_* int types to HB_* types.
2007-10-24 22:44:47 +00:00
Behdad Esfahbod
2130d852c7 Add commented-out dummy struct for Extension lookups.
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos-private.h:
        * pango/opentype/harfbuzz-gsub-private.h:
        Add commented-out dummy struct for Extension lookups.
2007-10-24 21:35:03 +00:00
Behdad Esfahbod
13b2b96384 Bug 488840 – harfbuzz: protect against ligid overflow
2007-10-21  Behdad Esfahbod  <behdad@gnome.org>

        Bug 488840 – harfbuzz: protect against ligid overflow

        * pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
        Never return zero, even in case of overflow.

        * pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
        HB_UNLIKELY(), to be filled later.
2007-10-21 18:17:02 +00:00
Behdad Esfahbod
6b347138b5 Mark internal symbols as HB_INTERNAL and define that to static in
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Mark internal symbols as HB_INTERNAL and
        define that to static in harfbuzz.c.

        * pango/opentype/harfbuzz-buffer-internal.h: New file.
2007-10-11 08:30:50 +00:00
Behdad Esfahbod
7cdfb61dee Remove FTGLUE_API/APIDEF cruft.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
2007-10-11 07:46:33 +00:00
Behdad Esfahbod
61ddbafaaa Build harfbuzz.c instead of individual source files, to let compiler go
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
        source files, to let compiler go wild with optimizations!
2007-10-11 07:45:26 +00:00
Behdad Esfahbod
a219b3d003 Same here.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz.c: Same here.
2007-10-11 07:34:08 +00:00
Behdad Esfahbod
6567e16e3b Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just used by
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
        libharfbuzz.a.  Those are just used by the harfbuzz-dump tool.
2007-10-11 07:33:19 +00:00
Behdad Esfahbod
0b032549ba Some more cleanup.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.c: Some more cleanup.
2007-10-11 07:24:47 +00:00
Behdad Esfahbod
7a26864308 Move some code around.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.c: Move some code around.
2007-10-11 07:21:31 +00:00
Behdad Esfahbod
7a5405c826 Minor. 2007-10-11 07:15:16 +00:00
Behdad Esfahbod
986f4fd968 Rename buffer->inplace to buffer->separate_out with the inverted meaning,
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
        buffer->separate_out with the inverted meaning, such that buffer
        is initialization is memset(0).
2007-10-11 07:12:49 +00:00
Behdad Esfahbod
06003908cc Allocate buffer->positions lazily.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Allocate buffer->positions lazily.
2007-10-11 07:05:09 +00:00
Behdad Esfahbod
fc3d6f5758 Bug 485621 – Get rid of freetype memory allocator in harfbuzz
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485621 – Get rid of freetype memory allocator in harfbuzz

        * pango/opentype/*: Remove all occurences of FT_Memory.  Use
        malloc/realloc/free directly.

        * pango/pango-ot*: Update to above.
2007-10-11 06:52:07 +00:00
Behdad Esfahbod
a8abb8b994 Bug 485559 – Boston Summit HarfBuzz optimizations
2007-10-10  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485559 – Boston Summit HarfBuzz optimizations

        * pango/opentype/*: HarfBuzz hacking to:

          - Rename last remaining FT_Err stuff to HB_Err.

          - Fix a couple invalid table paths to be permissive so
            fonts work better.  Particularly GDEF table for Nafees
            Nastaliq is loaded and works great now.

          - Optimize harfbuzz buffer to not copy/swap for simple
          one-to-one and "copy" GSUB operations.

        * pango/pango-ot*: Update to FT_Err to HB_Err renaming.
2007-10-11 00:07:58 +00:00
Behdad Esfahbod
dd810b76bc Bug 302952 – The placement of a diacritic marks for an arabic ligature
2007-08-29  Behdad Esfahbod  <behdad@gnome.org>

        Bug 302952 – The placement of a diacritic marks for an arabic ligature
        is not correct

        * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
        use zero as allocated ligature id.  Zero means no ligature id.
2007-08-29 08:46:50 +00:00
Behdad Esfahbod
e90d199194 Bug 463430 – Gets stuck while "formatting message"
2007-08-21  Behdad Esfahbod  <behdad@gnome.org>

        Bug 463430 – Gets stuck while "formatting message"

        * pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
        (Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
        * pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
        Change type of intermediate index variable from FT_UShort to
        FT_ULong as it was overlowing with more than 65536 glyphs.
2007-08-21 08:03:26 +00:00
Behdad Esfahbod
13b86ee398 Don't ignore error return value of hb_buffer_copy_output_glyph(). Patch
2007-08-20  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
        ignore error return value of hb_buffer_copy_output_glyph().  Patch
        sent to harfbuzz-list.
2007-08-21 01:38:07 +00:00
Behdad Esfahbod
4c2556cb4c [gdef] Initial implementation 2007-07-06 11:29:21 -04:00
Behdad Esfahbod
5b2e947fd2 [open] small fixes, including not using unions for main structs 2007-07-06 02:03:26 -04:00
Behdad Esfahbod
151df44346 Improve stupid Makefile 2007-07-05 17:22:07 -04:00
Behdad Esfahbod
6c49bebc70 Link freetype to harfbuzz-dump, for those systems that don't track
2007-04-30  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
        those systems that don't track dependencies automatically.
2007-05-01 02:32:12 +00:00
Behdad Esfahbod
7341a11691 Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning
2007-04-03  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property):
        * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table),
        (Lookup_PairPos):
        * pango/opentype/harfbuzz-open.c (Get_Class1):
        Copy fixes from harfbuzz stable branch.  Includes a leak fix,
        a kerning fix, and an array out-of-bound access fix.
2007-04-03 22:45:29 +00:00
Hans Breuer
999a6f0575 updated
2007-01-13  Hans Breuer  <hans@breuer.org>

	* pango/makefile.msc pango/opentype/makefile.msc : updated
2007-01-13 21:31:41 +00:00
Behdad Esfahbod
3c038d40da Remove .cvsignore files (moved to svn:ignore prop) 2007-01-09 03:32:12 +00:00
Behdad Esfahbod
5b3f7702a6 Add stub GDEF files 2006-12-28 06:42:37 -05:00
Behdad Esfahbod
b3395a7aa3 Don't shift down the mark attachment type 2006-12-28 06:31:18 -05:00
Behdad Esfahbod
193b66d52a Remove stale comment 2006-12-28 06:12:18 -05:00
Behdad Esfahbod
12c4568c68 Break and rename, in the layout of old HarfBuzz codebase 2006-12-28 06:10:59 -05:00
Behdad Esfahbod
3158d84b0d Oops. s/OpenTypeFontFaceFile/OpenTypeFontFile/g 2006-12-27 20:08:07 -05:00
Behdad Esfahbod
bf0f9dd613 Use union for ClassDef 2006-12-27 20:06:42 -05:00
Behdad Esfahbod
c46196d09c Use union for Coverage 2006-12-27 20:05:16 -05:00
Behdad Esfahbod
86f450243d Add GPOS stub 2006-12-27 19:59:07 -05:00
Behdad Esfahbod
133466177e s/OpenTypeFont/OpenTypeFontFace/g 2006-12-27 19:58:32 -05:00
Behdad Esfahbod
71d62baab0 GSUBGPOSHeader 2006-12-27 01:36:20 -05:00
Behdad Esfahbod
eebabd8b2e Finished OpenType Common Table Formats 2006-12-27 00:21:31 -05:00
Behdad Esfahbod
2b73745197 Device tables. 2006-12-26 20:55:37 -05:00
Behdad Esfahbod
eb32e374f4 ClassDef 2006-12-26 20:00:33 -05:00
Behdad Esfahbod
53502c6723 Rename CoverageFormat to Coverage 2006-12-26 19:29:08 -05:00
Behdad Esfahbod
0d6db2abcb Define more structs using DEFINE_INT_TYPE. 2006-12-26 19:05:35 -05:00
Behdad Esfahbod
915931b74a s/DEFINE_NOT_INSTANTIABLE/DEFINE_NON_INSTANTIABLE/ 2006-12-26 15:30:14 -05:00
Behdad Esfahbod
0c0d55330e Coverage. 2006-12-26 15:29:38 -05:00
Behdad Esfahbod
882e52f591 Rename to harfbuzz-ng.cc 2006-12-25 10:28:31 -05:00
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
Owen Taylor
03838daaa9 Set G_LOG_DOMAIN.
Mon Nov 22 18:30:14 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/Makefile.am pango/Makefile.am
        modules/*/Makefile.am: Set G_LOG_DOMAIN.
2004-11-22 23:37:19 +00:00
Owen Taylor
346d3b3cac Cleanups from 'sparse', #149922, Kjartan Maraas
Wed Sep 22 14:07:47 2004  Owen Taylor  <otaylor@redhat.com>

        Cleanups from 'sparse', #149922, Kjartan Maraas

        * pango/pango-utils.c (read_config): () => (void) in
        definition.

        * pango/pangofc-fontmap.c (pango_fc_font_map_list_families):
        Initialize *n_families, not n_families.

        * pango/pangofc-fontmap.c pango/pangoft2.c opentype/ftxgdef.c
        opentype/ftxgpos.c opentype/ftxgsub.c: : Fix various 0/NULL
        confusion.
2004-09-22 18:14:55 +00:00
Owen Taylor
8b654dfb5a === Released 1.6.0 ===
Mon Sep 13 17:38:58 2004  Owen Taylor  <otaylor@redhat.com>

        * === Released 1.6.0 ===

        * configure.in: Update versions for 1.6.0

        * NEWS: Update.

        * README: Minor tweak.

        * pango/fonts.c pango/pango-context.c pango/pango-types.h
        pango/pango-utils.c pango/pangoft2.c pango/pango-layout.c
        pango/opentype/pango-ot-buffer.c: Add a bunch of missing
        Since: 1.6.
2004-09-14 13:45:41 +00:00
Owen Taylor
d41089a5b6 Finish extending properties flags from FT_UShort => FT_UInt. (OTLBuffer
Fri Jul 30 17:17:05 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.[ch] pango/opentype/ftxgsub.[ch]
        pango/opentype/ftxopen.[ch]: Finish extending properties
        flags from FT_UShort => FT_UInt. (OTLBuffer was already
        using an FT_UInt)
2004-07-30 21:23:04 +00:00
Owen Taylor
f42d5eca29 Save the order in which features were added and use that when applying
Tue Jul 27 12:38:05 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxopen.[ch] pango/opentype/ftxgsub.c
        pango/opentype/ftxpos.c: Save the order in which
        features were added and use that when applying features.
        (Patch from Soheil Hassas Yeganeh, #122330)
2004-07-27 17:20:01 +00:00
Behdad Esfahbod
ae2daa972d Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
* pango/opentype/ftxgpos.c: Remove the unused parameter
	from the IN_CURITEM() and IN_CURGLYPH macros.
2004-07-27 13:12:19 +00:00
Behdad Esfahbod
7d5435ea8c Fix bug to copy glyph from in_string, not out_string.
* pango/opentype/otlbuffer.c (otl_buffer_copy_output_glyph):
	Fix bug to copy glyph from in_string, not out_string.
2004-07-27 10:43:58 +00:00
Owen Taylor
2ea2a55bdf Fix allocation and indexing in NewGlyphClasses array. (#130661, Masatake
Mon Jul 26 19:11:46 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgdef.c: Fix allocation and indexing
        in NewGlyphClasses array. (#130661, Masatake YAMATO)
2004-07-26 23:14:53 +00:00
Owen Taylor
5d42695e5e Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
Mon Jul 26 15:24:11 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (ADD_Glyph): Remove the
        unused parameter from the IN_CURITEM() and IN_CURGLYPH
        macros.
2004-07-26 19:25:45 +00:00
Owen Taylor
a00c4ea562 Add missing macro to make the last change actually compile.
Mon Jul 26 15:21:23 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c: Add missing macro to make the
        last change actually compile.
2004-07-26 19:23:06 +00:00
Owen Taylor
ed3e1f278d Match backtrack context against the output glyphs not the input glyphs
Mon Jul 26 15:16:07 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
        Match backtrack context against the output glyphs not
        the input glyphs (#145174, Aamir Wali)
2004-07-26 19:20:27 +00:00
Owen Taylor
78282cda00 Make Check_Property() take a OTL_GlyphItem, add a gproperties field to
Mon Jul 26 14:49:22 2004  Owen Taylor  <otaylor@redhat.com>

        * ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
        OTL_GlyphItem, add a gproperties field to OTLGlyphItem,
        and use that to cache the properties for a glyph.

        * ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes.

        * otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph()
        to use when we are copying an unmodified glyph from input
        to output that preserves the cached properties.
2004-07-26 18:59:02 +00:00
Owen Taylor
81b62af423 Add support for ChainContextSubstFormat3.
Mon Jul 19 17:09:11 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/disasm.c: Add support for
        ChainContextSubstFormat3.
2004-07-19 21:13:23 +00:00
Owen Taylor
d4f773ef92 Fix pervasive buffer overruns when skipping glyphs when matching contexts.
Mon Jul 19 16:29:45 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
        Fix pervasive buffer overruns when skipping glyphs
        when matching contexts. (#118592, Kailash C. Chowksey)
2004-07-19 20:37:22 +00:00
Owen Taylor
99848cfafe #143693, Sayamindu Dasgupta
Wed Jun 23 16:13:53 2004  Owen Taylor  <otaylor@redhat.com>

        #143693, Sayamindu Dasgupta

        * pango/opentype/pango-ot-buffer.c (pango_ot_buffer_set_zero_width_marks) pango/opentype/pango-ot-private.h:
        Allow setting for whether marks should be given zero width,
        defaulting to FALSE.

        * modules/arabic/arabic-fc.c (arabic_engine_shape): Turn
        on zero-width-marks setting.
2004-06-23 20:33:35 +00:00
Owen Taylor
68d4cedb87 Use the gcc-3.3 strict-aliasing compatible macros from fterrcompat.h
Mon Jun 21 13:55:17 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/otlbuffer.c: Use the gcc-3.3
        strict-aliasing compatible macros from fterrcompat.h
        (#140495, reported by Stanislav Brabec)
2004-06-21 18:04:02 +00:00
Theppitak Karoonboonyanan
b327765176 Negate y offset according to different conventions between
* pango/opentype/pango-ot-buffer.c (apply_gpos_ltr): Negate y offset
	according to different conventions between PangoGlyphString and OTL
	(#142544)
2004-05-28 16:41:36 +00:00
Owen Taylor
068763b547 Revert error return changes from last commit.
Thu May 27 17:54:24 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/otlbuffer.c: Revert error return changes
        from last commit.
2004-05-27 21:55:50 +00:00
Owen Taylor
ef07481025 Free buffer->positions, clean up error returns that were returning
Thu May 27 16:57:30 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/otlbuffer.c: Free buffer->positions,
        clean up error returns that were returning uninitialized
        values. (#139239, Behdad Esfahbod)
2004-05-27 21:03:42 +00:00
Owen Taylor
de568e7e62 === Released 1.4.0 ===
Tue Mar 16 11:24:46 2004  Owen Taylor  <otaylor@redhat.com>

        * === Released 1.4.0 ===

        * configure.in: Version 1.4.0, interface ago 0. Require
        glib-2.4.0.

        * NEWS: Updates.

        * README: Some updates; include details about the FreeType
        license of the OpenType code.
2004-03-16 19:23:43 +00:00
Hans Breuer
8b3554b3af if PANGO_MODULE_PREFIX is defined include the basic backend shaper (should
2004-03-03  Hans Breuer  <hans@breuer.org>

	* pango/module-defs-win32.c.win32 : if PANGO_MODULE_PREFIX is
	defined include the basic backend shaper (should have been
	commited at 2003-12-12, too)

	* pango/makefile.msc : generate correct type for PangoFontMask
	(bug #135892, John Ehresman)
	* pango/opentype/makefile.msc : updated

	* pango/pango.def pango/pangoft2.def : more updatd externals
2004-03-03 22:35:19 +00:00
Owen Taylor
a7e096c5de Rework opentype interfaces and other changes to make GPOS work for Arabic.
Sun Feb 29 09:25:13 2004  Owen Taylor  <otaylor@redhat.com>

        Rework opentype interfaces and other changes to make GPOS
        work for Arabic. (Most of #117282, #121060)

        * pango/opentype/otlbuffer.[ch]: OTL_Buffer that
        acts as a replacement for the separate GSUB and
        GPOS string structures and hides many of the internal
        details.

        * pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]:
        Adapt to OTL_Buffer.

        * pango/opentype/ftxgpos.c: Redo handling of cursive
        chains so that it actually works.

        * pango/pango-ot.h pango/opentype/pango-ot-buffer.c:
        Pango wrapper around OTL_Buffer.

        * pango/pango-ot.h pango/pango-ot-ruleset.c pango/pango-ot-buffer.c:
        Split pango_ot_ruleset_shape() into pango_ot_ruleset_substitute(),
        pango_ot_ruleset_position(), make them act on
        PangoOTBuffer, add a separate pango_ot_buffer_output()
        which does the default positioning and writes to a
        PangoGlyphString.

        * modules/arabic/arabic-fc.c modules/indic/indic-fc.c
        modules/indic/mprefixups.[ch]: Adapt to new OpenType
        interfaces; add GPOS features for Arabic.

        * pango/opentype/pango-ot-info.c: Don't derive class information
        from Unicode properties for Arabic presentation forms,
        let the shaping process derive the properties.
2004-02-29 15:44:50 +00:00
Owen Taylor
d670ddf991 Sign convention for y offsets is opposite between PangoGlyphString and FT
Sat Feb 21 09:49:23 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
        Sign convention for y offsets is opposite between
        PangoGlyphString and FT code. (#132591)
2004-02-21 14:53:12 +00:00
Owen Taylor
b9b3c131c2 Memory leak fixes from Masatake YAMATO, #130652
Fri Feb 13 10:54:18 2004  Owen Taylor  <otaylor@redhat.com>

        Memory leak fixes from Masatake YAMATO, #130652

        * pango/opentype/ftxgdef.c (TT_Done_GDEF_Table):
        Free the gdef table as well as the contained data.

        * pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
        Set gcd->loaded, so that the contents get freed later.
2004-02-13 16:11:40 +00:00
Owen Taylor
926b8f3229 Suport CFF fonts as well. (#131202, Manjunath Sripadarao)
Mon Jan 26 14:20:34 2004  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-info.c (is_truetype): Suport
        CFF fonts as well. (#131202, Manjunath Sripadarao)
2004-01-26 19:23:35 +00:00
Hans Breuer
945e479a3a moved pango_fc_* to the latter where they live on *nix too.
2003-12-13  Hans Breuer  <hans@breuer.org>

	* pango/pango.def pangoft2.def : moved pango_fc_*
	to the latter where they live on *nix too.

	* pango/makefile.msc : make it build again (including
	the Ft2 backend)

	* pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined
	include the basic backend shaper

	* pango/pangowin32.c (pango_win32_render_layout) :
	initialize iter before first usage to avoid immediate crashing

	* pango/opentype/makefile.msc
            pango/modules/makefile.msc : finally build with mscv, too.
	[completely untested cause I'm not able to type, write or read
	any of these languages]

	* modules/modules.def : follow module function renaming/changes

	* modules/basic/basic-win32.c : register the right engine, i.e.
	make it compile
2003-12-13 14:31:50 +00:00
Owen Taylor
ba0ccd5cfc Switch over to recommended Freetype system of include ft2build.h then
Sat Nov  1 09:32:15 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h
        pango/pangoft2.c pango/opentype/pango-ot-info.c
        pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c
        pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c
        pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
        Switch over to recommended Freetype system of
        include ft2build.h then #include FT_FREETYPE_H.
        Fixes ftmodule.h problem with current Freetype CVS.
        (#125548)
2003-11-01 15:02:17 +00:00
Owen Taylor
558171a7a3 Fix gcc-3.3 versions of macros to have the right return value.
Mon Sep 15 17:16:59 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of
        macros to have the right return value.
2003-09-15 22:04:55 +00:00
Owen Taylor
c99259bf7e pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems where
Mon Aug 25 10:17:21 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3)
        * pango/opentype/ftxgpos.c (Lookup_ChainContextPos3):
        Fix problems where the coverage wasn't being checked
        for the first input glyph. (#118639, Kailash C. Chowksey)
2003-08-25 14:30:12 +00:00
Owen Taylor
bcf81bcc80 Add some macro definitions for gcc-3.3 that suppress the bogus
Fri Aug 22 18:09:52 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/fterrcompat.h: Add some macro definitions
        for gcc-3.3 that suppress the bogus strict-aliasing
        warnings.

        * pango/pango-utils.c (read_config_file): Use
        g_hash_table_new_full() to simplify code and fix
        gcc-3.3 warnings.

        * pango/pangox-fontmap.c (pango_x_real_get_coverage_win)
        * pango/querymodules.c (query_module): Suppress gcc-3.3
        warnings.

        * pango/modules.c (pango_find_map): Fix warning from
        missing declaration of pango_module_get_type().

        * pango/pango-context.c/pango-engine.c: Fix name confusion
        for pango_get_fallback_shaper().
2003-08-22 22:52:08 +00:00
Owen Taylor
46d379596d Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore marks of
Tue Jul 29 09:58:13 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgdef.c (Check_Property): Rewrite
        handling of IGNORE_SPECIAL_MARKS to be properly
        "ignore marks of attachment type different than
        specified. (#118456, Kailash C. Chowksey)
2003-07-29 14:21:54 +00:00
Owen Taylor
8247acad79 Revert back out the FreeType patch preventing ligatures of not-originally
Sat Jul 26 09:41:22 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
        Revert back out the FreeType patch preventing
        ligatures of not-originally adjacent glyphs;
        it doesn't work for all scripts. (#118472,
        Kailash C. Chowksey)
2003-07-28 22:28:37 +00:00
Owen Taylor
825e6d7e86 Check for lookahead glyphs in the right place. (Patch from #116860)
Sat Jul 26 22:30:59 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst{1,2,3}):
        Check for lookahead glyphs in the right place. (Patch
        from #116860)

        * pango/opentype/ftxgpos.c (Lookup_ChainContextPos{1,2,3}):
        Same fix here.
2003-07-27 02:40:31 +00:00
Owen Taylor
03a0fe09c7 Fix return value to only contain TTO_Err_Not_Covered if *no* lookups
Sat Jul 26 22:12:46 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Do_String_Lookup,
        TT_GSUB_Apply_String): Fix return value to only
        contain TTO_Err_Not_Covered if *no* lookups
        matched. Fix memory leaks on error in Apply_String().
2003-07-27 02:19:52 +00:00
Owen Taylor
e10ea2afd9 Fix confusion between boolean and FT_Error return. (GSUB equivalent of fix
Sat Jul 26 21:06:26 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Load_EmptyOrClassDefinition):
        Fix confusion between boolean and FT_Error return.
        (GSUB equivalent of fix for #108358)
2003-07-27 01:10:15 +00:00
Owen Taylor
a7305ab262 Move allocation afer initial checks, fixing memory leak.
Sat Jul 26 10:52:20 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c (Lookup_ContextPos2):
        * pango/opentype/ftxgsub.c (Lookup_ContextSubst2): Move
        allocation afer initial checks, fixing memory leak.

        * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst2):
        Fix some more error return memory leaks that weren't
        fixed in the Qt changes.
2003-07-26 15:02:13 +00:00
Owen Taylor
f40b7c15e0 Fix various memory leaks from error returns that should have been jumps to
Sat Jul 26 10:43:20 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
        Fix various memory leaks from error returns that should
        have been jumps to cleanup blocks. (From Qt, Lars Knoll)
2003-07-26 14:50:23 +00:00
Owen Taylor
256d219707 Fix additional places where TTO_Err_Not_Covered wasn't considered a
Sat Jul 26 10:30:24 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c: Fix additional places where
        TTO_Err_Not_Covered wasn't considered a successful return
        from Get_Class. (From Qt, Lars Knoll)
2003-07-26 14:35:29 +00:00
Owen Taylor
374960681e If applying a ligature lookup makes adjacent two glyphs that were not
Sat Jul 26 09:41:22 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
        If applying a ligature lookup makes adjacent two glyphs
        that were not originally adjacent, avoid making
        subsequent ligatures between those glyphs.
        (From FreeType, Werner Lemberg, 2001-08-22, 2001-08-23)
2003-07-26 13:50:23 +00:00
Owen Taylor
b682482df7 Fix some FreeType1 variable declarations that snuck in from the last
Sat Jul 26 09:16:57 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c pango/opentype/ftxopen.c:
        Fix some FreeType1 variable declarations that snuck
        in from the last commits (Christophe Fergeau,
        118363)
2003-07-26 13:20:52 +00:00
Owen Taylor
06c12109de OpenType-1.4 update: backtrack information is stored with the item closest
Fri Jul 25 23:38:07 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c:
        OpenType-1.4 update: backtrack information is stored with the
        item closest to the input first (From FreeType,
        Werner Lemberg, 2002-09-26)
2003-07-26 03:45:44 +00:00
Owen Taylor
15a69e4a12 Update of GPOS and GSUB support to OpenType 1.3 (From FreeType, Werner
Fri Jul 25 23:07:06 2003  Owen Taylor  <otaylor@redhat.com>

        Update of GPOS and GSUB support to OpenType 1.3
        (From FreeType, Werner Lemberg, 2001-08-08)

        * pango/opentype/ftxopen.h: Add RIGHT_TO_LEFT LookupFlag

        * pango/opentype/ftxgpos.c (GPOS_Instance): Add 'first'
        member to mark the beginning of a chain of cursive connections.

        * pango/opentype/ftxgpos.c (Do_String_Lookup): If the
        RIGHT_TO_FLAG flag is set, shift cursive chain up so
        last glyph is on the baseline.
2003-07-26 03:14:23 +00:00
Owen Taylor
6f74f18b77 Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which allow lookup
Fri Jul 25 22:59:13 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftx{gpos,gsub}.h pango/opentype/ftxgdef.c:
        Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which
        allow lookup information to be stored at 32-bit offets
        via a double indirection. (From FreeType, Werner Lemberg,
        2001-08-08)
2003-07-26 03:03:40 +00:00
Owen Taylor
375781c454 Fix a couple of places where TTO_Err_Not_Covered wasn't considered a
Fri Jul 25 22:25:48 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (Lookup_ContextSubst2,
        Lookup_ChainContextSubst2): Fix a couple of
        places where TTO_Err_Not_Covered wasn't considered
        a successful return from Get_Class -- it means
        use class index 0. (From FreeType, Werner Lemberg,
        2001-08-06)
2003-07-26 02:44:19 +00:00
Owen Taylor
378e1889cd Improvements to OpenType-dumping code, based on changes in Qt by Lars
Fri Jul 25 20:12:00 2003  Owen Taylor  <otaylor@redhat.com>

        Improvements to OpenType-dumping code, based on
        changes in Qt by Lars Knoll.

        * pango/opentype/ottest.c: Tweak the debugging output,
        suppress some warnings.

        * pango/opentype/disasm.c: Add support for
        GSUB Context/Chain GPOS MarkBase lookups, improve
        output in various ways.
2003-07-26 02:10:42 +00:00
Owen Taylor
07bad0e77c Fix uses of g_assert() around statements with side effects. (#115498,
Thu Jul 24 17:04:21 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
        Fix uses of g_assert() around statements with side effects.
        (#115498, patch from David Cuthbert)
2003-07-24 21:05:29 +00:00
Owen Taylor
f91deef2c9 More careful handling of face->charmap; if is NULL, try to set a unicode
Wed Apr 16 03:46:42 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-info.c (synthesize_class_def):
        More careful handling of face->charmap; if is NULL,
        try to set a unicode charmap, if that doesn't succeed,
        return. (Hopefully fixes #106550)
2003-04-16 21:48:29 +00:00
Owen Taylor
587b3940f3 When loading in Load_Chain{Sub,Pos}ClassRule, the limit we have only
Tue Apr 15 11:49:39 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxg{sub/pos}.c: When loading
        in Load_Chain{Sub,Pos}ClassRule, the limit we
        have only applies to the input ClassDef table.
        Fixes problem with Arial Unicode. Much help from
        Noah Levitt in tracing this down.
2003-04-16 03:58:17 +00:00
Owen Taylor
0d7567f8ea Fix mispelled constant from last commit.
Tue Apr 15 06:57:02 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c: Fix mispelled constant
        from last commit.
2003-04-15 23:01:19 +00:00
Owen Taylor
73cd600798 Fix confusion between boolean and FT_Error return. (#108358, Noah Levitt)
Tue Apr 15 06:03:39 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c: Fix confusion between
        boolean and FT_Error return. (#108358, Noah Levitt)

        * pango/opentype/ftxopen.c (Get_Class1): index is
        allowed to be NULL. (#108358, Noah Levitt)
2003-04-15 22:15:41 +00:00
Owen Taylor
462bd0be60 Fix infinite loop in the case where the charmap contains a character >
Tue Apr 15 05:00:39 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/pango-ot-info.c (synthesize_class_def):
        Fix infinite loop in the case where the charmap contains
        a character > 65535. (#106550, Morten Welinder.)
2003-04-15 21:05:53 +00:00
James Henstridge
312e1c1cf9 make similar changes to the ones on glib head (call gtk-docize, etc).
2003-03-11  James Henstridge  <james@daa.com.au>

    * autogen.sh: make similar changes to the ones on glib head (call
    gtk-docize, etc).

    * configure.in: move some calculations into M4 macros, rather than
    calculating them when configure runs.
    Use AC_HELP_STRING where appropriate.
    Replace gtk-doc checks with a call to GTK_DOC_CHECK.
    Replace AC_OUTPUT_COMMANDS() call with a number of calls to
    AC_CONFIG_COMMANDS (once per created file).
    Get rid of the "chmod +x pango-config" bit, because there is no
    pango-config anymore.

    * Makefile.am: get rid of custom distcheck rule, and set
    DISTCHECK_CONFIGURE_FLAGS, which is equivalent.
    Use += to select which .pc files to install.

    * pango/Makefile.am: Add rules to rebuild module-defs* files, and
    remove them on clean.
    Reorder so that rules related to each individual library are next
    to each other.
    Use BUILT_SOURCES for built sources.

    * pango/opentype/Makefile.am: don't use STRIP_BEGIN/STRIP_END.

    * modules/*/Makefile.am: simplify module makefiles through use of
    +=, and regularise them a bit (fixed a few bugs in the process).

    * docs/Makefile.am: remove common rules, and instead include
    gtk-doc.make.

    * examples/Makefile.am: add pango.modules to CLEANFILES.

    * tests/Makefile.am: remove temporary files on clean.
2003-03-11 12:31:16 +00:00
Owen Taylor
1aad15fd0c Add an --enable-debug configure argument defaulting to 'yes' for unstable
Mon Feb 17 13:06:39 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in **/Makefile.am: Add an --enable-debug
        configure argument defaulting to 'yes' for unstable
        releases and 'minimum' for stable releases.
        For minimum, -DG_DISABLE_CAST_CHECKS.

        * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
        pango/pangoxft-fontmap.c: Add caching of fontsets
        (#104495, initial patch and review by Soeren Sandmann)

        * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
        pango/pangoxft-fontmap.c pango/pangoft2-private.h
        pango/pangoxft-private.h: Remove cache of recently freed
        fonts; not necessary now that we cache fontsets.

        * pango/pangofc-fontmap.cI (pango_fc_pattern_set_free):
        Rename from pango_fc_font_set_free to reflect
        what it actually does.

        * pango/pangofc-fontmap.cI pango/pangoft-fontmap.c
        pango/pangoxft-fontmap.c: Combine clear-the-cache
        functions; we didn't need separate clear-the-font-cache
        and clear-the-pattern-cache functions.
2003-02-17 22:04:29 +00:00
Owen Taylor
5febce1ffc Up the FreeType version requirement to 2.0.9. (2.2.1 had a compilation
Wed Feb 12 16:59:23 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in pango/opentype/fterrcompat.h README:
        Up the FreeType version requirement to 2.0.9.
        (2.2.1 had a compilation failure with older versions,
        this catches it more cleanly, and removes some unneeded
        checks. #105302, problem reported by Will Partain.)
2003-02-12 22:12:55 +00:00
Owen Taylor
54e85cc0cf Export TT_New_GDEF_Table to create an empty GDEF table.
Fri Jan 10 18:56:36 2003  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgdef.c: Export TT_New_GDEF_Table
        to create an empty GDEF table.

        * pango/opentype/pango-ot-info.c: If the font doesn't
        have a class definition table, synthesize one using
        the charmap and the unicode properties of characters
        in the charmap. (Needed to make things work with various
        old Arabic fonts, such as the KACST fonts)
2003-01-11 00:16:26 +00:00
Matthias Clasen
db6bb4b034 Add docs.
* docs/tmpl/xft-fonts.sgml:
	* docs/tmpl/freetype-fonts.sgml: Add docs.

	* pango/pangoxft-fontmap.c (pango_xft_substitute_changed):
	* pango/pangoft2-fontmap.c
	(pango_ft2_font_map_set_default_substitute):
	Fix doc typos.
2002-11-28 23:53:18 +00:00
Sebastian Wilhelmi
226d9b67db Do not add GLIB_CFLAGS to CFLAGS.
2002-11-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Do not add GLIB_CFLAGS to CFLAGS.

	* docs/Makefile.am, examples/Makefile.am,
	modules/arabic/Makefile.am, modules/basic/Makefile.am,
	modules/hangul/Makefile.am, modules/hebrew/Makefile.am,
	modules/indic/Makefile.am, modules/tamil/Makefile.am,
	modules/thai/Makefile.am, pango/Makefile.am,
	pango/mini-fribidi/Makefile.am, pango/opentype/Makefile.am:
	Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS for
	docs/Makefile.am). Also some cosmetic line wrapping and
	reindentation.
2002-11-26 13:37:10 +00:00
Manish Singh
80634a30b9 Get rid of unnecessary casts for g_object_{ref,unref}
Mon Oct 14 15:39:41 2002  Manish Singh  <yosh@gimp.org>

        * pango/pango-context.c pango/pango-layout.c pango/pangoft2.c
        pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c
        pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c
        pango/testfonts.c pango/opentype/pango-ot-ruleset.c:
        Get rid of unnecessary casts for g_object_{ref,unref}
2002-10-14 22:50:48 +00:00
Owen Taylor
741993e0b1 ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner
Sun Sep 29 14:55:36 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c: ligatures can be also used in
        MarkBasePos lookups. (2001-03-17  Werner Lemberg)
2002-09-29 19:06:58 +00:00
Owen Taylor
a35dc445e8 Start of merges from freetype1 of OpenType fixes.
Sun Sep 29 14:51:25 2002  Owen Taylor  <otaylor@redhat.com>

        Start of merges from freetype1 of OpenType fixes.

        (2001-03-17  Werner Lemberg)

        * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxg\sub.c:
        More fixes for special marks.
2002-09-29 19:05:01 +00:00
Tor Lillqvist
5c53f14f37 Remove. Not used. (A static library is built here. Exported entries are in
2002-09-24  Tor Lillqvist  <tml@iki.fi>

	* pango/opentype/pango-ot.def: Remove. Not used. (A static library
	is built here. Exported entries are in ../pangoft2.def.)

	* pango/opentype/Makefile.am (EXTRA_DIST): Remove from here, too.
2002-09-23 21:45:31 +00:00
Tor Lillqvist
35e4593ccd pango/makefile.mingw.in pango/mini-fribidi/makefile.mingw Remove. Not
2002-09-23  Tor Lillqvist  <tml@iki.fi>

	* pango/makefile.mingw.in
	* pango/mini-fribidi/makefile.mingw
	* pango/opentype/makefile.mingw.in: Remove. Not maintained.

	* pango/Makefile.am (EXTRA_DIST)
	* pango/mini-fribidi/Makefile.am (EXTRA_DIST)
	* pango/opentype/Makefile.am (EXTRA_DIST): Remove
	makefile.mingw(.in) from here, too.

	* configure.in (AC_OUTPUT): Don't try to output above removed
	files.
2002-09-23 21:19:30 +00:00
Eric Mader
fb279cb0bf Correctly handle back, new_advance. 2002-09-09 18:11:55 +00:00
Eric Mader
c880e814a5 Don't fail when reading an empty script. 2002-09-06 22:45:23 +00:00
Owen Taylor
441e7d0292 Offset to MarkAttachClassDef is offset to table, not offset to offset to
Wed Aug  7 12:32:39 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgsub.c (TT_Load_GSUB_Table):
        Offset to MarkAttachClassDef is offset to table,
        not offset to offset to table.

        * pango/opentype/ftxopen.c (Get_Device): Handle
        NULL device tables which we represent with
        d->DeltaValue == NULL.
2002-08-07 17:01:52 +00:00
Owen Taylor
48a16fa809 on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>
Xft2 and fontconfig conversion, based largely on a patch
        from Keith Packard.

        * configure.in acconfig.h: Add checks for fontconfig, switch
        Xft checks to switch for Xft2 using pkg-config.

        * pangoxft.pc.in pangoxft.pc.in
        modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am
        pango/Makefile.am: Reflect new Xft/fontconfig dependencies.

        * pango/pangoxft-private.h pango/pangoxft-fontmap.c
        modules/arabic/arabic-xft.c modules/indic/indic-xft.c:
        Switch over to using Xft2 and fontconfig.

        * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h
        pango/pango/Makefile.am: Remove usage of mini-xft in
        favor of fontconfig.

        * pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h
        modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c:
        Attach OpenType information directly to the FT_Face
        structure using FT_Generic.

        * modules/tamil/Makefile.am modules/tamil/tamil-xft.c
        configure.in: Remove this module, no longer needed.

        * pango/pangoxft-font.c (pango_xft_real_render): Coalesce
        calls to Xft rendering functions.
2002-06-04 00:20:51 +00:00
Owen Taylor
9df9af0b36 Fix acess outside of a loaded frame and some memory leaks on failure.
Fri May 10 14:41:27 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Fix acess
        outside of a loaded frame and some memory leaks
        on failure.
2002-05-10 18:44:47 +00:00
Eric Mader
a63dbbbeeb Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h,
Mon May 06 15:07:39 2002 Eric Mader <mader@jtcsv.com>
	* Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h, indic-ot-class-tables.c

	* pango/opentype/ftxgdef.c: Compute full offset for mark attachment class table

	* pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered if nothing matches

	* pango/opentype/pango-ot-ruleset.c: enable GPOS processing
2002-05-07 20:39:14 +00:00
Owen Taylor
cf00f8217c Add compatibility defines for changes in FreeType 2.1.0.
Tue Apr 23 16:15:07 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/fterrcompat.h: Add compatibility
        defines for changes in FreeType 2.1.0.
2002-04-23 20:20:29 +00:00
Owen Taylor
6b1b04e373 In Load_ChainContextSubst2, handle the case where an empty class
Fri Mar 15 01:35:56 2002  Owen Taylor  <otaylor@redhat.com>

	* pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
	pango/opentype/ftxopenf.h: In Load_ChainContextSubst2,
	handle the case where an empty class definition
	is represented by an offset of 0.

	* pango/opentype/ftxgpos.c: Same for Load_ChainContextPos2.

	* pango/opentype/{ftxopen.c,ftxgpos.c,ftxgsub.c,ftgdef.c}:
	Fix pervasive bug where on cleanups on failure of loading
	an array element, all array elements were freed, not
	just the ones that had been succesfully loaded.
2002-03-15 06:46:05 +00:00
Owen Taylor
6050933f33 Uncomment GPOS parts.
Thu Mar 14 23:05:18 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxopen.c: Uncomment GPOS parts.

        * pango/opentype/disasm.c: Start adding some GPOS
        dumping.
2002-03-15 04:22:14 +00:00
Sebastian Wilhelmi
973bd60a25 Resuming aborted commit
Resuming aborted commit
2001-12-13 17:44:46 +00:00
Matthias Clasen
6926ca9425 Remove declarations of unimplemented functions
* docs/pango-sections.txt, pango/pango-ot.h: Remove declarations
        of unimplemented functions pango_ot_ruleset_set_glyph_loader and
        pango_ot_ruleset_set_alternate_func and the related typedefs
        PangoOTGlyphLoader and PangoOTAlternateFunc.

        * pango/opentype/pango-ot-info.c,
        pango/opentype/pango-ot-ruleset.c: Documentation updates.
2001-10-30 22:09:20 +00:00
Havoc Pennington
87a475c09f header to abstract the difference between FreeType 2.0.3 and 2.0.4 error
2001-09-19  Havoc Pennington  <hp@redhat.com>

	* pango/opentype/fterrcompat.h: header to abstract the difference
	between FreeType 2.0.3 and 2.0.4 error codes, based on the
	configure check.

	* configure.in: check for the tterrors.h header in FreeType 2.0.3,
	and define HAVE_FREETYPE_2_0_3 if we have it
2001-09-19 21:20:36 +00:00
Owen Taylor
9c37226efe Up to 0.19.
Tue Sep 18 15:47:08 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (PANGO_MINOR_VERSION): Up to 0.19.

	* pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c
	pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch]
	pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily
	object types, and change the font listing API to list faces and
	families, instead of face names and font descriptions.

	* pango/pango-font.h pango/fonts.c: Make PangoFontDescription
	an opaque heap-allocated structure, add accessors and
	convenience functions.

	* pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics
	heap allocated, protect the structure definition with
	#ifdef PANGO_ENABLE_BACKEND, and add getters for the fields.

	* pango/pango-attributes.[ch] ( pango_attr_iterator_get_font):
	instead of providing a base font description and one to fill
	in, provide a single font description to modify based on
	the attributes.

	* pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have
	a PangoFontDescription by reference, not by value.

	* pango/pango-utils.[ch]: make pango_parse_style() and friends
	take pointers to individual enumerations instead of to a
	PangoFontDescription structure.

	* pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics
	changes.

        * pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am
	pango/opentype/Makefile.am: Protect portions with
	PANGO_ENABLE_ENGINE to shrink the public API.

	* modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE.

	* pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move
	pango_x_font_get_unknown_glyph() into public header since it is
	used from modules.

	* pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am:
	Protect portions with PANGO_ENABLE_BACKEND to shrink the public	API.

	* pango/*.h: Use G_BEGIN/END_DECLS

	* examples/viewer-qt.[cc,h]: Fix for changes to font listing API,
	PangoFontDescription.

	* pango/pango-indic.h modules/indic/*: Since we install this
	header fix it up to Pango conventions, namespece
	ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER.

	* docs/pango-sections.txt: Updated.
2001-09-18 20:05:20 +00:00
Darin Adler
7dd0838863 Remove stray semicolon.
* modules/arabic/arabic-x.c: (arabic_engine_shape): Remove stray
	semicolon.

	* modules/arabic/arconv.h:
	* modules/arabic/arconv.c: (shape), (doublelig), (arabic_reshape):
	Use long* instead of int* for parameter to match what's passed in.

	* modules/indic/bengali-x.c: Add missing <string.h> include.
	(pango_indic_make_ligs): Use local variable that was added but not
	ever used.
	(pango_indic_engine_shape): Remove unused locals.

	* modules/indic/devanagari-x.c: Add missing <string.h> include.
	(pango_indic_engine_shape): Remove unused local.

	* modules/indic/gujarati-x.c: Add missing <string.h> include.
	(pango_indic_engine_shape): Remove unused local

	* modules/tamil/tamil-x.c: (tamil_engine_shape): Initialize a
	variable to quiet the compiler's unused warning.

	* pango/.cvsignore: Ignore more generated files.

	* pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set up the
	ap variable. The old code would just use the uninitialized value.

	* pango/opentype/ftxopen.c: (Load_Coverage): Remove unused local.

	* pango/opentype/pango-ot-ruleset.c: (pango_ot_ruleset_shape):
	Remove unused local.

	* pango/pango-attributes.c: (pango_attr_list_get_type),
	(pango_color_get_type): Add needed function type casts (just
	warnings under gcc, but could be errors in other compilers).

	* pango/pangoxft-font.c: (pango_xft_font_get_metrics),
	(pango_xft_font_get_coverage), (pango_xft_get_shaper_map),
	(pango_xft_font_find_shaper): Switch from lang char* to
	PangoLanguage*. The code was still compiling, but would not have
	worked.
2001-07-12 16:34:40 +00:00
Owen Taylor
68f8a64307 Use ISO C99 varargs when available.
Fri May 18 11:30:57 2001  Owen Taylor  <otaylor@redhat.com>

	* pango/opentype/disasm.c: Use ISO C99 varargs when
	available.

Thu May 17 11:16:23 2001  Owen Taylor  <otaylor@redhat.com>

	* pango/mapping.c: Fixup docs, remove some FIXMEs that are
	no longer applicable.

	* pango/pango-layout.c: Move by graphemes, not characters.

	* pango/pango-layout.c (pango_layout_line_x_to_index):
	Position at the closest grapheme boundary, not at character
	boundaries.

	* pango/pango-layout.c (pango_layout_line_index_to_x):
	Return positions of grapheme boundaries, not character
	boundaries.
2001-05-18 16:04:40 +00:00
Owen Taylor
89eb36ebc6 Remove excess call to DONE_Stream left over from conversion from FT1.
Tue Apr 24 11:45:55 2001  Owen Taylor  <otaylor@redhat.com>

	* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Remove
	excess call to DONE_Stream left over from conversion
	from FT1. (reported by Michael Jansson)
2001-04-24 15:47:22 +00:00
Owen Taylor
c61a730aae Release 0.14
Tue Apr  3 15:05:19 2001  Owen Taylor  <otaylor@redhat.com>

	* Release 0.14

	* NEWS: updated.

        * pango/pango/opentype/Makefile.am: make dist fixes.

	* configure.in (PANGO_MINOR_VERSION): Up to 0.14
2001-04-03 19:07:36 +00:00
Tor Lillqvist
405b878923 Only a script engine here.
2000-12-21  Tor Lillqvist  <tml@iki.fi>

	* modules/basic/basic-win32.c (script_engine_load): Only a script
	engine here.

	* pango/makefile.mingw.in: Add the built pango-enum-types.[ch].

	* pango/pango.def
	* pango/pangoft2.def: Update.

	* pango/opentype/pango-ot.def
	* pango/opentype/makefile.mingw.in: New files.

	* pango/opentype/Makefile.am (EXTRA_DIST): Add them.

	* configure.in (included_modules): Generate
	pango/opentype/makefile.mingw.
2000-12-21 19:55:23 +00:00
Owen Taylor
80a1582913 Since Xft may only be available statically without shlib deps, check for
Tue Dec 19 22:47:16 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in pango-config.in pangoxft.pc.in
	modules/basic/Makefile.am: Since Xft may only be available
	statically without shlib deps, check for FreeType libs explicitly
	and include them when linking, otherwise things won't work. Also,
	define FREETYPE_CFLAGS from freetype-config --cflags.

	* modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool
	Xft into not converting glyph indices by loading the
	face unencoded then calling FT_Set_Charmap ourselves.

	* pango/Makefile.am pango/pango-ot.h pango/opentype/* :Add start
	of opentype handling - most of the actually meat of the code here
	is the OpenType layout code from FreeType 1 ported to freetype2
	and adapted slighlty for our purposes.  Also, includes a
	incomplete OpenType-table-dumping code useful for figuring
	out what is going on.

	* pango/pangoxft.h pango/pangoxft-font.h: Add calls for
	getting FT_Face and PangoOTInfo from PangoXftFont.

	* modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}:
	Initial support for rendering Arabic with OpenType fonts.
2000-12-20 04:41:36 +00:00