Commit Graph

358 Commits

Author SHA1 Message Date
Behdad Esfahbod 3f33f0d1f2 Import UCDN into source tree
https://github.com/grigorig/ucdn
2012-10-02 16:23:29 -04:00
Behdad Esfahbod 66efe89648 Check for pthreads 2012-10-02 14:55:32 -04:00
Behdad Esfahbod 7f19ae7b9f [buffer] Templatize UTF handling
Also move UTF routines into a separate file, to be reused from shapers
that need it.
2012-09-25 11:23:55 -04:00
Behdad Esfahbod 54d5da4ee9 Remove unused indic.cc 2012-09-25 10:51:42 -04:00
Behdad Esfahbod fab7a71f11 [Indic] Import ragel-generated Indic machine in git
I don't expect ragel to be creating too much noise in its generated
output, and including this in-tree helps users right now.  We can
revisit this later if it proved to be too much trouble.
2012-09-24 21:51:13 -04:00
Behdad Esfahbod 20a840c7cd Use a C++ linker on Windows
On Windows we don't care whether or not we link to libstdc++.
Seems to fix build with mingw32 on msys, as reported by Werner.
2012-09-24 20:23:00 -04:00
Behdad Esfahbod eb7669a380 Better autofoo 2012-09-18 19:42:06 -04:00
Behdad Esfahbod d00f7d8375 Fix dependencies 2012-09-17 20:59:09 -04:00
Behdad Esfahbod fabd3113a9 [OT] Port Arabic fallback shaping to synthetic GSUB
All of init/medi/fina/isol and rlig implemented.

Let there be dragons... ⻯
2012-09-06 00:51:44 -04:00
Behdad Esfahbod d59e28e492 Minor 2012-08-28 19:08:36 -04:00
Behdad Esfahbod 7d242364ea [icu-le] Start adding a icu-layout-engine backend
Import PortableFontInstance and add shaper stub.
2012-08-24 00:00:29 -04:00
Behdad Esfahbod a02d86484b Add check-exported-symbols.sh
And misc linking fixes.
2012-08-08 18:04:29 -04:00
Behdad Esfahbod 560d68af81 Use a export-file for Windows builds
Apparently even that doesn't make check-internal-symbols.sh happy with
mingw32.  Going to disable that for DLLs again, but hopefully the
export-file is doing *something*.
2012-08-08 17:16:01 -04:00
Behdad Esfahbod 9c929abdcf Minor renaming 2012-08-08 14:33:37 -04:00
Behdad Esfahbod affaf8a0e5 [OT] Start adding fallback positioning
Used when there is no GPOS.
2012-08-07 22:43:07 -04:00
Behdad Esfahbod bd26b4d21f Minor 2012-07-26 22:18:24 -04:00
Behdad Esfahbod 027857d041 Start adding a unified shaper access infrastructure
Add global shape_plan.  Unused so far.
2012-07-26 21:14:02 -04:00
Behdad Esfahbod 8fe4c7405b [hb-old] Add HarfBuzz.old shaper
Choose using shaper name "old".
2012-07-25 11:11:22 -04:00
Behdad Esfahbod 1512a73575 [hb-old] Start adding HarfBuzz-old as a new backend 2012-07-25 11:11:16 -04:00
Jonathan Kew aa6d849838 [CoreText] Add basic Core Text backend for comparison with our native shaping
Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way;
just returns the original string indexes that CT maintains. These may even be
out-of-order in the case of reordrant glyphs.
2012-07-24 15:52:32 -04:00
Behdad Esfahbod be73a5f936 Add src/test-would-substitute tool 2012-07-19 15:12:18 -04:00
Behdad Esfahbod 11c4ad439e Add -Wcast-align 2012-07-13 11:29:31 -04:00
Behdad Esfahbod 8c0ea7bcb4 Disable introspection again
Until I figure out the build issues.  Sigh...
2012-06-24 13:20:56 -04:00
Behdad Esfahbod 84d781e54c Flesh out gobject-introspection stuff a bit 2012-06-16 15:21:41 -04:00
Behdad Esfahbod 4508789f4b Add test for static initializers and other C++ stuff 2012-06-08 21:32:43 -04:00
Behdad Esfahbod 61eb60c129 Don't link to libstdc++
New try.
2012-06-05 21:22:36 -04:00
Behdad Esfahbod 20fdb0f41d Add a lock-free cache type for int->int functions
To be used for cmap and advance caching if desired.
2012-05-17 22:04:45 -04:00
Behdad Esfahbod ec3ba4b96f Move atomic ops into their own header 2012-05-17 20:30:46 -04:00
Behdad Esfahbod 0b08adb353 Add hb_set_t 2012-04-23 22:44:59 -04:00
Behdad Esfahbod 3ed4634ec3 Add Indic inspection tool 2012-04-19 22:35:01 -04:00
Behdad Esfahbod 6bd9b479b8 Hide backend-specific shape functions
Also remove shaper_options argument to hb_shape_full().  That was
unused and for "future".  Let it go.

