platform/upstream/libHarfBuzzSharp.git
12 years agoUse octal-escaped UTF-8 characters instead of plain text
Behdad Esfahbod [Tue, 26 Jun 2012 14:46:31 +0000 (10:46 -0400)]
Use octal-escaped UTF-8 characters instead of plain text

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

12 years agoDisable introspection again
Behdad Esfahbod [Sun, 24 Jun 2012 17:20:56 +0000 (13:20 -0400)]
Disable introspection again

Until I figure out the build issues.  Sigh...

12 years agoMinor
Behdad Esfahbod [Sun, 17 Jun 2012 18:58:59 +0000 (14:58 -0400)]
Minor

12 years agoGStaticMutex is deprecated
Behdad Esfahbod [Sat, 16 Jun 2012 19:40:03 +0000 (15:40 -0400)]
GStaticMutex is deprecated

12 years agog_thread_init() is deprecated
Behdad Esfahbod [Sat, 16 Jun 2012 19:26:13 +0000 (15:26 -0400)]
g_thread_init() is deprecated

12 years agoMake source more digestable for gobject-introspection
Behdad Esfahbod [Sat, 16 Jun 2012 19:21:55 +0000 (15:21 -0400)]
Make source more digestable for gobject-introspection

12 years agoFlesh out gobject-introspection stuff a bit
Behdad Esfahbod [Sat, 16 Jun 2012 19:21:41 +0000 (15:21 -0400)]
Flesh out gobject-introspection stuff a bit

12 years agoAdd TODO item
Behdad Esfahbod [Sat, 16 Jun 2012 18:53:51 +0000 (14:53 -0400)]
Add TODO item

12 years agoMinor
Behdad Esfahbod [Tue, 12 Jun 2012 13:52:57 +0000 (09:52 -0400)]
Minor

12 years agoAdd hb_object_lock/unlock()
Behdad Esfahbod [Sat, 9 Jun 2012 18:58:01 +0000 (14:58 -0400)]
Add hb_object_lock/unlock()

12 years agoUgh
Behdad Esfahbod [Sat, 9 Jun 2012 07:26:16 +0000 (03:26 -0400)]
Ugh

12 years agoMore Oops! Fix fast-path with sub-type==0
Behdad Esfahbod [Sat, 9 Jun 2012 07:11:22 +0000 (03:11 -0400)]
More Oops!  Fix fast-path with sub-type==0

12 years agoOops!
Behdad Esfahbod [Sat, 9 Jun 2012 07:07:59 +0000 (03:07 -0400)]
Oops!

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 07:05:20 +0000 (03:05 -0400)]
Minor

12 years agoAdd sanitize() logic for fast-paths
Behdad Esfahbod [Sat, 9 Jun 2012 07:02:36 +0000 (03:02 -0400)]
Add sanitize() logic for fast-paths

12 years agoAdd fast-path for GPOS too
Behdad Esfahbod [Sat, 9 Jun 2012 06:53:57 +0000 (02:53 -0400)]
Add fast-path for GPOS too

Shaves another 3% for DejaVu Sans long Latin strings.

12 years agoAdd fast-path to GSUB to check coverage
Behdad Esfahbod [Sat, 9 Jun 2012 06:48:16 +0000 (02:48 -0400)]
Add fast-path to GSUB to check coverage

Shaves a good 10% off DejaVu Sans with simple Latin text for me.
Now, DejaVu is very ChainContext-intensive, but it's also a very
popular font!

12 years agoMatch input before backtrack
Behdad Esfahbod [Sat, 9 Jun 2012 06:26:57 +0000 (02:26 -0400)]
Match input before backtrack

Makes more sense, optimization-wise.

12 years agoAdd set add_coverage() to Coverage()
Behdad Esfahbod [Sat, 9 Jun 2012 06:02:46 +0000 (02:02 -0400)]
Add set add_coverage() to Coverage()

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 05:39:11 +0000 (01:39 -0400)]
Minor

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 05:21:02 +0000 (01:21 -0400)]
Minor

12 years agoFix cache implementation
Behdad Esfahbod [Sat, 9 Jun 2012 05:18:58 +0000 (01:18 -0400)]
Fix cache implementation

12 years agoMicro-optimize
Behdad Esfahbod [Sat, 9 Jun 2012 05:10:26 +0000 (01:10 -0400)]
Micro-optimize

I know...

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 04:56:41 +0000 (00:56 -0400)]
Minor

12 years agoUse linear search for small counts
Behdad Esfahbod [Sat, 9 Jun 2012 04:50:40 +0000 (00:50 -0400)]
Use linear search for small counts

I see about 8% speedup with long strings with DejaVu Sans.

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 04:26:32 +0000 (00:26 -0400)]
Minor

12 years agoMinor. Hide _hb_ot_layout_get_glyph_property()
Behdad Esfahbod [Sat, 9 Jun 2012 04:24:38 +0000 (00:24 -0400)]
Minor.  Hide _hb_ot_layout_get_glyph_property()

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 04:23:24 +0000 (00:23 -0400)]
Minor

12 years agoIn MarkBase attachment, only attach to first of a MultipleSubst sequence
Behdad Esfahbod [Sat, 9 Jun 2012 02:04:23 +0000 (22:04 -0400)]
In MarkBase attachment, only attach to first of a MultipleSubst sequence

This is apparently what Uniscribe does.  Test case is:

  SEEN FATHA TEH ALEF

with Arabic Typesetting.  Originally reported by Khaled Hosny.

12 years agoSet lig_comp for MultipleSubst components
Behdad Esfahbod [Sat, 9 Jun 2012 01:47:23 +0000 (21:47 -0400)]
Set lig_comp for MultipleSubst components

To be used for correct mark attachment to first component of a
MultipleSubst output.  That's what Uniscribe does.

12 years agoRemove unused buffer->replace_glyphs_be16
Behdad Esfahbod [Sat, 9 Jun 2012 01:45:00 +0000 (21:45 -0400)]
Remove unused buffer->replace_glyphs_be16

12 years agoDon't use replace_glyphs_be for MultipleSubst
Behdad Esfahbod [Sat, 9 Jun 2012 01:44:06 +0000 (21:44 -0400)]
Don't use replace_glyphs_be for MultipleSubst

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 01:41:46 +0000 (21:41 -0400)]
Minor

12 years agoAdd test for static initializers and other C++ stuff
Behdad Esfahbod [Sat, 9 Jun 2012 01:32:43 +0000 (21:32 -0400)]
Add test for static initializers and other C++ stuff

12 years agoMinor
Behdad Esfahbod [Sat, 9 Jun 2012 01:29:18 +0000 (21:29 -0400)]
Minor

12 years agoRemove done TODO items
Behdad Esfahbod [Sat, 9 Jun 2012 01:01:45 +0000 (21:01 -0400)]
Remove done TODO items

12 years agoMerge clusters during normalization
Behdad Esfahbod [Sat, 9 Jun 2012 01:01:20 +0000 (21:01 -0400)]
Merge clusters during normalization

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

12 years agoUse merge_clusters instead of open-coding
Behdad Esfahbod [Sat, 9 Jun 2012 00:55:21 +0000 (20:55 -0400)]
Use merge_clusters instead of open-coding

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.