Commit Graph

376 Commits

Author SHA1 Message Date
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 11c4ad439e Add -Wcast-align 2012-07-13 11:29:31 -04:00
Behdad Esfahbod ec5f5f0f8a Don't export inline methods 2012-07-13 10:00:42 -04:00
Behdad Esfahbod 12f5c0a222 Fix check for Intel atomic ops 2012-06-26 11:16:13 -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 8c5f5e6f5e Minor 2012-06-17 14:58:59 -04:00
Behdad Esfahbod 84d781e54c Flesh out gobject-introspection stuff a bit 2012-06-16 15:21:41 -04:00
Behdad Esfahbod 4282d2f377 Enabled ICU again 2012-06-06 03:42:36 -04:00
Behdad Esfahbod a00a63b5ef Add macros to check that types are POD 2012-06-06 03:07:01 -04:00
Behdad Esfahbod 04bc1eebe7 Add configure tests for Intel atomic intrinsics 2012-06-05 20:16:56 -04:00
Behdad Esfahbod 68c75b4697 Shuffle 2012-06-05 20:15:30 -04:00
Behdad Esfahbod cdafe3a7d8 Add gcc intrinsics implementations for atomic and mutex 2012-06-05 16:40:23 -04:00
Behdad Esfahbod 7037291aac Check for atexit() 2012-06-05 14:06:04 -04:00
Behdad Esfahbod c87b317f0e [util] Add hb-ot-shape-closure tool
Computes all the glyphs that may be generated given a font and
set of Unicode characters.

The order of the Unicode characters is irrelevant.

Sample output:

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f
f f_f

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i
i

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi
f f_i f_f_i f_f i

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب
uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا
uni0627 uni0627.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با --no-glyph-names
5 6 133 134 135 136
2012-05-15 23:53:18 -04:00
Behdad Esfahbod 50f630c17c Remove ioctl checks
Ended up not using terminal size after all.
2012-05-13 13:03:44 +02:00
Behdad Esfahbod 52e7b1424a [util] Make hb-view print out Unicode art if stdout is a terminal 2012-05-13 07:55:00 +02:00
Behdad Esfahbod f7e8dcfd4f [Indic] Unbreak Devanagari
And this, concludes the HarfBuzz Massala Hackfest.

I like to specially thank Jonathan Kew for doing all the decription and
letting me get commit points.
2012-05-11 22:01:33 +02: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 c62e41b6aa Minor 2012-01-27 02:20:58 -05:00
Behdad Esfahbod d4de562adf Start adding new shaping test suite together 2012-01-19 15:21:04 -05:00
Behdad Esfahbod 4d6dafd47f Rename test/ to test/api/ 2012-01-19 14:52:02 -05:00
Behdad Esfahbod 3d0ddd1280 Require glib >= 2.16 for the gobject option 2012-01-15 15:55:52 -05:00
Behdad Esfahbod 95ab82a992 Disable gtk-doc macro
We don't have any docs yet.
2012-01-15 14:56:56 -05:00
Behdad Esfahbod 880c1f0e4e Rewrite ICU detection code with in-house macros
At least works for cross-compiling now...
2011-09-19 23:10:22 -04:00
Behdad Esfahbod 8b8b19056d [util] Add hb-shape utility
Like hb-view, but prints out buffer contents.

The output format is kinda cryptic.  Suggestions welcome.
2011-09-19 16:41:17 -04:00
Behdad Esfahbod 0fe2960197 Fix Linux build when io.h is available
Bug 40953 - fail compile git: make[2]: *** [hb_view-options.o] Error 1
2011-09-17 09:59:58 -04:00
Behdad Esfahbod 4451168e5d Fix binary stdin/stdout io in Windows
Make --font-file accept "-" to mean stdin, and have it work
in Windows too!
2011-09-16 00:41:08 -04:00
Behdad Esfahbod b9b10ad78b [util] Refactor hb-view completely
Now we can use the same code to do other utils...
2011-09-15 00:30:41 -04:00
Behdad Esfahbod 46377396ac [configure] Fix graphite bits 2011-08-24 02:12:05 +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 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 0b7e4d9f20 [ft] FT_Get_Advance() for advance-width callbacks
Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster.  No caching layer needed anymore.
2011-08-15 20:41: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 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 ecd3b6e4ad More build fixes 2011-08-04 01:57:40 -04:00
Behdad Esfahbod ddbf4edc5d Minor 2011-08-04 01:38:37 -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 0d7d4824b2 Minor 2011-08-03 17:39:24 -04:00
Behdad Esfahbod e9c2341b13 Don't use icu-config when cross-compiling 2011-08-02 11:40:44 -04:00
Behdad Esfahbod 390dab49b6 Unbreak icu-config results a bit 2011-08-02 11:29:55 -04:00
Behdad Esfahbod b301478a69 Bug 39763 - autogen.sh should check pkg-config availability
(and revert change have_icu change I mistakenly pushed out)
2011-08-02 11:25:13 -04:00
Behdad Esfahbod f60271c0c2 Add mingw32 support
With these changes, on Ubuntu I can do:

