platform/upstream/libHarfBuzzSharp.git
12 years agoUse merge_clusters when forming Unicode clusters
Behdad Esfahbod [Sat, 9 Jun 2012 00:40:02 +0000 (20:40 -0400)]
Use merge_clusters when forming Unicode clusters

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 00:35:18 +0000 (20:35 -0400)]
Minor

12 years agoExtend into main buffer if extension hit end of out-buffer merging clusters
Behdad Esfahbod [Sat, 9 Jun 2012 00:33:27 +0000 (20:33 -0400)]
Extend into main buffer if extension hit end of out-buffer merging clusters

12 years agoExtend end when merging clusters in out-buffer
Behdad Esfahbod [Sat, 9 Jun 2012 00:31:32 +0000 (20:31 -0400)]
Extend end when merging clusters in out-buffer

12 years agoExtend clusters backward in out-buffer
Behdad Esfahbod [Sat, 9 Jun 2012 00:30:03 +0000 (20:30 -0400)]
Extend clusters backward in out-buffer

12 years agoExtend clusters backwards, into the out-buffer too
Behdad Esfahbod [Sat, 9 Jun 2012 00:27:53 +0000 (20:27 -0400)]
Extend clusters backwards, into the out-buffer too

12 years agoClear output buffer before calling GSUB pause functions
Behdad Esfahbod [Sat, 9 Jun 2012 00:21:02 +0000 (20:21 -0400)]
Clear output buffer before calling GSUB pause functions

12 years agoWhen merging clusters, extend the end
Behdad Esfahbod [Sat, 9 Jun 2012 00:17:10 +0000 (20:17 -0400)]
When merging clusters, extend the end

12 years agoMerge clusters when ligating
Behdad Esfahbod [Sat, 9 Jun 2012 00:13:56 +0000 (20:13 -0400)]
Merge clusters when ligating

12 years agoMinor, use next_glyph()
Behdad Esfahbod [Fri, 8 Jun 2012 23:29:44 +0000 (19:29 -0400)]
Minor, use next_glyph()

12 years agoMinor
Behdad Esfahbod [Fri, 8 Jun 2012 23:23:43 +0000 (19:23 -0400)]
Minor

12 years agoIncrease Uniscribe MAX_ITEMS
Behdad Esfahbod [Fri, 8 Jun 2012 18:18:30 +0000 (14:18 -0400)]
Increase Uniscribe MAX_ITEMS

12 years agoFix Uniscribe charset matching
Behdad Esfahbod [Fri, 8 Jun 2012 18:08:32 +0000 (14:08 -0400)]
Fix Uniscribe charset matching

Previously was failing to match fonts that didn't support CHARSET_ANSI.

There still remains a problem with the Uniscribe backend, in that if a
font with the same family name is installed, and is newer, the native
one is preferred over the font we provide.  Fixing it requires rewriting
the name table with a unique family name...

12 years agoRemove unused code
Behdad Esfahbod [Fri, 8 Jun 2012 15:48:29 +0000 (11:48 -0400)]
Remove unused code

12 years agoRemove zero-width chars in the fallback shaper too
Behdad Esfahbod [Fri, 8 Jun 2012 14:53:35 +0000 (10:53 -0400)]
Remove zero-width chars in the fallback shaper too

12 years agoFix regressions introduced by sed. Ouch!
Behdad Esfahbod [Fri, 8 Jun 2012 14:43:49 +0000 (10:43 -0400)]
Fix regressions introduced by sed.  Ouch!

Introduced in 99c2695759a6af855d565f4994bbdf220570bb48.
Broken mark-mark and mark-ligature stuff.

12 years agoWhitespace
Behdad Esfahbod [Fri, 8 Jun 2012 14:23:03 +0000 (10:23 -0400)]
Whitespace

12 years agoFix Uniscribe clusters with direction-overriden Arabic
Behdad Esfahbod [Fri, 8 Jun 2012 14:22:06 +0000 (10:22 -0400)]
Fix Uniscribe clusters with direction-overriden Arabic

12 years agoReally fix override-direction in Uniscribe
Behdad Esfahbod [Fri, 8 Jun 2012 14:10:29 +0000 (10:10 -0400)]
Really fix override-direction in Uniscribe

12 years agoUnbreak Uniscribe
Behdad Esfahbod [Fri, 8 Jun 2012 13:59:43 +0000 (09:59 -0400)]
Unbreak Uniscribe

Oops.  hb_tag_t and OPENTYPE_TAG have different endianness.  Perhaps
something to add API for in hb-uniscribe.h

