Behdad Esfahbod
04fd8517f8
Add tests for hyphen fallback
...
U+2011 is <noBreak> equivaent of U+2010, so we should do the fallback
for it. Currently fails.
9 years ago
Behdad Esfahbod
550417117d
[test] Drop hintings when subsetting fonts to record
9 years ago
Behdad Esfahbod
49ef630936
Adjust the width of various spaces if font does not cover them
...
See discussion here:
81ef4f407d
There's no way to disable this fallback, but I don't think it would
be needed. Let's hope for the best!
Fixes https://github.com/behdad/harfbuzz/issues/153
9 years ago
Behdad Esfahbod
aa7044de0c
Generalize flags types
9 years ago
Behdad Esfahbod
7793aad946
Normalize various spaces to space if font doesn't support
...
This resurrects the space fallback feature, after I disabled
the compatibility decomposition. Now I can release HarfBuzz
again without breaking Pango!
It also remembers which space character it was, such that later
on we can approximate the width of this particular space
character. That part is not implemented yet.
We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK,
which is better left alone.
9 years ago
Behdad Esfahbod
8b3c7f9ede
[test] Support recording multiple lines of text in record-test.sh
9 years ago
Behdad Esfahbod
8565839480
Protect against possible invalid-memory access after OOM
9 years ago
Behdad Esfahbod
4cc80bed25
Fix typo!
...
Ouch! Fortunately that function was unused.
9 years ago
Behdad Esfahbod
9ac4b9656d
Add Unicode space category
...
Unused so far.
9 years ago
Behdad Esfahbod
8249ec3f86
Make top-byte of unicode_props available to be used differently per-GC
9 years ago
Behdad Esfahbod
cc5d3a3388
Towards using top-byte of unicode-props for more things
9 years ago
Behdad Esfahbod
2f38dde5a1
Add _hb_glyph_info_is_unicode_mark()
...
Unused right now.
9 years ago
Behdad Esfahbod
90d75f93bb
Tighten ccc-setting a bit and document it
9 years ago
Behdad Esfahbod
2f0dfd43cd
Fix test expectation
9 years ago
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
9 years ago
Behdad Esfahbod
3530cc2d7c
[util] Fix option-parsing leaks
9 years ago
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.
9 years ago
Behdad Esfahbod
ed2024ef93
[perf] Micro-optimize
9 years ago
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!
9 years ago
Behdad Esfahbod
8259669fbd
Minor
9 years ago
Behdad Esfahbod
9382c471ea
Combine unicode_props0/1 into a uint16
...
Slightly faster. In prep for more changes.
9 years ago
Behdad Esfahbod
7127718545
[perf] Only call combining_class() for marks
...
Saves some time. Also preparing for reusing the ccc byte for other stuff.
9 years ago
Behdad Esfahbod
5ba450407b
Make max context-length and max nesting level configurable
...
...at compile time.
9 years ago
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.
9 years ago
Behdad Esfahbod
672ca3b4e6
Use templates for making sure expression is constant
9 years ago
Behdad Esfahbod
5c8174eda3
Update comments for removal of compat decompositions
9 years ago
Behdad Esfahbod
f679970040
Disable compatibility decomposition usage during normalization
...
Fixes https://github.com/behdad/harfbuzz/issues/152
9 years ago
Behdad Esfahbod
ce889189c1
Fix two more -Wshadow warnings
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
9 years ago
Behdad Esfahbod
4a6b1eedbb
Fix one more -Wshadow warning
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
9 years ago
Behdad Esfahbod
6f932bc8f9
Fix a few more -Wshadow-local warnings
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
9 years ago
Behdad Esfahbod
b90cb366d7
Fix one -Wshadow-compatible-local warning
...
From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
9 years ago
Behdad Esfahbod
50e5750bd8
Avoid unnecessary cast to 64-bit
...
Fixes https://github.com/behdad/harfbuzz/issues/146
Or I think it should.
9 years ago
Behdad Esfahbod
305d2fbf5a
Add HB_FALLTHROUGH
...
Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
9 years ago
Behdad Esfahbod
6486e37554
Fix typo
9 years ago
Behdad Esfahbod
753ea7b909
Add BUILD.md to dist
9 years ago
Behdad Esfahbod
5d7a30fde0
Merge pull request #148 from ebraminio/inst
...
Add BUILD.md based on harfbuzz.org docs
9 years ago
Behdad Esfahbod
904b0dc381
Merge pull request #147 from ebraminio/dockerci
...
[ci] change to docker infrastructure
9 years ago
Ebrahim Byagowi
ba096bcc28
[ci] change to docker infrastructure
9 years ago
Ebrahim Byagowi
2fb95a0c9d
Add BUILD.md based on harfbuzz.org docs
9 years ago
Behdad Esfahbod
86cadc2cd4
1.0.6
9 years ago
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
9 years ago
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
9 years ago
Behdad Esfahbod
63ef0b41dc
[ot-font] Fix hmtx wrong table length check
...
Discovered by libFuzzer. Ouch!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
9 years ago
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
9 years ago
Behdad Esfahbod
ab17052924
1.0.5
9 years ago
Behdad Esfahbod
ed13e2ce50
[ot-font] Fix leak
...
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
9 years ago
Behdad Esfahbod
55db94be2b
Add test for previous commit
9 years ago
Behdad Esfahbod
f966649747
Fix another memory access issue discovered by libFuzzer
...
Fixes https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
9 years ago
Behdad Esfahbod
c1a5dc46c2
[fuzz] Add fuzzing script from kcc@
...
https://github.com/behdad/harfbuzz/issues/139
9 years ago
Behdad Esfahbod
cc6ea308d4
Extern "C" custom-allocator declerations
9 years ago