./configure --host=i586-mingw32msvc  && make
2011-08-02 10:00:55 -04:00
Behdad Esfahbod 595dc63eee Bump version to 0.7.0 to open up for development 2011-05-27 04:14:42 -04:00
Behdad Esfahbod f245576042 Release 0.6.0. First official tarball release!
There are no API guarantees just yet, but I *expect* that no
incompatible API changes to happen before 1.0.0.

Update NEWS.
2011-05-27 03:48:27 -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 5b21eff8c4 Update README, etc 2011-05-25 15:40:49 -04:00
Behdad Esfahbod 5be7d047f6 Check for mmap()
Apparently there exist systems with mprotect(), but not mmap()?
2011-05-17 15:56:31 -04:00
Behdad Esfahbod 0c2ec1d78b [test] Always initialize gthread such that our mutex() stuff is tested
Now the test/object test deadlocks as expected.  Fix coming.
2011-05-10 19:11:52 -04:00
Behdad Esfahbod 71cef14ac3 Add -Bsymbolic-functions to linker flags 2011-05-06 19:30:59 -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 9ff819f657 Add disable-static libtool flag
No one who builds harfbuzz static uses the autotools build system to do it.
2011-05-05 19:47:59 -04:00
Behdad Esfahbod 7ca7571ef9 Remove win32-dll libtool flag
Since we're not win32-dll clean the way libtool docs define it.
2011-05-05 19:47:12 -04:00
Behdad Esfahbod 174e3fe89b Add AC_CANONICAL_HOST 2011-05-05 19:37:53 -04:00
Behdad Esfahbod e6a5b88c01 Fix build with older glib 2011-05-05 16:24:42 -04:00
Behdad Esfahbod 5b7f38979f GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm
With gcc on arm, request 8-bit structure alignment.
2011-04-27 15:10:12 -04:00
Behdad Esfahbod bbdeff5964 Add test directory 2011-04-07 16:05:07 -04: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 a07874300a Don't use the m4/ dir
We just require people to have libtool, pkg-config, etc installed
when running autogen.sh
2011-01-10 02:27:49 -05:00
Javier Jardón 2abe1264a5 Bug 31174 - Update autotools configuration 2011-01-09 22:18:53 -05:00
Behdad Esfahbod 76691f0240 Fix ICU detection 2011-01-06 14:16:59 -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 d1f1707adc Bug 31965 - some GNU/Linux distributions lack icu.pc but have icu-config
Patch from suzuki toshiya.
2010-11-30 00:57:15 -05:00
Behdad Esfahbod 502f4cba3e Divide get_metrics into get_advance and get_extents
Graphite module not updated.
Bump version to 0.3.
2010-10-27 01:13:56 -04:00
Behdad Esfahbod 3703f88b74 Step the version up to 0.2 now that Arabic shaper is in 2010-10-12 18:34:20 -04:00
Behdad Esfahbod 0109816b50 Update build system 2010-10-05 18:36:45 -04:00
Behdad Esfahbod 305ba86715 Import Graphite shaping backend by Martin Hosken 2010-05-21 14:15:39 +01:00
Behdad Esfahbod 690b919461 Remove use of flexible arrays
Also remove wrong ASSERT_SIZE that would trigger only when not using
flexible arrays (which was the case on win32, but not with gcc).
2010-04-25 22:52:22 -04:00
Behdad Esfahbod cd11a98fa1 Fix compile with older FreeType 2009-12-20 23:05:02 +01:00
Behdad Esfahbod c65b26acf2 Use autoconf FLEXIBLE_ARRAY_MEMBER when available 2009-11-18 11:27:33 -05:00
Behdad Esfahbod d94647e2cd Add ICU glue 2009-11-03 16:35:10 -05:00
Behdad Esfahbod eb4ebda2d1 [configure] Fix check for FreeType 2009-11-03 14:09:32 -05:00
Behdad Esfahbod f94cf6b969 Another try at build without glib 2009-11-02 18:55:19 -05:00
Behdad Esfahbod a6451aa626 We don't really use gthread directly 2009-11-02 18:35:12 -05:00
Behdad Esfahbod 29aa400183 Add build system 2009-11-02 16:34:59 -05:00