12 years agoOverride direction in Uniscribe backend
Behdad Esfahbod [Fri, 8 Jun 2012 13:26:17 +0000 (09:26 -0400)]
Override direction in Uniscribe backend

Matches OT backend now.

12 years agoMake Uniscribe backend respect selected script
Behdad Esfahbod [Fri, 8 Jun 2012 13:20:53 +0000 (09:20 -0400)]
Make Uniscribe backend respect selected script

12 years agoAdd note re _NullPool
Behdad Esfahbod [Thu, 7 Jun 2012 21:42:48 +0000 (17:42 -0400)]
Add note re _NullPool

12 years agoFix alignment-requirement missmatch
Behdad Esfahbod [Thu, 7 Jun 2012 21:31:46 +0000 (17:31 -0400)]
Fix alignment-requirement missmatch

Detected by clang and lots of cmdline options.

12 years agoFix clang warning with NO_MT path
Behdad Esfahbod [Thu, 7 Jun 2012 19:48:18 +0000 (15:48 -0400)]
Fix clang warning with NO_MT path

12 years agoFix warnings produced by clang analyzer
Behdad Esfahbod [Thu, 7 Jun 2012 19:44:12 +0000 (15:44 -0400)]
Fix warnings produced by clang analyzer

12 years agoFix warnings
Behdad Esfahbod [Thu, 7 Jun 2012 17:32:57 +0000 (13:32 -0400)]
Fix warnings

12 years agoMinor
Behdad Esfahbod [Wed, 6 Jun 2012 15:29:25 +0000 (11:29 -0400)]
Minor

12 years agoFix ASSERT_POD on clang
Behdad Esfahbod [Wed, 6 Jun 2012 15:27:17 +0000 (11:27 -0400)]
Fix ASSERT_POD on clang

As reported by bashi.  Not tested.

12 years agoEnabled ICU again
Behdad Esfahbod [Wed, 6 Jun 2012 07:42:36 +0000 (03:42 -0400)]
Enabled ICU again

12 years agoAdd ASSERT_POD for most objects
Behdad Esfahbod [Wed, 6 Jun 2012 07:30:09 +0000 (03:30 -0400)]
Add ASSERT_POD for most objects

12 years agoAdd macros to check that types are POD
Behdad Esfahbod [Wed, 6 Jun 2012 07:07:01 +0000 (03:07 -0400)]
Add macros to check that types are POD

12 years agoDon't link to libstdc++
Behdad Esfahbod [Wed, 6 Jun 2012 01:14:04 +0000 (21:14 -0400)]
Don't link to libstdc++

New try.

12 years agoRemove unused hb_static_mutex_t
Behdad Esfahbod [Wed, 6 Jun 2012 00:49:51 +0000 (20:49 -0400)]
Remove unused hb_static_mutex_t

12 years agoDisable Intel atomic ops on mingw32
Behdad Esfahbod [Wed, 6 Jun 2012 00:39:07 +0000 (20:39 -0400)]
Disable Intel atomic ops on mingw32

Apparently the configure test is not enough...

12 years agoCleanup TRUE/FALSE vs true/false
Behdad Esfahbod [Wed, 6 Jun 2012 00:35:40 +0000 (20:35 -0400)]
Cleanup TRUE/FALSE vs true/false

12 years agoFix inert buffer set_length() with zero
Behdad Esfahbod [Wed, 6 Jun 2012 00:31:49 +0000 (20:31 -0400)]
Fix inert buffer set_length() with zero

Oops!

12 years agoAdd configure tests for Intel atomic intrinsics
Behdad Esfahbod [Wed, 6 Jun 2012 00:16:56 +0000 (20:16 -0400)]
Add configure tests for Intel atomic intrinsics

12 years agoShuffle
Behdad Esfahbod [Tue, 5 Jun 2012 23:55:46 +0000 (19:55 -0400)]
Shuffle

12 years agoRemove last static initializer
Behdad Esfahbod [Tue, 5 Jun 2012 23:23:29 +0000 (19:23 -0400)]
Remove last static initializer

We're free!  Lazy or immediate...

12 years agoMake hb-view err if all shapers failed
Behdad Esfahbod [Tue, 5 Jun 2012 23:17:02 +0000 (19:17 -0400)]
Make hb-view err if all shapers failed

12 years agoMake hb-ft static-initializer free
Behdad Esfahbod [Tue, 5 Jun 2012 22:30:19 +0000 (18:30 -0400)]
Make hb-ft static-initializer free

