Behdad Esfahbod [Wed, 11 Jul 2012 20:44:51 +0000 (16:44 -0400)]
Bump WINNT version requested from 500 to 600
Since we use the OpenType versions of Uniscribe functions, we are
relying on that version of the WINNT API. Otherwise, usp10.h will hide
those symbols.
Behdad Esfahbod [Wed, 11 Jul 2012 20:35:04 +0000 (16:35 -0400)]
Fix build with no Unicode funcs implementations provided
Behdad Esfahbod [Wed, 11 Jul 2012 19:30:08 +0000 (15:30 -0400)]
Update git.mk to upstream
Behdad Esfahbod [Wed, 4 Jul 2012 02:15:35 +0000 (22:15 -0400)]
Towards templatizing common Lookup types
Behdad Esfahbod [Tue, 3 Jul 2012 15:38:46 +0000 (11:38 -0400)]
Minor
Behdad Esfahbod [Fri, 29 Jun 2012 14:50:12 +0000 (10:50 -0400)]
Minor
Behdad Esfahbod [Wed, 27 Jun 2012 14:07:27 +0000 (10:07 -0400)]
Add TODO item
Behdad Esfahbod [Tue, 26 Jun 2012 15:16:13 +0000 (11:16 -0400)]
Fix check for Intel atomic ops
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
Behdad Esfahbod [Sun, 24 Jun 2012 17:20:56 +0000 (13:20 -0400)]
Disable introspection again
Until I figure out the build issues. Sigh...
Behdad Esfahbod [Sun, 17 Jun 2012 18:58:59 +0000 (14:58 -0400)]
Minor
Behdad Esfahbod [Sat, 16 Jun 2012 19:40:03 +0000 (15:40 -0400)]
GStaticMutex is deprecated
Behdad Esfahbod [Sat, 16 Jun 2012 19:26:13 +0000 (15:26 -0400)]
g_thread_init() is deprecated
Behdad Esfahbod [Sat, 16 Jun 2012 19:21:55 +0000 (15:21 -0400)]
Make source more digestable for gobject-introspection
Behdad Esfahbod [Sat, 16 Jun 2012 19:21:41 +0000 (15:21 -0400)]
Flesh out gobject-introspection stuff a bit
Behdad Esfahbod [Sat, 16 Jun 2012 18:53:51 +0000 (14:53 -0400)]
Add TODO item
Behdad Esfahbod [Tue, 12 Jun 2012 13:52:57 +0000 (09:52 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 18:58:01 +0000 (14:58 -0400)]
Add hb_object_lock/unlock()
Behdad Esfahbod [Sat, 9 Jun 2012 07:26:16 +0000 (03:26 -0400)]
Ugh
Behdad Esfahbod [Sat, 9 Jun 2012 07:11:22 +0000 (03:11 -0400)]
More Oops! Fix fast-path with sub-type==0
Behdad Esfahbod [Sat, 9 Jun 2012 07:07:59 +0000 (03:07 -0400)]
Oops!
Behdad Esfahbod [Sat, 9 Jun 2012 07:05:20 +0000 (03:05 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 07:02:36 +0000 (03:02 -0400)]
Add sanitize() logic for fast-paths
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.
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!
Behdad Esfahbod [Sat, 9 Jun 2012 06:26:57 +0000 (02:26 -0400)]
Match input before backtrack
Makes more sense, optimization-wise.
Behdad Esfahbod [Sat, 9 Jun 2012 06:02:46 +0000 (02:02 -0400)]
Add set add_coverage() to Coverage()
Behdad Esfahbod [Sat, 9 Jun 2012 05:39:11 +0000 (01:39 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 05:21:02 +0000 (01:21 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 05:18:58 +0000 (01:18 -0400)]
Fix cache implementation
Behdad Esfahbod [Sat, 9 Jun 2012 05:10:26 +0000 (01:10 -0400)]
Micro-optimize
I know...
Behdad Esfahbod [Sat, 9 Jun 2012 04:56:41 +0000 (00:56 -0400)]
Minor
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.
Behdad Esfahbod [Sat, 9 Jun 2012 04:26:32 +0000 (00:26 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 04:24:38 +0000 (00:24 -0400)]
Minor. Hide _hb_ot_layout_get_glyph_property()
Behdad Esfahbod [Sat, 9 Jun 2012 04:23:24 +0000 (00:23 -0400)]
Minor
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.
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.
Behdad Esfahbod [Sat, 9 Jun 2012 01:45:00 +0000 (21:45 -0400)]
Remove unused buffer->replace_glyphs_be16
Behdad Esfahbod [Sat, 9 Jun 2012 01:44:06 +0000 (21:44 -0400)]
Don't use replace_glyphs_be for MultipleSubst
Behdad Esfahbod [Sat, 9 Jun 2012 01:41:46 +0000 (21:41 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 01:32:43 +0000 (21:32 -0400)]
Add test for static initializers and other C++ stuff
Behdad Esfahbod [Sat, 9 Jun 2012 01:29:18 +0000 (21:29 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 01:01:45 +0000 (21:01 -0400)]
Remove done TODO items
Behdad Esfahbod [Sat, 9 Jun 2012 01:01:20 +0000 (21:01 -0400)]
Merge clusters during normalization
Behdad Esfahbod [Sat, 9 Jun 2012 00:56:05 +0000 (20:56 -0400)]
Minor
Behdad Esfahbod [Sat, 9 Jun 2012 00:55:21 +0000 (20:55 -0400)]
Use merge_clusters instead of open-coding
Behdad Esfahbod [Sat, 9 Jun 2012 00:40:02 +0000 (20:40 -0400)]
Use merge_clusters when forming Unicode clusters
Behdad Esfahbod [Sat, 9 Jun 2012 00:35:18 +0000 (20:35 -0400)]
Minor
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
Behdad Esfahbod [Sat, 9 Jun 2012 00:31:32 +0000 (20:31 -0400)]
Extend end when merging clusters in out-buffer
Behdad Esfahbod [Sat, 9 Jun 2012 00:30:03 +0000 (20:30 -0400)]
Extend clusters backward in out-buffer
Behdad Esfahbod [Sat, 9 Jun 2012 00:27:53 +0000 (20:27 -0400)]
Extend clusters backwards, into the out-buffer too
Behdad Esfahbod [Sat, 9 Jun 2012 00:21:02 +0000 (20:21 -0400)]
Clear output buffer before calling GSUB pause functions
Behdad Esfahbod [Sat, 9 Jun 2012 00:17:10 +0000 (20:17 -0400)]
When merging clusters, extend the end
Behdad Esfahbod [Sat, 9 Jun 2012 00:13:56 +0000 (20:13 -0400)]
Merge clusters when ligating
Behdad Esfahbod [Fri, 8 Jun 2012 23:29:44 +0000 (19:29 -0400)]
Minor, use next_glyph()
Behdad Esfahbod [Fri, 8 Jun 2012 23:23:43 +0000 (19:23 -0400)]
Minor
Behdad Esfahbod [Fri, 8 Jun 2012 18:18:30 +0000 (14:18 -0400)]
Increase Uniscribe MAX_ITEMS
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...
Behdad Esfahbod [Fri, 8 Jun 2012 15:48:29 +0000 (11:48 -0400)]
Remove unused code
Behdad Esfahbod [Fri, 8 Jun 2012 14:53:35 +0000 (10:53 -0400)]
Remove zero-width chars in the fallback shaper too
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.
Behdad Esfahbod [Fri, 8 Jun 2012 14:23:03 +0000 (10:23 -0400)]
Whitespace
Behdad Esfahbod [Fri, 8 Jun 2012 14:22:06 +0000 (10:22 -0400)]
Fix Uniscribe clusters with direction-overriden Arabic
Behdad Esfahbod [Fri, 8 Jun 2012 14:10:29 +0000 (10:10 -0400)]
Really fix override-direction in 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
Behdad Esfahbod [Fri, 8 Jun 2012 13:26:17 +0000 (09:26 -0400)]
Override direction in Uniscribe backend
Matches OT backend now.
Behdad Esfahbod [Fri, 8 Jun 2012 13:20:53 +0000 (09:20 -0400)]
Make Uniscribe backend respect selected script
Behdad Esfahbod [Thu, 7 Jun 2012 21:42:48 +0000 (17:42 -0400)]
Add note re _NullPool
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.
Behdad Esfahbod [Thu, 7 Jun 2012 19:48:18 +0000 (15:48 -0400)]
Fix clang warning with NO_MT path
Behdad Esfahbod [Thu, 7 Jun 2012 19:44:12 +0000 (15:44 -0400)]
Fix warnings produced by clang analyzer
Behdad Esfahbod [Thu, 7 Jun 2012 17:32:57 +0000 (13:32 -0400)]
Fix warnings
Behdad Esfahbod [Wed, 6 Jun 2012 15:29:25 +0000 (11:29 -0400)]
Minor
Behdad Esfahbod [Wed, 6 Jun 2012 15:27:17 +0000 (11:27 -0400)]
Fix ASSERT_POD on clang
As reported by bashi. Not tested.
Behdad Esfahbod [Wed, 6 Jun 2012 07:42:36 +0000 (03:42 -0400)]
Enabled ICU again
Behdad Esfahbod [Wed, 6 Jun 2012 07:30:09 +0000 (03:30 -0400)]
Add ASSERT_POD for most objects
Behdad Esfahbod [Wed, 6 Jun 2012 07:07:01 +0000 (03:07 -0400)]
Add macros to check that types are POD
Behdad Esfahbod [Wed, 6 Jun 2012 01:14:04 +0000 (21:14 -0400)]
Don't link to libstdc++
New try.
Behdad Esfahbod [Wed, 6 Jun 2012 00:49:51 +0000 (20:49 -0400)]
Remove unused hb_static_mutex_t
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...
Behdad Esfahbod [Wed, 6 Jun 2012 00:35:40 +0000 (20:35 -0400)]
Cleanup TRUE/FALSE vs true/false
Behdad Esfahbod [Wed, 6 Jun 2012 00:31:49 +0000 (20:31 -0400)]
Fix inert buffer set_length() with zero
Oops!
Behdad Esfahbod [Wed, 6 Jun 2012 00:16:56 +0000 (20:16 -0400)]
Add configure tests for Intel atomic intrinsics
Behdad Esfahbod [Tue, 5 Jun 2012 23:55:46 +0000 (19:55 -0400)]
Shuffle
Behdad Esfahbod [Tue, 5 Jun 2012 23:23:29 +0000 (19:23 -0400)]
Remove last static initializer
We're free! Lazy or immediate...
Behdad Esfahbod [Tue, 5 Jun 2012 23:17:02 +0000 (19:17 -0400)]
Make hb-view err if all shapers failed
Behdad Esfahbod [Tue, 5 Jun 2012 22:30:19 +0000 (18:30 -0400)]
Make hb-ft static-initializer free
Behdad Esfahbod [Tue, 5 Jun 2012 22:14:03 +0000 (18:14 -0400)]
Undo default unicode-funcs to avoid static initializer again
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.
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.
Behdad Esfahbod [Tue, 5 Jun 2012 20:34:49 +0000 (16:34 -0400)]
Add gcc intrinsics implementations for atomic and mutex
Behdad Esfahbod [Tue, 5 Jun 2012 20:06:28 +0000 (16:06 -0400)]
Add gcc implementation for atomic ops
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.
Behdad Esfahbod [Tue, 5 Jun 2012 19:17:44 +0000 (15:17 -0400)]
Remove static initializers from indic
Behdad Esfahbod [Tue, 5 Jun 2012 16:31:51 +0000 (12:31 -0400)]
Better hide nil objects and make them const
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.
Behdad Esfahbod [Tue, 5 Jun 2012 17:30:11 +0000 (13:30 -0400)]
Check for atexit()
Behdad Esfahbod [Tue, 5 Jun 2012 17:04:20 +0000 (13:04 -0400)]
Fix warnings