More shaper API coming in preparation for plan/planned API.
2012-04-12 14:53:53 -04:00
Behdad Esfahbod ae4a2b9365 Generate fallback Arabic shaping table
Not hooked up yet.
2012-04-10 16:25:08 -04:00
Behdad Esfahbod 11138ccff7 Add normalize mode
In preparation for Hangul shaper.
2012-04-05 17:25:19 -04:00
Behdad Esfahbod cdc8b491a8 Update Indic table to Unicode 6.1 data 2012-03-07 12:08:33 -05:00
Behdad Esfahbod bd7ff1dec5 Allow disabling multi-threaded support
By defining HB_NO_MT.

Also, only warn once per missing MT feature support.

Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac
2012-02-23 15:06:16 -05:00
Behdad Esfahbod 3b5c22c39b Remove src/test.cc
Not really useful.
2012-01-19 14:28:11 -05:00
Behdad Esfahbod 74ef81a0b0 Fix make distcheck 2011-08-24 19:36:50 +02:00
Behdad Esfahbod 1f49cf32c9 Add graphite2 integration from Martin Hosken
To be modified, a lot.
2011-08-24 01:32:41 +02:00
Behdad Esfahbod 0e6d36d8a3 Minor 2011-08-24 01:31:29 +02:00
Behdad Esfahbod d75333f166 Add gobject enum support, but disabled for now
need to figure out the naming.  The generated code doesn't have the
right name.
2011-08-19 19:59:24 +02:00
Behdad Esfahbod ae9877dea6 Add hhea-table support 2011-08-17 15:00:10 +02:00
Behdad Esfahbod 7a750ac33e Rename table files from eg maxp-private.hh to maxp-table.hh 2011-08-17 14:19:59 +02:00
Behdad Esfahbod c214cff55c Start adding gobject-introspection support 2011-08-14 15:17:51 +02:00
Behdad Esfahbod 511a136f0c Move hb-view into util/ 2011-08-09 15:03:00 +02:00
Behdad Esfahbod 38b2118724 [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.

Add hb_ft_font_set_funcs().  Which will make the font internally use
FreeType.  That is, no need for the font to have created using the
hb-ft API.  Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale).  This
internally creates an FT_Face and attached to the font.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod b492299eb3 Start implementing the 'name' table 2011-08-05 20:34:50 -04:00
Behdad Esfahbod 02aeca985b [API] Changes to main shape API
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API.  And in most situations
they are expected to be set to NULL.

hb_shape() also returns a boolean for now.  If shaper_list is NULL, the
return value can be ignored.

shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.

shaper_list is a NULL-terminated list of strings.  Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly).  The fallback backend never fails.

The env var HB_SHAPER_LIST is also parsed and honored.  It's a
colon-separated list of shaper names.  The fallback shaper is invoked if
none of the env-listed shapers succeed.

New API hb_buffer_guess_properties() added.
2011-08-04 22:38:09 -04:00
Behdad Esfahbod 0fbb2dc831 Add draft experimental Uniscribe backend
Not complete yet, font selection doesn't work.  But hey it shapes!

This is not supposed to be a production backend, more like a testing
backend.
2011-08-03 19:55:04 -04:00
Behdad Esfahbod f5414cf0a2 Use missing script for calling ragel 2011-08-01 16:34:16 -04:00
Behdad Esfahbod 911bf32aca Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS 2011-07-30 11:16:00 -04:00
Behdad Esfahbod 655586fe5e Towards normalization 2011-07-21 00:52:42 -04:00
Behdad Esfahbod 22989c5ffc Distribute hb-ot-shape-complex-indic-machine.rl 2011-07-12 11:54:58 -04:00
Behdad Esfahbod 3361c9a323 Minor 2011-07-07 22:35:17 -04:00
Behdad Esfahbod 867361c3ad [indic] Add syllable recognition state machine
Using an incredible tool called Ragel.
2011-06-17 18:35:46 -04:00
Behdad Esfahbod b9ddbd5593 [Indic] Start an Indic shaper
Nothing functional in there yet.