12 years agoUndo default unicode-funcs to avoid static initializer again
Behdad Esfahbod [Tue, 5 Jun 2012 22:14:03 +0000 (18:14 -0400)]
Undo default unicode-funcs to avoid static initializer again

12 years agoImplement lock-free hb_language_t
Behdad Esfahbod [Tue, 5 Jun 2012 22:00:45 +0000 (18:00 -0400)]
Implement lock-free hb_language_t

Another static-initialization down.  One more to go.

12 years agoAdd atomic-pointer functions
Behdad Esfahbod [Tue, 5 Jun 2012 21:27:20 +0000 (17:27 -0400)]
Add atomic-pointer functions

Gonig to use these for lock-free linked-lists, to be used for
hb_language_t among other things.

12 years agoAdd gcc intrinsics implementations for atomic and mutex
Behdad Esfahbod [Tue, 5 Jun 2012 20:34:49 +0000 (16:34 -0400)]
Add gcc intrinsics implementations for atomic and mutex

12 years agoAdd gcc implementation for atomic ops
Behdad Esfahbod [Tue, 5 Jun 2012 20:06:28 +0000 (16:06 -0400)]
Add gcc implementation for atomic ops

12 years agoAdd a mutex to object header
Behdad Esfahbod [Tue, 5 Jun 2012 19:37:19 +0000 (15:37 -0400)]
Add a mutex to object header

Removes one more static-initialization.  A few more to go.

12 years agoRemove static initializers from indic
Behdad Esfahbod [Tue, 5 Jun 2012 19:17:44 +0000 (15:17 -0400)]
Remove static initializers from indic

12 years agoBetter hide nil objects and make them const
Behdad Esfahbod [Tue, 5 Jun 2012 16:31:51 +0000 (12:31 -0400)]
Better hide nil objects and make them const

12 years agoRemove constructor from hb_prealloced_array_t
Behdad Esfahbod [Tue, 5 Jun 2012 18:17:32 +0000 (14:17 -0400)]
Remove constructor from hb_prealloced_array_t

This was causing all object types to be non-POD and have static
initializers.  We don't need that!

Now, most nil objects just moved from .bss to .data.  Fixing for that
coming soon.

12 years agoCheck for atexit()
Behdad Esfahbod [Tue, 5 Jun 2012 17:30:11 +0000 (13:30 -0400)]
Check for atexit()

12 years agoFix warnings
Behdad Esfahbod [Tue, 5 Jun 2012 17:04:20 +0000 (13:04 -0400)]
Fix warnings

12 years agos/script-punjabi/script-gurmukhi/
Behdad Esfahbod [Mon, 4 Jun 2012 14:21:22 +0000 (10:21 -0400)]
s/script-punjabi/script-gurmukhi/

12 years agoAdd --verbose to hb-shape
Behdad Esfahbod [Mon, 4 Jun 2012 12:56:00 +0000 (08:56 -0400)]
Add --verbose to hb-shape

Just turns all --show-* options on.

12 years agoRemove comma at the end of enum
Behdad Esfahbod [Mon, 4 Jun 2012 12:28:19 +0000 (08:28 -0400)]
Remove comma at the end of enum

As reported by Jonathan Kew on the list.

12 years agoRemove const from ref_count.ref_count
Behdad Esfahbod [Sun, 3 Jun 2012 19:54:19 +0000 (15:54 -0400)]
Remove const from ref_count.ref_count

According to Tom Hacohen this was breaking build with some compilers.

In file included from hb-buffer-private.hh:35:0,
                 from hb-ot-map-private.hh:32,
                 from hb-ot-shape-private.hh:32,
                 from hb-ot-shape.cc:29:
hb-object-private.hh: In constructor '_hb_object_header_t::_hb_object_header_t()':
hb-object-private.hh:97:8: error: uninitialized const member in 'struct hb_reference_count_t'
hb-object-private.hh:51:25: note: 'hb_reference_count_t::ref_count' should be initialized
In file included from hb-ot-shape.cc:33:0:
hb-set-private.hh: In constructor '_hb_set_t::_hb_set_t()':
hb-set-private.hh:37:8: note: synthesized method '_hb_object_header_t::_hb_object_header_t()' first required here
hb-ot-shape.cc: In function 'void hb_ot_shape_glyphs_closure(hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, hb_set_t*)':
hb-ot-shape.cc:521:12: note: synthesized method '_hb_set_t::_hb_set_t()' first required here

