platform/upstream/libHarfBuzzSharp.git
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

12 years agoAdd accessort to buffer for current info, current pos, and prev info
Behdad Esfahbod [Sun, 13 May 2012 13:45:18 +0000 (15:45 +0200)]
Add accessort to buffer for current info, current pos, and prev info

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

12 years ago[GSUB/GPOS] Remove context_length
Behdad Esfahbod [Sun, 13 May 2012 13:17:51 +0000 (15:17 +0200)]
[GSUB/GPOS] Remove context_length

The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either.  It was inherited from old HarfBuzz.
Remove it.

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

12 years agoRemove ioctl checks
Behdad Esfahbod [Sun, 13 May 2012 11:03:44 +0000 (13:03 +0200)]
Remove ioctl checks

Ended up not using terminal size after all.

12 years ago[util] Set ansi color only on color change
Behdad Esfahbod [Sun, 13 May 2012 11:02:38 +0000 (13:02 +0200)]
[util] Set ansi color only on color change

12 years agoReduce default margin
Behdad Esfahbod [Sun, 13 May 2012 10:51:02 +0000 (12:51 +0200)]
Reduce default margin

12 years ago[util] Make hb-view print out Unicode art if stdout is a terminal
Behdad Esfahbod [Sun, 13 May 2012 00:02:58 +0000 (02:02 +0200)]
[util] Make hb-view print out Unicode art if stdout is a terminal

12 years agoMinor
Behdad Esfahbod [Sat, 12 May 2012 22:54:07 +0000 (00:54 +0200)]
Minor

12 years ago[util] Make tools default to stdin if no text is provided
Behdad Esfahbod [Sat, 12 May 2012 13:54:27 +0000 (15:54 +0200)]
[util] Make tools default to stdin if no text is provided

One less argument to type in typical testing workflow!

12 years ago[util] Change default font size of hb-view to 256
Behdad Esfahbod [Sat, 12 May 2012 13:41:48 +0000 (15:41 +0200)]
[util] Change default font size of hb-view to 256

Most common usecase of hb-view is to test rendering of short words for
testing / inspection.  Not having to type "--font-size 150" each time
isn't such a bad idea...

12 years agoFix compiler warnings
Behdad Esfahbod [Sat, 12 May 2012 13:40:11 +0000 (15:40 +0200)]
Fix compiler warnings

12 years ago[test] Make tool usage easier by not requiring "--stdin"
Behdad Esfahbod [Sat, 12 May 2012 13:34:40 +0000 (15:34 +0200)]
[test] Make tool usage easier by not requiring "--stdin"

Just default to it.  Added "--help" instead to get usage.

12 years ago[Indic] Add more Malayalam tests
Behdad Esfahbod [Sat, 12 May 2012 11:34:18 +0000 (13:34 +0200)]
[Indic] Add more Malayalam tests

12 years agoFix compiler warnings
Behdad Esfahbod [Fri, 11 May 2012 21:10:31 +0000 (23:10 +0200)]
Fix compiler warnings

12 years ago[Indic] Unbreak Devanagari
Behdad Esfahbod [Fri, 11 May 2012 20:00:06 +0000 (22:00 +0200)]
[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.

12 years ago[Indic] Disambiguate sub vs post vs above matras
Behdad Esfahbod [Fri, 11 May 2012 19:42:27 +0000 (21:42 +0200)]
[Indic] Disambiguate sub vs post vs above matras

Bengali is at *just* above 5% now.

12 years ago[Indic] Position Bengali Reph before matras
Behdad Esfahbod [Fri, 11 May 2012 19:36:32 +0000 (21:36 +0200)]
[Indic] Position Bengali Reph before matras

12 years ago[Indic] Start categorizing Reph per script
Behdad Esfahbod [Fri, 11 May 2012 19:10:03 +0000 (21:10 +0200)]
[Indic] Start categorizing Reph per script

12 years ago[Indic] Apply 'init' feature for Bengali
Behdad Esfahbod [Fri, 11 May 2012 18:59:26 +0000 (20:59 +0200)]
[Indic] Apply 'init' feature for Bengali

Error down from 20% to 7%.

12 years ago[Indic] Refactor for the arrival of 'init' feature
Behdad Esfahbod [Fri, 11 May 2012 18:50:53 +0000 (20:50 +0200)]
[Indic] Refactor for the arrival of 'init' feature

Yep, on Bengali now!

12 years ago[Indic] Add Uniscribe bug feature for dotted circle
Behdad Esfahbod [Fri, 11 May 2012 18:02:14 +0000 (20:02 +0200)]
[Indic] Add Uniscribe bug feature for dotted circle

For dotted-circle independent clusters, Uniscribe does no Reph shaping
for the exact sequence Ra+Halant+25CC.  Which also is the only possible
sequence with 25CC at the end.

12 years ago[Indic] Add tests for dottedcircle
Behdad Esfahbod [Fri, 11 May 2012 17:55:42 +0000 (19:55 +0200)]
[Indic] Add tests for dottedcircle