So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper.  Also hooked up the shaper, but it does not do anything
right now.
2011-06-02 17:43:12 -04:00
Behdad Esfahbod 9d49433efb Minor rename 2011-06-01 18:10:10 -04:00
Behdad Esfahbod 5bc18195d5 Add check-includes.sh 2011-05-27 15:58:54 -04:00
Behdad Esfahbod 329c15714b Add libtool versioning
The versioning is automatic.  For now, soname-major is 0.  With
the 1.0.0 release it will jump to 1 and stay there forever.
2011-05-25 16:07:07 -04:00
Behdad Esfahbod d5bfd02721 Minor 2011-05-11 11:48:28 -04:00
Behdad Esfahbod 6a4e7e1372 Add maxp table
Not used for anything right now.  Will use to get num_glyphs in the future.
2011-05-11 10:31:33 -04:00
Behdad Esfahbod c78f448558 [API] Add version macros and functions
Step version up to 0.5.0.

Also, fix to pass "make distcheck"
2011-05-05 21:31:04 -04:00
Behdad Esfahbod 56eb5ad6f9 Move code around
Mutex (and Windows.h by extension) are fairly isolated now.
2011-05-04 19:27:37 -04:00
Behdad Esfahbod f1425a549f Rename hb-view.c and test.c to .cc files 2011-04-27 12:15:06 -04:00
Behdad Esfahbod c57d454acc Rename all private sources and headers to C++ files
So we can liberally use the simple features of C++ that parts of the
codebase is already using.
2011-04-20 18:50:27 -04:00
Behdad Esfahbod f19f4f9b09 Rename hb-blob.c to hb-blob.cc in preparation of more changes 2011-04-20 18:25:56 -04:00
Behdad Esfahbod fb194b8794 unicode: Cleanup implementation 2011-04-20 02:27:39 -04:00
Behdad Esfahbod 8e4bb3cacc Fold hb-language.[ch] into hb-common.[ch] 2011-04-11 17:55:58 -04:00
Behdad Esfahbod c2cb98c818 [hb-view] Link with -lm 2011-03-01 23:18:09 -05:00
Behdad Esfahbod 5353bf439c Add initial hb-view tool
Currently doesn't handle script or direction.
2011-02-22 18:06:19 -05:00
Behdad Esfahbod 7bbe14bed8 Fix 'make distcheck' 2011-01-09 22:29:14 -05:00
Behdad Esfahbod 756f794a1f Remove Graphite backend
It was unmaintained and the code has to be replaced to use the new
grphite-ng code base.
2010-12-26 20:52:40 -05:00
Behdad Esfahbod 0884a8d9cd Move generated table to its own file 2010-11-17 16:58:21 -05:00
Behdad Esfahbod 49baa1f69e Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up 2010-10-12 16:50:36 -04:00
Behdad Esfahbod 5a2b0b3878 Add hb-ot-map.cc 2010-10-08 20:14:57 -04:00
Behdad Esfahbod a806762a31 Add hb-ot-shape-private.hh 2010-10-08 19:21:46 -04:00
Behdad Esfahbod 4924affe0f Add hb-ot-map-private.hh 2010-10-08 19:18:16 -04:00
Behdad Esfahbod 3eb936f153 Add Arabic/Syriac/N'ko shaping logic
Not hooked up just yet.
2010-10-05 19:22:06 -04:00
Behdad Esfahbod 7b9a38a112 Add test.c using public API 2010-09-22 17:42:59 -04:00
Behdad Esfahbod acdba3f90b Prefer C linkage 2010-07-23 15:39:27 -04:00
Behdad Esfahbod cc6d52279d De-C++ where possible
Helps with avoiding many "extern C" declarations in source files.
2010-07-23 15:00:13 -04:00
Behdad Esfahbod d05d13df02 Add a test for header preprocessor guards 2010-06-09 07:15:03 -04:00
Behdad Esfahbod 15c7379c16 Revert "Merge remote branch 'martin/master'"
This reverts commit 80af2812fb, reversing
changes made to c442672ec2.
2010-05-26 10:48:10 -04:00
Martin Hosken 1432ab15c1 Add graphical output to hbtestfont 2010-05-22 00:56:40 +01:00
Behdad Esfahbod aa62a402a7 Fix Makefile to install hb-ot-shape.h 2010-05-21 14:42:11 +01:00
Behdad Esfahbod 02f28550d7 Graphite also forces us to link to libstdc++ currently 2010-05-21 14:37:28 +01:00
Behdad Esfahbod 305ba86715 Import Graphite shaping backend by Martin Hosken 2010-05-21 14:15:39 +01:00
Behdad Esfahbod 83f34677bc Add hb_tag_from_string() 2010-05-21 13:43:49 +01:00
Behdad Esfahbod cf5585cfa6 Add 'head' table 2010-05-19 12:03:35 -04:00
Behdad Esfahbod 3b649a38b5 Add check for internal symbols 2010-05-12 23:28:38 -04:00
Behdad Esfahbod 22da7fd94d Rename a few files to be C++ sources
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod 1cebfbb063 Cleanup hb_face_create_for_data() 2010-04-23 20:49:18 -04:00
Behdad Esfahbod 2014b8d110 Hook OpenType shaping up
Default features only for now.
2009-12-20 20:58:26 +01:00
Behdad Esfahbod b8a53e44ce We'll have to link to libstdc++ if linking to ICU, so disable test for now
We have to get rid of the ICU in main lib.  Still thinking about best way
to do it.
2009-12-20 14:56:25 +01:00
Behdad Esfahbod 8a3511ac6c Add hb_language_t as well as language/script conversion to OT tags 2009-11-04 19:45:39 -05:00
Behdad Esfahbod 8fb3d1aa4e Start ft glue 2009-11-03 18:34:20 -05:00
Behdad Esfahbod d94647e2cd Add ICU glue 2009-11-03 16:35:10 -05:00
Behdad Esfahbod d5a8e46099 [Makefile] Install hb-unicode.h
Separate OT headers also.
2009-11-03 15:14:40 -05:00
Behdad Esfahbod 21d0fce3d5 Add check for not linking to libstdc++ 2009-11-03 14:28:32 -05:00
Behdad Esfahbod ca95ce460a Use the C linker, not C++ linker
Such that we don't link to libstdc++.
2009-11-03 14:18:33 -05:00
Behdad Esfahbod 2f3e69f3cb Fix build without glib, again 2009-11-02 18:53:15 -05:00
Behdad Esfahbod 63a792a811 Update Makefile to build without glib 2009-11-02 18:34:26 -05:00
Behdad Esfahbod 1f0ceeb8cf Install library 2009-11-02 16:51:24 -05:00
Behdad Esfahbod 15232e26f4 [HB] Add empty hb_shape() API 2009-11-02 14:40:42 -05:00
Behdad Esfahbod 6936706cd7 Bug 591413 – needs to link with libstdc++
Enforce -fno-exceptions better.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod 49f261df2a [HB] Add hb-glib 2009-11-02 14:40:39 -05:00
Behdad Esfahbod 5c44188455 [HB] Start adding Unicode funcs 2009-11-02 14:40:36 -05:00
Behdad Esfahbod a62f776d8e [HB] Don't override CXX compiler
Just add couple of options to it (still assuming gcc)
2009-11-02 14:40:36 -05:00
Behdad Esfahbod a794ebf4be [HB] Use glib again 2009-11-02 14:40:32 -05:00
Behdad Esfahbod d341881d9a [HB] Fix build of main.cc 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 7edb430f91 [HB] Rename open-types to open-type; beauty 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 15164d9258 [HB] Fix mix warnings 2009-11-02 14:40:29 -05:00
Behdad Esfahbod b28e21b90c [HB] Rename hb-font.c to hb-font.cc 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 5f5b24f99f [OT] Rename C++ header files from *.h to *.hh 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 2098a021a8 [HB] Move OT file handling out of ot-layout 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 678bed4333 [HB] Add top-level header files 2009-11-02 14:40:26 -05:00
Behdad Esfahbod baec684fde [HB] Remove glib dependency 2009-11-02 14:40:25 -05:00
Behdad Esfahbod ba8d94ce33 [HB] Simplify object creation 2009-11-02 14:40:25 -05:00
Behdad Esfahbod c62b503770 [HB] Add abstract font and face API
Not used yet.
2009-11-02 14:40:25 -05:00
Behdad Esfahbod f0954d1e08 [HB] Add a "blob" manager 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 2ebb89d63d Revert "XX"
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod 55520d2af1 XX 2009-11-02 14:40:22 -05:00
Behdad Esfahbod 79420ad9ca [HB] Add get_attach_points() 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 5c0adce1cc [HB] Rename harfbuzz-buffer to hb-buffer 2009-11-02 14:40:15 -05:00
Behdad Esfahbod b857b49c82 [HB] Remove all references to the old code! 2009-11-02 14:40:15 -05:00
Behdad Esfahbod 0f7e6b2cea [GPOS] Fix more brokenness 2009-11-02 14:40:15 -05:00
Behdad Esfahbod bb3899a579 [GSUB] Implement ligature substitutions 2009-11-02 14:40:07 -05:00
Behdad Esfahbod ce48f03946 Merge harfbuzz-ng 2009-11-02 14:38:33 -05:00
Behdad Esfahbod 0e13beeb93 Use git.mk 2009-04-17 17:39:15 -04:00
Behdad Esfahbod 3664e59c52 Fix Bug 572529 – Poor -I ordering can break build 2009-03-02 11:09:29 +03:30
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 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 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 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 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 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 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 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 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 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
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
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 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 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
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
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
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
Sebastian Wilhelmi 973bd60a25 Resuming aborted commit
Resuming aborted commit
2001-12-13 17:44:46 +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
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 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