Commit Graph

154 Commits

Author SHA1 Message Date
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