12 years agoMinor
Behdad Esfahbod [Sun, 3 Jun 2012 19:52:51 +0000 (15:52 -0400)]
Minor

12 years ago[util] Minor
Behdad Esfahbod [Sat, 2 Jun 2012 16:21:19 +0000 (12:21 -0400)]
[util] Minor

12 years ago[util] Make hb-shape continue shaping other lines if shapers failed
Behdad Esfahbod [Sat, 2 Jun 2012 16:13:08 +0000 (12:13 -0400)]
[util] Make hb-shape continue shaping other lines if shapers failed

12 years agoRemove tab character like other "zero-width" characters
Behdad Esfahbod [Fri, 1 Jun 2012 17:46:26 +0000 (13:46 -0400)]
Remove tab character like other "zero-width" characters

Uniscribe does that, this make comparing results to Uniscribe
easier.

12 years agoRemove unused variable
Behdad Esfahbod [Fri, 1 Jun 2012 17:45:25 +0000 (13:45 -0400)]
Remove unused variable

12 years agoRemove hb_atomic_int_set/get()
Behdad Esfahbod [Mon, 28 May 2012 14:46:47 +0000 (10:46 -0400)]
Remove hb_atomic_int_set/get()

We never use them in fact...

I'm just adjusting these as I better understand the requirements of
the code and the guarantees of each operation.

12 years agoMinor Malayalam test case
Behdad Esfahbod [Mon, 28 May 2012 02:39:48 +0000 (22:39 -0400)]
Minor Malayalam test case

From https://bugs.freedesktop.org/show_bug.cgi?id=45166

12 years agoAdd Myanmar test case
Behdad Esfahbod [Mon, 28 May 2012 02:07:04 +0000 (22:07 -0400)]
Add Myanmar test case

12 years agoAdd hb_font_get_glyph_name() and hb_font_get_glyph_from_name()
Behdad Esfahbod [Sun, 27 May 2012 15:29:21 +0000 (11:29 -0400)]
Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name()

12 years agoWarn if no Unicode functions implementation is found
Behdad Esfahbod [Sun, 27 May 2012 14:45:57 +0000 (10:45 -0400)]
Warn if no Unicode functions implementation is found

12 years agoCleanup atomic ops on OS X
Behdad Esfahbod [Sun, 27 May 2012 14:20:47 +0000 (10:20 -0400)]
Cleanup atomic ops on OS X

12 years agoDon't use atomic ops in hb_cache_t
Behdad Esfahbod [Sun, 27 May 2012 14:11:13 +0000 (10:11 -0400)]
Don't use atomic ops in hb_cache_t

We don't care about linearizability, so unprotected int read/write
are enough, no need for expensive memory barriers.  It's a cache,
that's all.

12 years agoMinor
Behdad Esfahbod [Sun, 27 May 2012 14:09:18 +0000 (10:09 -0400)]
Minor

12 years agoFix Windows atomic get/set
Behdad Esfahbod [Sun, 27 May 2012 14:01:13 +0000 (10:01 -0400)]
Fix Windows atomic get/set

According to:
http://msdn.microsoft.com/en-us/library/65tt87y8.aspx

MemoryBarrier() is the right macro to protect these, not _ReadBarrier()
and/or _WriteBarrier().

12 years ago[util] Add hidden --shaper that is equivalent of --shapers
Behdad Esfahbod [Fri, 25 May 2012 18:30:24 +0000 (14:30 -0400)]
[util] Add hidden --shaper that is equivalent of --shapers

12 years agoAdd set iterator
Behdad Esfahbod [Fri, 25 May 2012 18:17:54 +0000 (14:17 -0400)]
Add set iterator

12 years agoAdd set symmetric difference
Behdad Esfahbod [Fri, 25 May 2012 17:48:00 +0000 (13:48 -0400)]
Add set symmetric difference

12 years agoMinor
Behdad Esfahbod [Thu, 24 May 2012 19:00:01 +0000 (15:00 -0400)]
Minor

12 years agoFix hb_atomic_int_set() implementation for HB_NO_MT
Behdad Esfahbod [Thu, 24 May 2012 14:46:39 +0000 (10:46 -0400)]
Fix hb_atomic_int_set() implementation for HB_NO_MT

As pointed out by Jonathan Kew.

12 years agoUpdate TODO
Behdad Esfahbod [Thu, 24 May 2012 02:00:25 +0000 (22:00 -0400)]
Update TODO

12 years agoAdd Arabic diacritics tests
Behdad Esfahbod [Thu, 24 May 2012 01:50:43 +0000 (21:50 -0400)]
Add Arabic diacritics tests

