platform/upstream/libHarfBuzzSharp.git
12 years ago[uniscribe] Unbreak
Behdad Esfahbod [Mon, 8 Aug 2011 22:47:55 +0000 (00:47 +0200)]
[uniscribe] Unbreak

12 years agoFix build again
Behdad Esfahbod [Mon, 8 Aug 2011 22:46:18 +0000 (00:46 +0200)]
Fix build again

12 years ago[API] Make set_user_data() functions take a replace parameter
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.

12 years ago[buffer] Make API take signed int length
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'.

12 years ago[FT] Adapt to new face API
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:38 +0000 (00:19 +0200)]
[FT] Adapt to new face API

12 years agoMinor
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:19 +0000 (00:19 +0200)]
Minor

12 years ago[uniscribe] Cleanup backend
Behdad Esfahbod [Mon, 8 Aug 2011 22:13:24 +0000 (00:13 +0200)]
[uniscribe] Cleanup backend

12 years agoFix build
Behdad Esfahbod [Mon, 8 Aug 2011 21:41:06 +0000 (23:41 +0200)]
Fix build

12 years ago[API] Sort out get_blob API
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.

12 years agoRename get_table to reference_table in all API
Behdad Esfahbod [Mon, 8 Aug 2011 19:42:02 +0000 (21:42 +0200)]
Rename get_table to reference_table in all API

12 years agoFix shaper ordering logic
Behdad Esfahbod [Mon, 8 Aug 2011 19:36:24 +0000 (21:36 +0200)]
Fix shaper ordering logic

12 years agoMinor
Behdad Esfahbod [Mon, 8 Aug 2011 01:49:30 +0000 (03:49 +0200)]
Minor

12 years ago[uniscribe] Fix blob lifecycles
Behdad Esfahbod [Sun, 7 Aug 2011 07:53:42 +0000 (03:53 -0400)]
[uniscribe] Fix blob lifecycles

12 years agoFix shaper_list manipulation, aaaaaaaaaaaaargh
Behdad Esfahbod [Sun, 7 Aug 2011 07:43:46 +0000 (03:43 -0400)]
Fix shaper_list manipulation, aaaaaaaaaaaaargh

12 years ago[test] test-object is not FreeType-specific, move it to the right place
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

12 years ago[uniscribe] Fix cluster calculation
Behdad Esfahbod [Sun, 7 Aug 2011 05:04:40 +0000 (01:04 -0400)]
[uniscribe] Fix cluster calculation

12 years agoMinor
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:58 +0000 (00:59 -0400)]
Minor

12 years ago[uniscribe] Fix shaper
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:38 +0000 (00:59 -0400)]
[uniscribe] Fix shaper

It's kinda working finally!

12 years ago[glib] Protect against invalid characters
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:12 +0000 (00:59 -0400)]
[glib] Protect against invalid characters

12 years ago[buffer] Accept -1 for text_length and item_length
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.

12 years agoFix name-table lookup
Behdad Esfahbod [Sun, 7 Aug 2011 04:00:27 +0000 (00:00 -0400)]
Fix name-table lookup

Oops!

12 years ago[uniscribe] Use font size directly
Behdad Esfahbod [Sun, 7 Aug 2011 02:59:54 +0000 (22:59 -0400)]
[uniscribe] Use font size directly

12 years ago[uniscribe] Make font selection work
Behdad Esfahbod [Sun, 7 Aug 2011 02:06:52 +0000 (22:06 -0400)]
[uniscribe] Make font selection work

Not tested yet.

12 years agoStart implementing the 'name' table
Behdad Esfahbod [Sat, 6 Aug 2011 00:34:50 +0000 (20:34 -0400)]
Start implementing the 'name' table

12 years agoSkip tests by returning 77
Behdad Esfahbod [Sat, 6 Aug 2011 00:11:06 +0000 (20:11 -0400)]
Skip tests by returning 77

automake test runner understands this.

12 years agoFix check on OS X sh
Behdad Esfahbod [Sat, 6 Aug 2011 00:09:25 +0000 (20:09 -0400)]
Fix check on OS X sh

