Commit Graph

2433 Commits

Author SHA1 Message Date
Behdad Esfahbod d487fff266 Split matras without a Unicode decomposition
This is a hack for now, to get us going with Khmer.  This will be
refactored properly later to move the complex logic into complex
shapers.
2012-07-16 13:25:57 -04:00
Behdad Esfahbod 8aa801a6fd [Indic] Adjust position for split matras
We are going to split matras without a Unicode decompositions in a way
that the second half takes the codepoint of the whole matra.  So,
position them where the second half is supposed to end up.
2012-07-16 13:24:26 -04:00
Behdad Esfahbod 1feb8345a5 [GSUB] Allow 1-to-1 ligature substitutions!
Apparently Uniscribe allows these, and they are used in some Khmer fonts
shipped with Windows, namely, Daun Penh.
2012-07-16 13:23:40 -04:00
Behdad Esfahbod 29f106d7fb [Indic] Apply Above Forms 2012-07-16 12:05:35 -04:00
Behdad Esfahbod fa2bd9fb63 Further simplify atomic ops on Visual Studio 2012-07-14 12:15:54 -04:00
Behdad Esfahbod 0a49235701 Minor 2012-07-13 13:20:49 -04:00
Behdad Esfahbod 11c4ad439e Add -Wcast-align 2012-07-13 11:29:31 -04:00
Behdad Esfahbod a98d0ab186 Make sure HB_BEGIN_DECLS / HB_END_DECLS is only used in public headers
So we can use them to switch default visibility to internal if desired,
and use these to make only declared symbols public.
2012-07-13 10:19:10 -04:00
Behdad Esfahbod 5c5bc96216 Allow overriding HB_BEGIN_DECLS / HB_END_DECLS 2012-07-13 10:15:37 -04:00
Behdad Esfahbod ec5f5f0f8a Don't export inline methods 2012-07-13 10:00:42 -04:00
Behdad Esfahbod 50a4e78b53 Check for exported weak symbols
Ouch, all our C++ inline functions are being exported (weakly) already.
Fix coming.
2012-07-13 09:48:39 -04:00
Behdad Esfahbod b5aeb95afe Make hb_in_range() static 2012-07-13 09:45:54 -04:00
Behdad Esfahbod 271c8f8907 Minor 2012-07-13 09:32:30 -04:00
Behdad Esfahbod 391f1ff5d8 Fix _InterlockedCompareExchangePointer on x86 2012-07-13 09:04:07 -04:00
Behdad Esfahbod 2023e2b54d [ft] Disable ppem setting
The calculations were wrong.

FreeType makes it really hard to set size and ppem independently.
For now, disable it.  Need to come up with a fix later.
2012-07-11 19:01:26 -04:00
Behdad Esfahbod cdf7444505 [ft] Use unfitted kerning if x_ppem is zero 2012-07-11 18:52:39 -04:00
Behdad Esfahbod 6d08c7f1b3 Revert "Towards templatizing common Lookup types"
This reverts commit 727135f3a9.

This is work-in-progress.  Didn't mean to push it out just yet.
2012-07-11 18:01:27 -04:00
Behdad Esfahbod 552bf3a9f9 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.
2012-07-11 18:00:28 -04:00
Behdad Esfahbod 9a5b421a64 Fix build with no Unicode funcs implementations provided 2012-07-11 18:00:28 -04:00
Behdad Esfahbod 6efe1eca66 Update git.mk to upstream 2012-07-11 18:00:28 -04:00
Behdad Esfahbod 727135f3a9 Towards templatizing common Lookup types 2012-07-11 18:00:28 -04:00
Behdad Esfahbod 1167c7bfc9 Minor 2012-07-11 18:00:28 -04:00
Behdad Esfahbod aa116582e6 Minor 2012-07-11 18:00:28 -04:00
Behdad Esfahbod 1f13c7185f Add TODO item 2012-07-11 18:00:27 -04:00
Behdad Esfahbod 12f5c0a222 Fix check for Intel atomic ops 2012-06-26 11:16:13 -04:00
Behdad Esfahbod 6932a41fb6 Use octal-escaped UTF-8 characters instead of plain text
https://bugs.freedesktop.org/show_bug.cgi?id=50970
2012-06-26 10:46:31 -04:00
Behdad Esfahbod 8c0ea7bcb4 Disable introspection again
Until I figure out the build issues.  Sigh...
2012-06-24 13:20:56 -04:00
Behdad Esfahbod 8c5f5e6f5e Minor 2012-06-17 14:58:59 -04:00
Behdad Esfahbod 49f8e0cd9a GStaticMutex is deprecated 2012-06-16 15:40:03 -04:00
Behdad Esfahbod 5e113a4b79 g_thread_init() is deprecated 2012-06-16 15:26:13 -04:00
Behdad Esfahbod 1bc1cb3603 Make source more digestable for gobject-introspection 2012-06-16 15:21:55 -04:00
Behdad Esfahbod 84d781e54c Flesh out gobject-introspection stuff a bit 2012-06-16 15:21:41 -04:00
Behdad Esfahbod 49ee12ccd0 Add TODO item 2012-06-16 14:53:51 -04:00
Behdad Esfahbod d3c8115d1a Minor 2012-06-12 09:52:57 -04:00
Behdad Esfahbod 2cf301968c Add hb_object_lock/unlock() 2012-06-09 14:58:01 -04:00
Behdad Esfahbod 6a5661f1e6 Ugh 2012-06-09 03:26:16 -04:00
Behdad Esfahbod f211d5c291 More Oops! Fix fast-path with sub-type==0 2012-06-09 03:11:22 -04:00
Behdad Esfahbod b1de6aa1f3 Oops! 2012-06-09 03:07:59 -04:00
Behdad Esfahbod b12e2549cb Minor 2012-06-09 03:05:20 -04:00
Behdad Esfahbod faf0f20253 Add sanitize() logic for fast-paths 2012-06-09 03:02:36 -04:00
Behdad Esfahbod 4e766ff28d Add fast-path for GPOS too
Shaves another 3% for DejaVu Sans long Latin strings.
2012-06-09 02:53:57 -04:00
Behdad Esfahbod 993c51915f 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!
2012-06-09 02:48:16 -04:00
Behdad Esfahbod f19e0b0099 Match input before backtrack
Makes more sense, optimization-wise.
2012-06-09 02:26:57 -04:00
Behdad Esfahbod 67bb9e8cea Add set add_coverage() to Coverage() 2012-06-09 02:02:46 -04:00
Behdad Esfahbod 4952f0aa5b Minor 2012-06-09 01:43:20 -04:00
Behdad Esfahbod ad6a6f2240 Minor 2012-06-09 01:43:20 -04:00
Behdad Esfahbod 46617a4213 Fix cache implementation 2012-06-09 01:43:20 -04:00
Behdad Esfahbod ce47613889 Micro-optimize
I know...
2012-06-09 01:43:15 -04:00
Behdad Esfahbod 70416de298 Minor 2012-06-09 00:56:41 -04:00
Behdad Esfahbod 99159e52a3 Use linear search for small counts
I see about 8% speedup with long strings with DejaVu Sans.
2012-06-09 00:50:40 -04:00