Behdad Esfahbod [Mon, 15 Aug 2011 14:15:44 +0000 (16:15 +0200)]
[ft] FT_Select_Charmap() when we create face
Behdad Esfahbod [Mon, 15 Aug 2011 07:52:05 +0000 (09:52 +0200)]
Apply 'locl' with 'ccmp' in Arabic shaper
According to Peter Constable this is indeed what Uniscribe has been
doing for years.
Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0
Behdad Esfahbod [Sun, 14 Aug 2011 13:17:16 +0000 (15:17 +0200)]
Start adding gobject-introspection support
Behdad Esfahbod [Sat, 13 Aug 2011 17:03:48 +0000 (19:03 +0200)]
Fix missing return
Behdad Esfahbod [Sat, 13 Aug 2011 15:16:45 +0000 (17:16 +0200)]
Minor
Behdad Esfahbod [Thu, 11 Aug 2011 09:54:31 +0000 (11:54 +0200)]
Refactor hb-view code
Behdad Esfahbod [Wed, 10 Aug 2011 20:08:36 +0000 (22:08 +0200)]
Add uniscribe font getters
Behdad Esfahbod [Wed, 10 Aug 2011 20:00:35 +0000 (22:00 +0200)]
Implement hb_ft_font_get_face
Behdad Esfahbod [Wed, 10 Aug 2011 19:54:22 +0000 (21:54 +0200)]
Fix charset conversion
Behdad Esfahbod [Wed, 10 Aug 2011 14:28:38 +0000 (16:28 +0200)]
[util] Add hb-shape --shapers
If the specified shapers fail, hb-shape will fail immediately
Behdad Esfahbod [Wed, 10 Aug 2011 14:25:56 +0000 (16:25 +0200)]
Fix const correctness in the API
Behdad Esfahbod [Wed, 10 Aug 2011 14:07:49 +0000 (16:07 +0200)]
Reformat
Behdad Esfahbod [Wed, 10 Aug 2011 13:26:41 +0000 (15:26 +0200)]
[util] Port hb-view to GOption
Behdad Esfahbod [Tue, 9 Aug 2011 13:03:00 +0000 (15:03 +0200)]
Move hb-view into util/
Behdad Esfahbod [Tue, 9 Aug 2011 12:03:12 +0000 (14:03 +0200)]
[uniscribe] Remove zerowidth glyphs from output
Behdad Esfahbod [Tue, 9 Aug 2011 12:00:44 +0000 (14:00 +0200)]
[test/shape-complex] Print cluster and position info in --verbose
Behdad Esfahbod [Tue, 9 Aug 2011 11:52:36 +0000 (13:52 +0200)]
Fix warnings with old glib
Behdad Esfahbod [Tue, 9 Aug 2011 09:44:42 +0000 (11:44 +0200)]
Minor
Behdad Esfahbod [Tue, 9 Aug 2011 09:37:46 +0000 (11:37 +0200)]
Add fallback shaper
Behdad Esfahbod [Tue, 9 Aug 2011 09:36:54 +0000 (11:36 +0200)]
[FT] Don't make font immutable
Behdad Esfahbod [Tue, 9 Aug 2011 08:51:24 +0000 (10:51 +0200)]
[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.
Behdad Esfahbod [Tue, 9 Aug 2011 06:35:07 +0000 (08:35 +0200)]
Minor
Behdad Esfahbod [Mon, 8 Aug 2011 22:47:55 +0000 (00:47 +0200)]
[uniscribe] Unbreak
Behdad Esfahbod [Mon, 8 Aug 2011 22:46:18 +0000 (00:46 +0200)]
Fix build again
Behdad Esfahbod [Mon, 8 Aug 2011 22:43:24 +0000 (00:43 +0200)]
[API] Make set_user_data() functions take a replace parameter
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
Behdad Esfahbod [Mon, 8 Aug 2011 22:23:58 +0000 (00:23 +0200)]
[buffer] Make API take signed int length
Since we already switched to accepting -1 as 'zero-terminated'.
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:38 +0000 (00:19 +0200)]
[FT] Adapt to new face API
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:19 +0000 (00:19 +0200)]
Minor
Behdad Esfahbod [Mon, 8 Aug 2011 22:13:24 +0000 (00:13 +0200)]
[uniscribe] Cleanup backend
Behdad Esfahbod [Mon, 8 Aug 2011 21:41:06 +0000 (23:41 +0200)]
Fix build
Behdad Esfahbod [Mon, 8 Aug 2011 21:37:41 +0000 (23:37 +0200)]
[API] Sort out get_blob API
hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.
hb_face_[sg]et_index() added.
hb_face_set_upem() added.
Behdad Esfahbod [Mon, 8 Aug 2011 19:42:02 +0000 (21:42 +0200)]
Rename get_table to reference_table in all API
Behdad Esfahbod [Mon, 8 Aug 2011 19:36:24 +0000 (21:36 +0200)]
Fix shaper ordering logic
Behdad Esfahbod [Mon, 8 Aug 2011 01:49:30 +0000 (03:49 +0200)]
Minor
Behdad Esfahbod [Sun, 7 Aug 2011 07:53:42 +0000 (03:53 -0400)]
[uniscribe] Fix blob lifecycles
Behdad Esfahbod [Sun, 7 Aug 2011 07:43:46 +0000 (03:43 -0400)]
Fix shaper_list manipulation, aaaaaaaaaaaaargh
Behdad Esfahbod [Sun, 7 Aug 2011 05:10:55 +0000 (01:10 -0400)]
[test] test-object is not FreeType-specific, move it to the right place
Behdad Esfahbod [Sun, 7 Aug 2011 05:04:40 +0000 (01:04 -0400)]
[uniscribe] Fix cluster calculation
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:58 +0000 (00:59 -0400)]
Minor
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:38 +0000 (00:59 -0400)]
[uniscribe] Fix shaper
It's kinda working finally!
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:12 +0000 (00:59 -0400)]
[glib] Protect against invalid characters
Behdad Esfahbod [Sun, 7 Aug 2011 04:51:50 +0000 (00:51 -0400)]
[buffer] Accept -1 for text_length and item_length
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
Behdad Esfahbod [Sun, 7 Aug 2011 04:00:27 +0000 (00:00 -0400)]
Fix name-table lookup
Oops!
Behdad Esfahbod [Sun, 7 Aug 2011 02:59:54 +0000 (22:59 -0400)]
[uniscribe] Use font size directly
Behdad Esfahbod [Sun, 7 Aug 2011 02:06:52 +0000 (22:06 -0400)]
[uniscribe] Make font selection work
Not tested yet.
Behdad Esfahbod [Sat, 6 Aug 2011 00:34:50 +0000 (20:34 -0400)]
Start implementing the 'name' table
Behdad Esfahbod [Sat, 6 Aug 2011 00:11:06 +0000 (20:11 -0400)]
Skip tests by returning 77
automake test runner understands this.
Behdad Esfahbod [Sat, 6 Aug 2011 00:09:25 +0000 (20:09 -0400)]
Fix check on OS X sh
Behdad Esfahbod [Fri, 5 Aug 2011 23:48:49 +0000 (19:48 -0400)]
Add hb_shape_list_shapers()
Behdad Esfahbod [Fri, 5 Aug 2011 22:18:21 +0000 (18:18 -0400)]
Minor
Behdad Esfahbod [Fri, 5 Aug 2011 22:02:30 +0000 (18:02 -0400)]
Free all static memory upon exit
Behdad Esfahbod [Fri, 5 Aug 2011 21:54:25 +0000 (17:54 -0400)]
Fix env parsing code
Also changed the separator to comma instead of colon.
Behdad Esfahbod [Fri, 5 Aug 2011 21:22:19 +0000 (17:22 -0400)]
Change hb_shape() API back to what it was, add hb_shape_full()
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
Behdad Esfahbod [Fri, 5 Aug 2011 21:22:19 +0000 (17:22 -0400)]
Change hb_shape() API back to what it was, add hb_shape_full()
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
Behdad Esfahbod [Fri, 5 Aug 2011 02:31:05 +0000 (22:31 -0400)]
[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.
Behdad Esfahbod [Fri, 5 Aug 2011 00:49:16 +0000 (20:49 -0400)]
Make test.cc do something more useful
Hardcoded to the uniscribe backend for now. Will fix soon.
Behdad Esfahbod [Fri, 5 Aug 2011 00:00:53 +0000 (20:00 -0400)]
Remove C++ guards from source files
Where causing issues for people with MSVC.
Behdad Esfahbod [Thu, 4 Aug 2011 23:49:05 +0000 (19:49 -0400)]
Zero map objects
Behdad Esfahbod [Thu, 4 Aug 2011 05:57:40 +0000 (01:57 -0400)]
More build fixes
Behdad Esfahbod [Thu, 4 Aug 2011 05:51:30 +0000 (01:51 -0400)]
More out-of-tree build fixes
Behdad Esfahbod [Thu, 4 Aug 2011 05:42:59 +0000 (01:42 -0400)]
Fix out-of-tree build
Behdad Esfahbod [Thu, 4 Aug 2011 05:38:37 +0000 (01:38 -0400)]
Minor
Behdad Esfahbod [Thu, 4 Aug 2011 05:07:33 +0000 (01:07 -0400)]
Minor
Behdad Esfahbod [Thu, 4 Aug 2011 04:52:20 +0000 (00:52 -0400)]
Fix typo
Behdad Esfahbod [Wed, 3 Aug 2011 23:55:04 +0000 (19:55 -0400)]
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.
Behdad Esfahbod [Wed, 3 Aug 2011 21:39:24 +0000 (17:39 -0400)]
Minor
Behdad Esfahbod [Wed, 3 Aug 2011 21:38:54 +0000 (17:38 -0400)]
Add internal hb_buffer_t::get_scratch_buffer()
Behdad Esfahbod [Wed, 3 Aug 2011 21:38:34 +0000 (17:38 -0400)]
Minor
Behdad Esfahbod [Wed, 3 Aug 2011 21:38:04 +0000 (17:38 -0400)]
[API] Add hb_face_get_blob()
Need to think more about it.
Behdad Esfahbod [Tue, 2 Aug 2011 18:06:51 +0000 (14:06 -0400)]
Fix fallback shaping
Broke it a few commits ago.
Behdad Esfahbod [Tue, 2 Aug 2011 17:59:47 +0000 (13:59 -0400)]
Minor
Behdad Esfahbod [Tue, 2 Aug 2011 17:44:24 +0000 (13:44 -0400)]
Fix build with glib but not freetype
Behdad Esfahbod [Tue, 2 Aug 2011 16:05:49 +0000 (12:05 -0400)]
Minor
Behdad Esfahbod [Tue, 2 Aug 2011 15:40:44 +0000 (11:40 -0400)]
Don't use icu-config when cross-compiling
Behdad Esfahbod [Tue, 2 Aug 2011 15:29:55 +0000 (11:29 -0400)]
Unbreak icu-config results a bit
Behdad Esfahbod [Tue, 2 Aug 2011 15:25:13 +0000 (11:25 -0400)]
Bug 39763 - autogen.sh should check pkg-config availability
(and revert change have_icu change I mistakenly pushed out)
Behdad Esfahbod [Tue, 2 Aug 2011 13:56:30 +0000 (09:56 -0400)]
Add mingw32 support
With these changes, on Ubuntu I can do:
./configure --host=i586-mingw32msvc && make
Behdad Esfahbod [Mon, 1 Aug 2011 20:39:32 +0000 (16:39 -0400)]
Bug 39702 - configure check for ragel
Behdad Esfahbod [Mon, 1 Aug 2011 20:34:16 +0000 (16:34 -0400)]
Use missing script for calling ragel
Behdad Esfahbod [Mon, 1 Aug 2011 20:30:11 +0000 (16:30 -0400)]
[Indic] Disable CJCT-disabling logic
Read comment.
Behdad Esfahbod [Sun, 31 Jul 2011 21:51:50 +0000 (17:51 -0400)]
[Indic] Stop looking for base upon seeing joiners
Not sure where this is documented, but I remember this being the desired
behavior.
test-shape-complex failures are down from 48 to 46. Meh.
Behdad Esfahbod [Sun, 31 Jul 2011 20:00:35 +0000 (16:00 -0400)]
Cosmetic
Behdad Esfahbod [Sun, 31 Jul 2011 19:57:00 +0000 (15:57 -0400)]
[Indic] Fix ZWJ/ZWNJ application
Not quite working just yet. False alarm re 10 failures. It was
crashing. Ouch! Back to 48 failures.
Behdad Esfahbod [Sun, 31 Jul 2011 19:18:57 +0000 (15:18 -0400)]
[Indic] Add Final Reordering rules into comments
Not applied yet.
Behdad Esfahbod [Sun, 31 Jul 2011 19:07:11 +0000 (15:07 -0400)]
[Indic] Handle Reph when determining base consonant
Behdad Esfahbod [Sun, 31 Jul 2011 19:01:28 +0000 (15:01 -0400)]
[Indic] Ra is a consonant too
Behdad Esfahbod [Sun, 31 Jul 2011 18:57:59 +0000 (14:57 -0400)]
[Indic] Fix reph inhibition logic
Behdad Esfahbod [Sun, 31 Jul 2011 17:46:44 +0000 (13:46 -0400)]
[Indic] Support ZWJ/ZWNJ
Brings test-shape-complex failures down from 52 to 10!
I hereby declare harfbuzz-ng supporting Indic!
Behdad Esfahbod [Sun, 31 Jul 2011 15:10:14 +0000 (11:10 -0400)]
[Indic] Suppress reph formation upon joiners
Behdad Esfahbod [Sun, 31 Jul 2011 06:24:51 +0000 (02:24 -0400)]
Un-Ra U+09F1. According to the test suite this is correct.
But I'm not sure... Down from 54 failures to 52.
Behdad Esfahbod [Sun, 31 Jul 2011 01:16:51 +0000 (21:16 -0400)]
Minor
Behdad Esfahbod [Sun, 31 Jul 2011 01:11:53 +0000 (21:11 -0400)]
Cosmetic
Behdad Esfahbod [Sun, 31 Jul 2011 01:08:10 +0000 (21:08 -0400)]
[Indic] For old-style Indic tables, move Halant around
In old-style Indic OT standards, the post-base Halants are moved after
their base. Emulate that by moving first post-base Halant to
post-last-consonant.
Brings test-shape-complex failures down from 88 to 54. Getting there!
Behdad Esfahbod [Sun, 31 Jul 2011 00:57:01 +0000 (20:57 -0400)]
[OT] Save chosen script tag
Behdad Esfahbod [Sun, 31 Jul 2011 00:23:55 +0000 (20:23 -0400)]
Minor
Behdad Esfahbod [Sun, 31 Jul 2011 00:21:40 +0000 (20:21 -0400)]
[test] Fix problem with N'ko test direction
Old HarfBuzz test suite always shaped as left-to-right and hence had wrong
0x14db, direction expected glyphstring for N'ko. Doh!
Failures down from 92 to 88.
Behdad Esfahbod [Sun, 31 Jul 2011 00:14:44 +0000 (20:14 -0400)]
[Indic] Handle initial Ra+Halant in scripts that support Reph
Brings test-shape-complex failures down from 104 to 92. Way to go!
Behdad Esfahbod [Sat, 30 Jul 2011 23:15:53 +0000 (19:15 -0400)]
Minor
Behdad Esfahbod [Sat, 30 Jul 2011 23:04:02 +0000 (19:04 -0400)]
[Indic] Categorize Ra in scripts that have Reph
Is the categorization correct? I don't know.
Behdad Esfahbod [Sat, 30 Jul 2011 18:44:30 +0000 (14:44 -0400)]
[Indic] Reorder matras
Number of failing shape-complex tests goes from 125 down to 94.
Next: Add Ra handling and it's fair to say we kinda support Indic :).