12 years agoAdd hb_shape_list_shapers()
Behdad Esfahbod [Fri, 5 Aug 2011 23:48:49 +0000 (19:48 -0400)]
Add hb_shape_list_shapers()

12 years agoMinor
Behdad Esfahbod [Fri, 5 Aug 2011 22:18:21 +0000 (18:18 -0400)]
Minor

12 years agoFree all static memory upon exit
Behdad Esfahbod [Fri, 5 Aug 2011 22:02:30 +0000 (18:02 -0400)]
Free all static memory upon exit

12 years agoFix env parsing code
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.

12 years agoChange hb_shape() API back to what it was, add hb_shape_full()
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.

12 years agoChange hb_shape() API back to what it was, add hb_shape_full()
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.

12 years ago[API] Changes to main shape API
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.

12 years agoMake test.cc do something more useful
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.

12 years agoRemove C++ guards from source files
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.

12 years agoZero map objects
Behdad Esfahbod [Thu, 4 Aug 2011 23:49:05 +0000 (19:49 -0400)]
Zero map objects

12 years agoMore build fixes
Behdad Esfahbod [Thu, 4 Aug 2011 05:57:40 +0000 (01:57 -0400)]
More build fixes

12 years agoMore out-of-tree build fixes
Behdad Esfahbod [Thu, 4 Aug 2011 05:51:30 +0000 (01:51 -0400)]
More out-of-tree build fixes

12 years agoFix out-of-tree build
Behdad Esfahbod [Thu, 4 Aug 2011 05:42:59 +0000 (01:42 -0400)]
Fix out-of-tree build

12 years agoMinor
Behdad Esfahbod [Thu, 4 Aug 2011 05:38:37 +0000 (01:38 -0400)]
Minor

12 years agoMinor
Behdad Esfahbod [Thu, 4 Aug 2011 05:07:33 +0000 (01:07 -0400)]
Minor

12 years agoFix typo
Behdad Esfahbod [Thu, 4 Aug 2011 04:52:20 +0000 (00:52 -0400)]
Fix typo

12 years agoAdd draft experimental Uniscribe backend
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.

12 years agoMinor
Behdad Esfahbod [Wed, 3 Aug 2011 21:39:24 +0000 (17:39 -0400)]
Minor

12 years agoAdd internal hb_buffer_t::get_scratch_buffer()
Behdad Esfahbod [Wed, 3 Aug 2011 21:38:54 +0000 (17:38 -0400)]
Add internal hb_buffer_t::get_scratch_buffer()

12 years agoMinor
Behdad Esfahbod [Wed, 3 Aug 2011 21:38:34 +0000 (17:38 -0400)]
Minor

12 years ago[API] Add hb_face_get_blob()
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.

12 years agoFix fallback shaping
Behdad Esfahbod [Tue, 2 Aug 2011 18:06:51 +0000 (14:06 -0400)]
Fix fallback shaping

Broke it a few commits ago.

12 years agoMinor
Behdad Esfahbod [Tue, 2 Aug 2011 17:59:47 +0000 (13:59 -0400)]
Minor

12 years agoFix build with glib but not freetype
Behdad Esfahbod [Tue, 2 Aug 2011 17:44:24 +0000 (13:44 -0400)]
Fix build with glib but not freetype

12 years agoMinor
Behdad Esfahbod [Tue, 2 Aug 2011 16:05:49 +0000 (12:05 -0400)]
Minor

12 years agoDon't use icu-config when cross-compiling
Behdad Esfahbod [Tue, 2 Aug 2011 15:40:44 +0000 (11:40 -0400)]
Don't use icu-config when cross-compiling

12 years agoUnbreak icu-config results a bit
Behdad Esfahbod [Tue, 2 Aug 2011 15:29:55 +0000 (11:29 -0400)]
Unbreak icu-config results a bit

12 years agoBug 39763 - autogen.sh should check pkg-config availability
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)

12 years agoAdd mingw32 support
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