12 years agoFix substitution glyph class propagation
Behdad Esfahbod [Wed, 23 May 2012 02:12:22 +0000 (22:12 -0400)]
Fix substitution glyph class propagation

The old code was doing nothing.

Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.

12 years agoAdd CJK Compatibility Ideographs tests
Behdad Esfahbod [Fri, 18 May 2012 19:04:35 +0000 (15:04 -0400)]
Add CJK Compatibility Ideographs tests

From:
http://people.mozilla.org/~jdaggett/tests/cjkcompat.html

12 years agoAdd a lock-free cache type for int->int functions
Behdad Esfahbod [Fri, 18 May 2012 02:04:45 +0000 (22:04 -0400)]
Add a lock-free cache type for int->int functions

To be used for cmap and advance caching if desired.

12 years agoImplement hb_atomic_int_set() for OS X
Behdad Esfahbod [Fri, 18 May 2012 02:02:08 +0000 (22:02 -0400)]
Implement hb_atomic_int_set() for OS X

12 years agoMinor
Behdad Esfahbod [Fri, 18 May 2012 01:53:24 +0000 (21:53 -0400)]
Minor

12 years agoAdd hb_atomic_int_set() again
Behdad Esfahbod [Fri, 18 May 2012 01:23:49 +0000 (21:23 -0400)]
Add hb_atomic_int_set() again

12 years agoFix type conflicts on Windows without glib
Behdad Esfahbod [Fri, 18 May 2012 01:01:04 +0000 (21:01 -0400)]
Fix type conflicts on Windows without glib

12 years agoDon't use min/max as function names
Behdad Esfahbod [Fri, 18 May 2012 00:55:12 +0000 (20:55 -0400)]
Don't use min/max as function names

They can be macros on some systems.  Eg. mingw32.

12 years agoPrefer native atomic/mutex ops to glib's
Behdad Esfahbod [Fri, 18 May 2012 00:50:38 +0000 (20:50 -0400)]
Prefer native atomic/mutex ops to glib's

12 years agoMove atomic ops into their own header
Behdad Esfahbod [Fri, 18 May 2012 00:30:46 +0000 (20:30 -0400)]
Move atomic ops into their own header

12 years agoUpdate TODO
Behdad Esfahbod [Fri, 18 May 2012 00:15:49 +0000 (20:15 -0400)]
Update TODO

12 years ago[util] Add hb-ot-shape-closure tool
Behdad Esfahbod [Wed, 16 May 2012 03:53:18 +0000 (23:53 -0400)]
[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

12 years ago[util] Refactor to accommodate for upcoming new tool
Behdad Esfahbod [Wed, 16 May 2012 03:10:39 +0000 (23:10 -0400)]
[util] Refactor to accommodate for upcoming new tool

12 years ago[Indic] Apply vatu feature after cjct
Behdad Esfahbod [Sun, 13 May 2012 16:09:29 +0000 (18:09 +0200)]
[Indic] Apply vatu feature after cjct

Testing with old Deva spec this reduces failures.
Test sequence: U+0915,U+094D,U+0930.

12 years agoMinor
Behdad Esfahbod [Sun, 13 May 2012 15:10:18 +0000 (17:10 +0200)]
Minor

12 years agoRefactor
Behdad Esfahbod [Sun, 13 May 2012 14:48:03 +0000 (16:48 +0200)]
Refactor

12 years agoRevert "[Indic] Refactoring"
Behdad Esfahbod [Sun, 13 May 2012 14:46:08 +0000 (16:46 +0200)]
Revert "[Indic] Refactoring"

This reverts commit 0831061efb78983b9c6e1e72574c977e56383c08.

12 years agoFix more warnings
Behdad Esfahbod [Sun, 13 May 2012 14:20:10 +0000 (16:20 +0200)]
Fix more warnings

12 years agoFix more unused-var warnings
Behdad Esfahbod [Sun, 13 May 2012 14:13:44 +0000 (16:13 +0200)]
Fix more unused-var warnings

12 years agoFix hb_face_set_index()
Behdad Esfahbod [Sun, 13 May 2012 14:04:36 +0000 (16:04 +0200)]
Fix hb_face_set_index()

12 years agoFix warnings
Behdad Esfahbod [Sun, 13 May 2012 14:01:08 +0000 (16:01 +0200)]
Fix warnings

12 years agoMinor
Behdad Esfahbod [Sun, 13 May 2012 13:54:43 +0000 (15:54 +0200)]
Minor