Behdad Esfahbod
d5a5052098
Assert that blob length doesn't overflow address.
...
This will crash now, if blob was created with wrong length.
Check for that coming next commit.
2014-12-18 18:09:41 -08:00
Behdad Esfahbod
282b13f9b4
[sanitize] Improve debug output some more
2014-12-12 19:34:49 -08:00
Behdad Esfahbod
0766ee1f4e
[sanitize] Improve debug output
2014-12-12 18:23:20 -08:00
Behdad Esfahbod
5a5640d850
Move code around
2014-10-14 21:26:13 -07:00
Behdad Esfahbod
666b42f73b
Move macros around
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491
2014-10-14 21:24:59 -07:00
Behdad Esfahbod
7e8c389546
Minor warnings fixes
...
Some systems insist on -Wmissing-field-initializers. We have too many,
by design. Fix a few easy ones.
2014-07-25 11:23:17 -04:00
Behdad Esfahbod
7627100f42
Mark unsigned integer literals with the u suffix
...
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
586b60622c
Minor: final bits of cleanup
2014-06-27 15:39:47 -04:00
Behdad Esfahbod
51d9ba09bc
Minor
2014-06-27 15:27:15 -04:00
Behdad Esfahbod
3084767e92
Minor: Remove LongArrayOf
2014-06-27 15:24:35 -04:00
Behdad Esfahbod
41ea594950
Minor: Remove LongSortedArrayOf
2014-06-27 15:23:18 -04:00
Behdad Esfahbod
bb6ecf2ce5
Minor: Remove LongOffsetArrayOf and LongOffsetLongArrayOf
2014-06-27 15:21:08 -04:00
Behdad Esfahbod
99d2817123
Minor: Remove GenericOffset
2014-06-27 15:19:15 -04:00
Behdad Esfahbod
9da552dcc5
Minor: Remove some GenericXXX templates
2014-06-27 15:18:36 -04:00
Behdad Esfahbod
36073ede5b
Minor: Reorder template parameter order
2014-06-27 15:18:26 -04:00
Behdad Esfahbod
0394ec1bfb
Minor: Introduce GenericOffset
2014-06-27 15:18:08 -04:00
Behdad Esfahbod
0d1b3419a7
Minor: Use template parameter default values for OffsetTo
2014-06-27 15:17:47 -04:00
Behdad Esfahbod
df554af99d
Rename search() to bsearch() and lsearch()
...
Such that the complexity of the algorithm used is clear at
call site.
2014-06-19 15:39:18 -04:00
Behdad Esfahbod
ce34f0b07e
[ot-font] Use binary search for format12 cmap subtable
2014-06-04 18:57:46 -04:00
Behdad Esfahbod
51f563579b
Move try_set to sanitize context
2014-06-04 18:42:32 -04:00
Behdad Esfahbod
b7878cd58e
[ot] Implement cmap subtable format 0
2014-05-13 21:47:51 -04:00
Behdad Esfahbod
4719621f20
Minor
2014-05-09 16:09:11 -04:00
Behdad Esfahbod
c7074b8798
[otlayout] Add GenericArrayOf::search()
2014-05-08 18:24:31 -04:00
Behdad Esfahbod
40a479797a
[otlayout] Add GenericSortedArrayOf
2014-05-08 18:21:04 -04:00
Behdad Esfahbod
6faff8e413
Add static storage classifier to inline functions
...
Before we were just relying on the compiler inlining them and not
leaving a trace in our public API. Try to fix. Hopefully not
breaking anyone's build.
2014-04-28 14:30:44 -07:00
Behdad Esfahbod
6775da3a7c
Fix clang warning 'private field 'xxx' is not used
...
Fixes https://github.com/behdad/harfbuzz/pull/16
2014-01-23 14:18:49 -05:00
Behdad Esfahbod
2a8c49ade0
Remove unnecessary includes
2013-12-11 20:24:20 -05:00
Behdad Esfahbod
05bad3b8c2
[uniscribe] Use OT::* types
2013-07-21 17:19:09 -04:00
Behdad Esfahbod
8659c63608
Hand-code bsearch in the hot inner loop.
...
Saves another 3 / 4 percent with Amiri.
2013-04-19 14:36:32 -04:00
Behdad Esfahbod
9c5a9ee967
[OTLayout] Rename process() to dispatch()
2013-03-09 01:55:04 -05:00
Behdad Esfahbod
05d5d3cd63
Fix "comparison between signed and unsigned" warnings
...
Patch from Jonathan Kew.
2013-02-25 23:57:51 -05:00
Behdad Esfahbod
07a52b6211
Give up sanitizing after 100 edit requests
...
Such fonts are *definitely* really broken. Give up.
Limits time spent in sanitize for extremely / deliberately broken
fonts. For example, two fonts with these md5sum / names:
9343f0a1b8c84b8123e7d201cae62ffd.ttf
eb8c978547f09d368fc204194fb34688.ttf
were spending over a second in sanitize! Not anymore.
2013-02-25 19:09:57 -05:00
Behdad Esfahbod
27589620ba
[OTLayout] Remove unused code
2013-02-15 11:47:09 -05:00
Behdad Esfahbod
e95e031b56
[GPOS] If an Anchor offset is NULL, return false
...
If in a MarkPos table, a base has no anchor for a particular mark class,
return NULL such that the subsequent subtables get a chance at it.
Test case:
hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp"
2013-01-08 16:17:06 -06:00
Behdad Esfahbod
e77b442574
[OTLayout] Fix tracing
2012-12-17 18:42:59 -05:00
Behdad Esfahbod
9b54562d63
[OTLayout] Towards correct FeatureParams handling
2012-12-17 13:55:36 -05:00
Behdad Esfahbod
bd61bc13ea
[OTLayout] Add UINT24 type
2012-12-11 16:01:07 -05:00
Behdad Esfahbod
0beb66e3a6
Fix warnings
2012-12-05 19:14:28 -05:00
Behdad Esfahbod
2c53bd3c3e
[OTLayout] Start porting sanitize() to process()
2012-11-23 17:29:05 -05:00
Behdad Esfahbod
be218c688c
Pass this object to trace macros
2012-11-23 15:32:14 -05:00
Behdad Esfahbod
902cc8aca0
[OTLayout] Start unbreaking tracing
2012-11-23 15:23:30 -05:00
Behdad Esfahbod
dabe698fcb
Minor
2012-11-23 14:21:35 -05:00
Behdad Esfahbod
81822528ef
Minor
2012-11-23 13:27:16 -05:00
Behdad Esfahbod
7d52e6601f
Whitespace
2012-11-16 18:49:54 -08:00
Behdad Esfahbod
fd0de881f4
Avoid C++ undefined behavior
...
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
2012-11-15 10:48:50 -08:00
Behdad Esfahbod
811eefe225
Return NULL, not false
...
Oh well...
2012-09-10 09:56:27 -04:00
Behdad Esfahbod
fabd3113a9
[OT] Port Arabic fallback shaping to synthetic GSUB
...
All of init/medi/fina/isol and rlig implemented.
Let there be dragons... ⻯
2012-09-06 00:51:44 -04:00
Behdad Esfahbod
715e03bc21
Minor
2012-09-04 20:10:17 -04:00
Behdad Esfahbod
a930c68e9c
[OT] More serialize. Implements all basic GSUB subtables
2012-09-04 19:16:09 -04:00
Behdad Esfahbod
1f07e3382a
[OT] Implement serialize() for MultiSubst
2012-09-03 23:28:34 -04:00