12 years agoBug 39702 - configure check for ragel
Behdad Esfahbod [Mon, 1 Aug 2011 20:39:32 +0000 (16:39 -0400)]
Bug 39702 - configure check for ragel

12 years agoUse missing script for calling ragel
Behdad Esfahbod [Mon, 1 Aug 2011 20:34:16 +0000 (16:34 -0400)]
Use missing script for calling ragel

12 years ago[Indic] Disable CJCT-disabling logic
Behdad Esfahbod [Mon, 1 Aug 2011 20:30:11 +0000 (16:30 -0400)]
[Indic] Disable CJCT-disabling logic

Read comment.

13 years ago[Indic] Stop looking for base upon seeing joiners
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.

13 years agoCosmetic
Behdad Esfahbod [Sun, 31 Jul 2011 20:00:35 +0000 (16:00 -0400)]
Cosmetic

13 years ago[Indic] Fix ZWJ/ZWNJ application
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.

13 years ago[Indic] Add Final Reordering rules into comments
Behdad Esfahbod [Sun, 31 Jul 2011 19:18:57 +0000 (15:18 -0400)]
[Indic] Add Final Reordering rules into comments

Not applied yet.

13 years ago[Indic] Handle Reph when determining base consonant
Behdad Esfahbod [Sun, 31 Jul 2011 19:07:11 +0000 (15:07 -0400)]
[Indic] Handle Reph when determining base consonant

13 years ago[Indic] Ra is a consonant too
Behdad Esfahbod [Sun, 31 Jul 2011 19:01:28 +0000 (15:01 -0400)]
[Indic] Ra is a consonant too

13 years ago[Indic] Fix reph inhibition logic
Behdad Esfahbod [Sun, 31 Jul 2011 18:57:59 +0000 (14:57 -0400)]
[Indic] Fix reph inhibition logic

13 years ago[Indic] Support ZWJ/ZWNJ
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!

13 years ago[Indic] Suppress reph formation upon joiners
Behdad Esfahbod [Sun, 31 Jul 2011 15:10:14 +0000 (11:10 -0400)]
[Indic] Suppress reph formation upon joiners

13 years agoUn-Ra U+09F1. According to the test suite this is correct.
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.

13 years agoMinor
Behdad Esfahbod [Sun, 31 Jul 2011 01:16:51 +0000 (21:16 -0400)]
Minor

13 years agoCosmetic
Behdad Esfahbod [Sun, 31 Jul 2011 01:11:53 +0000 (21:11 -0400)]
Cosmetic

13 years ago[Indic] For old-style Indic tables, move Halant around
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!

13 years ago[OT] Save chosen script tag
Behdad Esfahbod [Sun, 31 Jul 2011 00:57:01 +0000 (20:57 -0400)]
[OT] Save chosen script tag

13 years agoMinor
Behdad Esfahbod [Sun, 31 Jul 2011 00:23:55 +0000 (20:23 -0400)]
Minor

13 years ago[test] Fix problem with N'ko test direction
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.

13 years ago[Indic] Handle initial Ra+Halant in scripts that support Reph
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!

13 years agoMinor
Behdad Esfahbod [Sat, 30 Jul 2011 23:15:53 +0000 (19:15 -0400)]
Minor

13 years ago[Indic] Categorize Ra in scripts that have Reph
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.

13 years ago[Indic] Reorder matras
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 :).

13 years agoBug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS
Behdad Esfahbod [Sat, 30 Jul 2011 15:16:00 +0000 (11:16 -0400)]
Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS

13 years agoMinor
Behdad Esfahbod [Fri, 29 Jul 2011 21:02:48 +0000 (17:02 -0400)]
Minor

13 years ago[Indic] Apply Indic features
Behdad Esfahbod [Fri, 29 Jul 2011 20:37:02 +0000 (16:37 -0400)]
[Indic] Apply Indic features

Find the base consonant and apply basic Indic features accordingly.
Nothing complete, but does something for now.  Specifically:
no Ra handling right now, and no ZWJ/ZWNJ.

