Behdad Esfahbod
90d75f93bb
Tighten ccc-setting a bit and document it
2015-11-03 12:58:12 -08:00
Behdad Esfahbod
2f0dfd43cd
Fix test expectation
2015-11-03 12:28:34 -08:00
Behdad Esfahbod
df698f3299
[ot-font] Fix hmtx table length checking, *again*
...
Exactly the same problem that I fixed in
63ef0b41dc
I rewrote the table checking yesterday in
67f8821fb2
and introduced the exact same issue again. :(
Good thing we have ongoing fuzzing going now. Was discovered
immediately by libFuzzer. Thanks kcc!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473
Fixes https://github.com/behdad/harfbuzz/issues/156
2015-11-03 12:15:12 -08:00
Behdad Esfahbod
3530cc2d7c
[util] Fix option-parsing leaks
2015-11-03 12:13:28 -08:00
Behdad Esfahbod
642135f3b2
[util] In --debug mode, duplicate font data
...
This has the effect that the font data will end up in a memory
section malloc()ed exactly to its size. This gives us better
valgrind detection of out-of-bounds access.
Previously, the font data was placed in a mmap()ed section or
GString-allocated area, which didn't have proper protections
at the end when running under valgrind.
2015-11-03 11:26:34 -08:00
Behdad Esfahbod
ed2024ef93
[perf] Micro-optimize
2015-11-02 18:03:38 -08:00
Behdad Esfahbod
76a5310a83
Remove irrelevant comment
...
I tried moving the is_default_ignorable() function to an INTERNAL
function. That made the binary size grow by 5k AND things got a
tad bit slower!
2015-11-02 17:52:45 -08:00
Behdad Esfahbod
8259669fbd
Minor
2015-11-02 17:44:05 -08:00
Behdad Esfahbod
9382c471ea
Combine unicode_props0/1 into a uint16
...
Slightly faster. In prep for more changes.
2015-11-02 17:36:51 -08:00
Behdad Esfahbod
7127718545
[perf] Only call combining_class() for marks
...
Saves some time. Also preparing for reusing the ccc byte for other stuff.
2015-11-02 17:27:48 -08:00
Behdad Esfahbod
5ba450407b
Make max context-length and max nesting level configurable
...
...at compile time.
2015-11-02 15:43:39 -08:00
Behdad Esfahbod
67f8821fb2
[ot] Make bad-hmtx handling match FreeType
...
Also route fuzzing-related tests through hb-ot-font, to reduce dependency
on FreeType behavior for badly-broken fonts. Fixes failing test with
FreeType master.
2015-11-02 15:37:29 -08:00
Behdad Esfahbod
672ca3b4e6
Use templates for making sure expression is constant
2015-10-26 14:05:05 -07:00
Behdad Esfahbod
5c8174eda3
Update comments for removal of compat decompositions
2015-10-21 18:51:40 -02:00
Behdad Esfahbod
f679970040
Disable compatibility decomposition usage during normalization
...
Fixes https://github.com/behdad/harfbuzz/issues/152
2015-10-21 17:20:55 -02:00
Behdad Esfahbod
ce889189c1
Fix two more -Wshadow warnings
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
2015-10-21 11:23:12 -02:00
Behdad Esfahbod
4a6b1eedbb
Fix one more -Wshadow warning
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
2015-10-21 11:20:55 -02:00
Behdad Esfahbod
6f932bc8f9
Fix a few more -Wshadow-local warnings
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
2015-10-21 11:16:49 -02:00
Behdad Esfahbod
b90cb366d7
Fix one -Wshadow-compatible-local warning
...
From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
2015-10-21 11:13:21 -02:00
Behdad Esfahbod
50e5750bd8
Avoid unnecessary cast to 64-bit
...
Fixes https://github.com/behdad/harfbuzz/issues/146
Or I think it should.
2015-10-21 11:10:40 -02:00
Behdad Esfahbod
305d2fbf5a
Add HB_FALLTHROUGH
...
Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
2015-10-21 11:04:28 -02:00
Ebrahim Byagowi
f35b3e931d
Add a prototype of DirectWrite as a shaping backend
2015-10-20 22:20:47 +03:30
Behdad Esfahbod
6486e37554
Fix typo
2015-10-20 16:39:41 -02:00
Behdad Esfahbod
753ea7b909
Add BUILD.md to dist
2015-10-20 15:21:18 -02:00
Behdad Esfahbod
5d7a30fde0
Merge pull request #148 from ebraminio/inst
...
Add BUILD.md based on harfbuzz.org docs
2015-10-20 15:19:41 -02:00
Behdad Esfahbod
904b0dc381
Merge pull request #147 from ebraminio/dockerci
...
[ci] change to docker infrastructure
2015-10-19 16:59:43 -02:00
Ebrahim Byagowi
ba096bcc28
[ci] change to docker infrastructure
2015-10-19 22:17:13 +03:30
Ebrahim Byagowi
2fb95a0c9d
Add BUILD.md based on harfbuzz.org docs
2015-10-19 22:02:12 +03:30
Behdad Esfahbod
86cadc2cd4
1.0.6
2015-10-15 20:25:29 -03:00
Behdad Esfahbod
ca97ea7aa2
[ft] Revert change-of-behavior of hb_ft_font_create() introduced in 1.0.5
...
The default FreeType load flags where changed from FT_LOAD_NO_HINTING
to FT_LOAD_DEFAULT in 2a9627c564
.
This is crashing HarfBuzz-enabled FreeType as I suppose it causes
infinite recursion between HB and FT autohinter...
Revert the behavior change.
Fixes https://github.com/behdad/harfbuzz/issues/143
2015-10-15 20:20:22 -03:00
Behdad Esfahbod
338ffec9e4
Add tests for a couple of fixed issues found by libFuzzer
...
From:
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
2015-10-15 12:56:19 -03:00
Behdad Esfahbod
63ef0b41dc
[ot-font] Fix hmtx wrong table length check
...
Discovered by libFuzzer. Ouch!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
2015-10-15 12:54:28 -03:00
Behdad Esfahbod
613e630617
Reduce max nesting level from 8 to 6
...
We probably should implement better system to catch cyclic lookups.
But for now, this speeds up worst case behavior with broken fonts
considerably without compromising legitimate usecases.
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147788447
2015-10-13 23:33:28 -03:00
Behdad Esfahbod
ab17052924
1.0.5
2015-10-13 10:55:33 -03:00
Behdad Esfahbod
ed13e2ce50
[ot-font] Fix leak
...
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
2015-10-13 10:32:56 -03:00
Behdad Esfahbod
55db94be2b
Add test for previous commit
2015-10-13 00:33:59 -04:00
Behdad Esfahbod
f966649747
Fix another memory access issue discovered by libFuzzer
...
Fixes https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
2015-10-13 00:30:50 -04:00
Behdad Esfahbod
c1a5dc46c2
[fuzz] Add fuzzing script from kcc@
...
https://github.com/behdad/harfbuzz/issues/139
2015-10-12 17:39:52 -04:00
Behdad Esfahbod
cc6ea308d4
Extern "C" custom-allocator declerations
2015-10-12 17:21:52 -04:00
Behdad Esfahbod
98c6fccc00
Add test for ee9b0b6cb5
2015-10-11 21:41:04 -04:00
Behdad Esfahbod
50f489a0a0
Typo
2015-10-11 20:59:29 -04:00
Behdad Esfahbod
ee9b0b6cb5
Fix another sanitize bug
...
Also discovered by "libFuzzer".
2015-10-09 14:23:15 -04:00
Behdad Esfahbod
34379b49e6
Add test for previous fix
2015-10-09 12:34:02 -04:00
Behdad Esfahbod
f396fbb000
Fix return value of sanitize when subformat is not readable
...
This is a fix on top of the previous issue fixed in
c917965b9e
.
This was caught by "libFuzzer" testing.
2015-10-09 12:25:55 -04:00
Behdad Esfahbod
77a1a2bc18
Add hb_dispatch_context_t
2015-10-09 12:20:58 -04:00
Behdad Esfahbod
3e905e396b
Add hb_font_set_parent()
...
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
2015-10-08 12:51:02 -04:00
Behdad Esfahbod
edeb3dabf4
[ft] Add version for new API
2015-10-08 12:47:15 -04:00
Behdad Esfahbod
2a9627c564
[ft] API: Add hb_font_[sg]et_load_flags() API
...
This changes the default load_flags of fonts created using
hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't
break too much client code.
Code calling hb_ft_font_set_funcs() is unaffected.
2015-10-07 17:39:37 -04:00
Behdad Esfahbod
3224a594dc
Minor
2015-10-07 17:33:02 -04:00
Behdad Esfahbod
52b418555b
Allow compiling with custom allocators
...
User can define hb_malloc_impl, etc, to name of custom allocator functions
that have the same signature as malloc.
2015-10-03 13:20:55 +01:00