Number of failing shape-complex tests goes from 174 down to 125.

Next: reorder matras.

13 years agoMinor
Behdad Esfahbod [Fri, 29 Jul 2011 20:36:46 +0000 (16:36 -0400)]
Minor

13 years agoMinor
Behdad Esfahbod [Fri, 29 Jul 2011 20:27:31 +0000 (16:27 -0400)]
Minor

13 years agoRegister buffer vars in Indic shaper
Behdad Esfahbod [Thu, 28 Jul 2011 21:06:46 +0000 (17:06 -0400)]
Register buffer vars in Indic shaper

13 years agoOops. This should have gone into the previous commit
Behdad Esfahbod [Thu, 28 Jul 2011 21:03:43 +0000 (17:03 -0400)]
Oops.  This should have gone into the previous commit

13 years agoFormalize buffer var allocations
Behdad Esfahbod [Thu, 28 Jul 2011 20:48:43 +0000 (16:48 -0400)]
Formalize buffer var allocations

13 years agoMove more code around
Behdad Esfahbod [Thu, 28 Jul 2011 19:42:18 +0000 (15:42 -0400)]
Move more code around

Buffer var allocation coming into shape

13 years agoStreamline debugging infrastructure even more
Behdad Esfahbod [Tue, 26 Jul 2011 00:25:44 +0000 (20:25 -0400)]
Streamline debugging infrastructure even more

13 years agoUse variadic macros for debugging
Behdad Esfahbod [Mon, 25 Jul 2011 21:35:24 +0000 (17:35 -0400)]
Use variadic macros for debugging

Looks *so* much nicer!

13 years agoAdd sugar syntax for debug messages
Behdad Esfahbod [Mon, 25 Jul 2011 20:47:02 +0000 (16:47 -0400)]
Add sugar syntax for debug messages

Buffer debugging coming soon.

13 years agoMinor, fix leak from my previous refactorings
Behdad Esfahbod [Mon, 25 Jul 2011 20:30:32 +0000 (16:30 -0400)]
Minor, fix leak from my previous refactorings

13 years agoAdd internal API for buffer var allocation
Behdad Esfahbod [Mon, 25 Jul 2011 20:20:16 +0000 (16:20 -0400)]
Add internal API for buffer var allocation

13 years agoStart cleaning up buffer var allocation
Behdad Esfahbod [Mon, 25 Jul 2011 18:54:08 +0000 (14:54 -0400)]
Start cleaning up buffer var allocation

I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard.  I'm
going to add some internal API to track those such that mistakes
are discovered as soon as they are introduced.

13 years agoMove code around
Behdad Esfahbod [Mon, 25 Jul 2011 04:44:50 +0000 (00:44 -0400)]
Move code around

13 years agoShrink space used for ligature ids
Behdad Esfahbod [Mon, 25 Jul 2011 04:36:58 +0000 (00:36 -0400)]
Shrink space used for ligature ids

This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.

13 years agoMinor
Behdad Esfahbod [Mon, 25 Jul 2011 04:36:01 +0000 (00:36 -0400)]
Minor

13 years agoKeep Unicode props updated as we go so we avoid a scan later
Behdad Esfahbod [Sun, 24 Jul 2011 03:43:54 +0000 (23:43 -0400)]
Keep Unicode props updated as we go so we avoid a scan later

13 years agoImplement the Unicode Canonical Composition algorithm
Behdad Esfahbod [Sat, 23 Jul 2011 00:22:49 +0000 (20:22 -0400)]
Implement the Unicode Canonical Composition algorithm

Fallback normalization is complete and working now!

13 years agoHandle singleton decompositions
Behdad Esfahbod [Fri, 22 Jul 2011 21:14:46 +0000 (17:14 -0400)]
Handle singleton decompositions

13 years agoImplement Unicode Canonical Reordering Algorithm
Behdad Esfahbod [Fri, 22 Jul 2011 21:04:20 +0000 (17:04 -0400)]
Implement Unicode Canonical Reordering Algorithm