|
1979f6fe
|
2015-11-23T10:03:56
|
|
Fix y_scale problems in hb-gr
|
|
a6991813
|
2015-11-20T13:28:42
|
|
Merge pull request #176 from behdad/missing-braces
Add braces for subobject initializer in _hb_font_funcs_nil
|
|
1dc32ea4
|
2015-11-20T13:24:19
|
|
Whitespace
|
|
f94c0ecb
|
2015-11-20T13:21:29
|
|
Define HB_MARK_AS_FLAG_T as a macro instead of using templates
The generic template operator overloading was causing more problems than it
solved. Eg:
https://github.com/behdad/harfbuzz/pull/163
https://github.com/behdad/harfbuzz/issues/175
So, just use macros.
Fixes https://github.com/behdad/harfbuzz/issues/175
Fixes https://github.com/behdad/harfbuzz/pull/178
|
|
f19c6db1
|
2015-11-20T08:43:49
|
|
Add braces for subobject initializer in _hb_font_funcs_nil
To avoid triggering -Wmissing-braces; see https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
|
|
9cc1ed4f
|
2015-11-19T12:39:09
|
|
Do not allow recursiving to same position and same lookup
This is just to make it harder to be extremely slow. There definitely
are ways still, just harder. Oh well... how do we tame this problem
without solving halting problem?!
Fixes https://github.com/behdad/harfbuzz/issues/174
|
|
13188cba
|
2015-11-19T11:59:03
|
|
Revert "Fix hang in OOM situations"
This reverts commit f0599db761d7fc2d585d86e757a797f75ebc7499.
Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better
fix for this.
|
|
18e1c6b6
|
2015-11-19T11:50:58
|
|
Revert "Make sure we make progress in OOM situations"
This reverts commit 68b507a3c3c62c28c38e13fee733702bb703b6ca.
Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better
fix for this.
|
|
63fe05c8
|
2015-11-18T23:52:34
|
|
Fix make distcheck
|
|
37b40cd8
|
2015-11-18T23:04:45
|
|
Fix another move_to assertion failure
If buf->idx is at end, don't set end past it...
Fixes https://github.com/behdad/harfbuzz/issues/173
|
|
abadc171
|
2015-11-18T17:52:08
|
|
Try to better handle OOM situations
Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161
with libharfbuzz-fuzzing.
|
|
ff16ef33
|
2015-11-18T16:27:32
|
|
Enable building a bounded version of the library for fuzzing
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
|
|
e0082ae6
|
2015-11-17T18:42:13
|
|
Move things around
|
|
167c3271
|
2015-11-09T17:17:56
|
|
Fix build on MSVC >= 2012
Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio,
which defines the bitwise operators for the enumerations that we want to
mark as hb_mark_as_flags_t, which will take care of the situation on newer
Visual Studio (>= 2012), where the build breaks with C2057 errors as the
underlying types of the enumerations is not clear to the compiler when we
do a bitwise op within the declaration of the enumerations themselves.
Also disable the C4200 (nonstandard extension used : zero-sized array in
struct/union) and C4800 ('type' : forcing value to bool 'true' or 'false'
(performance warning)) warnings as the C4200 is the intended scenario and
C4800 is harmless but is so far an unavoidable side effect of using
DEFINE_ENUM_FLAG_OPERATORS.
|
|
4d27bb87
|
2015-11-06T14:28:30
|
|
hb-ot-shape-complex-arabic.cc: Fix build on Visual Studio
Visual Studio does not like declaring a enum variable within a for
statement, so fix the build by declaring the enum before doing the for
loop.
|
|
d5f0d7c9
|
2015-11-07T07:50:58
|
|
Merge pull request #167 from KonstantinRitt/unicode_cp_opt
Micro optimizations to UTF-16 and UTF-32 codecs
|
|
04ff23e7
|
2015-11-06T16:29:44
|
|
[arabic] Improve stretch length calculation
Err on the side of being too short, than too wide. Reduces chance
of overlaps with neighboring glyphs.
|
|
59821ab8
|
2015-11-06T16:27:44
|
|
[arabic] Don't stretch over cased letters
Addresses
https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516
|
|
5337db29
|
2015-11-06T16:18:09
|
|
Revert "Don't process lookups if buffer is in error"
This reverts commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8.
We don't want to be like cairo, where as soon as there's an error,
nothing works anymore. So, lets process lookups as long as there's
no new memory needed. That's also a model that hides fewer bugs.
|
|
529a9331
|
2015-11-07T02:00:04
|
|
Micro optimization to hb_utf16_t and hb_utf32_t ::prev()
Implement reverse lookup instead of re-using next()
|
|
44ae9be7
|
2015-11-07T01:58:38
|
|
Nano optimization to hb_utf16_t and hb_utf32_t ::next()
|
|
f1c4adbc
|
2015-11-06T09:46:05
|
|
Fix typo
|
|
68b507a3
|
2015-11-06T00:09:26
|
|
Make sure we make progress in OOM situations
|
|
f0599db7
|
2015-11-05T23:52:41
|
|
Fix hang in OOM situations
Fixes https://github.com/behdad/harfbuzz/issues/161
|
|
f92bd86c
|
2015-11-05T23:52:29
|
|
Don't process lookups if buffer is in error
|
|
4301703b
|
2015-11-05T23:44:59
|
|
Limit buffer max size growth
https://github.com/behdad/harfbuzz/issues/161
|
|
6e6f82b6
|
2015-11-05T17:29:03
|
|
Implement SYRIAC ABBREVIATION MARK with 'stch' feature
The feature is enabled for any character in the Arabic shaper.
We should experiment with using it for Arabic subtending marks.
Though, that has a directionality problem as well, since those
are used with digits...
Fixes https://github.com/behdad/harfbuzz/issues/141
|
|
c743ec58
|
2015-11-05T17:33:57
|
|
[ft] Fix extents with negative scales
Fixes https://github.com/behdad/harfbuzz/issues/162
|
|
73fec399
|
2015-11-05T15:22:18
|
|
Reserve a few scratch-flags bits for complex shapers
|
|
13686337
|
2015-11-05T13:24:15
|
|
Add new shaper method postprocess_glyphs()
Unused currently. To be used for Syriac stretch implementation.
https://github.com/behdad/harfbuzz/issues/141
|
|
e95eb23a
|
2015-11-04T22:55:11
|
|
Don't try zeroing marks by GDEF if there are no non-ASCII
This one is a hack, but should be ok.
|
|
7fa54ed7
|
2015-11-04T22:54:49
|
|
Don't try zeroing mark attachments by Unicode if there's no non-ASCII
|
|
550bd14d
|
2015-11-04T22:58:58
|
|
Actually commit changes for previous commit
|
|
ff31b3c1
|
2015-11-04T22:42:41
|
|
Skip GPOS cursive / attachment adjustmnent if none happened
I'm starting to really like how free these new scratch_flags are.
|
|
0f407325
|
2015-11-04T22:28:44
|
|
Minor
|
|
497a6c20
|
2015-11-04T22:24:19
|
|
Skip forming clusters if text is all ASCII
|
|
28de104f
|
2015-11-04T22:00:25
|
|
Move variable-sized struct member to end
Hopefully makes clang build happy
|
|
5bc28b5f
|
2015-11-04T21:53:16
|
|
Optimize positioning for when h_origin is nil
|
|
762770c9
|
2015-11-04T21:42:55
|
|
Add font->has_...() to check for individual nil font funcs
Hopefully this wouldn't break any compiler. There was some magic
moments to getting this to compile...
|
|
88e9a9bc
|
2015-11-04T21:16:26
|
|
Minor reshaping of hb_font_funcs_t implementation
In anticipation of further changes. No functional changes.
|
|
a6a7715b
|
2015-11-04T20:51:21
|
|
Comments
|
|
6c48ec83
|
2015-11-04T20:47:42
|
|
[ot] Remove font funcs that do nothing
|
|
75ea2daa
|
2015-11-04T20:43:59
|
|
[ot] Port ot font funcs to allocated object
|
|
44f82750
|
2015-11-04T20:40:05
|
|
[ft] Remove font funcs that do nothing
|
|
7918c261
|
2015-11-04T20:37:49
|
|
[ft] Port ft font funcs to allocated object
|
|
da29b437
|
2015-11-04T20:22:44
|
|
Separate nil font-funcs from parent-peeking font-funcs
API change: all fonts created with hb_font_create() now inherit from
(ie have parent) hb_font_get_empty().
|
|
bee901b3
|
2015-11-04T19:28:17
|
|
Optimize positioning direction calculations
It makes the binary smaller AND faster. Yumm!
|
|
e3e4bb01
|
2015-11-04T18:58:02
|
|
Don't do fractions if buffer is ASCII-only
|
|
6986208b
|
2015-11-04T18:46:22
|
|
Optimize runs without Default_Ignorable's
Now that we have a buffer-wide scratch flags facility, use it to
optimize away a few passes.
|
|
14c2de32
|
2015-11-04T18:00:57
|
|
Limit max edits during sanitize to 8
Used to be 100. If a tabe needs more than one or two edits, it's
probably completely bogus...
Might help with speeding up fuzzing for
https://github.com/behdad/harfbuzz/issues/157
|
|
9cbc39ae
|
2015-11-04T18:00:53
|
|
Minor
|
|
52e6c4e1
|
2015-11-04T17:45:06
|
|
If font doesn't support U+2011, fall back to U+2010
Test passes now.
|
|
75483aaf
|
2015-11-04T17:43:36
|
|
Untangle if/else waterfall
|
|
49ef6309
|
2015-11-04T17:27:07
|
|
Adjust the width of various spaces if font does not cover them
See discussion here:
https://github.com/behdad/harfbuzz/commit/81ef4f407d9c7bd98cf62cef951dc538b13442eb
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
|
|
aa7044de
|
2015-11-04T16:25:57
|
|
Generalize flags types
|
|
7793aad9
|
2015-11-04T14:48:46
|
|
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.
|
|
85658394
|
2015-11-04T14:46:52
|
|
Protect against possible invalid-memory access after OOM
|
|
4cc80bed
|
2015-11-04T14:46:10
|
|
Fix typo!
Ouch! Fortunately that function was unused.
|
|
9ac4b965
|
2015-11-04T14:18:39
|
|
Add Unicode space category
Unused so far.
|
|
8249ec3f
|
2015-11-04T13:26:17
|
|
Make top-byte of unicode_props available to be used differently per-GC
|
|
cc5d3a33
|
2015-11-04T13:21:25
|
|
Towards using top-byte of unicode-props for more things
|
|
2f38dde5
|
2015-11-04T13:17:33
|
|
Add _hb_glyph_info_is_unicode_mark()
Unused right now.
|
|
90d75f93
|
2015-11-03T12:58:12
|
|
Tighten ccc-setting a bit and document it
|
|
df698f32
|
2015-11-03T12:15:12
|
|
[ot-font] Fix hmtx table length checking, *again*
Exactly the same problem that I fixed in
63ef0b41dc48d6112d1918c1b1de9de8ea90adb5
I rewrote the table checking yesterday in
67f8821fb25d9bd55719f5e29a582ae1af4b02b3
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
|
|
ed2024ef
|
2015-11-02T17:58:12
|
|
[perf] Micro-optimize
|
|
76a5310a
|
2015-11-02T17:52:45
|
|
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!
|
|
8259669f
|
2015-11-02T17:44:05
|
|
Minor
|
|
9382c471
|
2015-11-02T17:36:51
|
|
Combine unicode_props0/1 into a uint16
Slightly faster. In prep for more changes.
|
|
71277185
|
2015-11-02T17:27:48
|
|
[perf] Only call combining_class() for marks
Saves some time. Also preparing for reusing the ccc byte for other stuff.
|
|
5ba45040
|
2015-11-02T15:43:08
|
|
Make max context-length and max nesting level configurable
...at compile time.
|
|
67f8821f
|
2015-11-02T15:37:29
|
|
[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.
|
|
672ca3b4
|
2015-10-26T14:05:05
|
|
Use templates for making sure expression is constant
|
|
5c8174ed
|
2015-10-21T18:51:40
|
|
Update comments for removal of compat decompositions
|
|
f6799700
|
2015-10-21T17:20:55
|
|
Disable compatibility decomposition usage during normalization
Fixes https://github.com/behdad/harfbuzz/issues/152
|
|
ce889189
|
2015-10-21T11:23:12
|
|
Fix two more -Wshadow warnings
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
|
|
4a6b1eed
|
2015-10-21T11:20:55
|
|
Fix one more -Wshadow warning
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
|
|
6f932bc8
|
2015-10-21T11:16:49
|
|
Fix a few more -Wshadow-local warnings
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
|
|
b90cb366
|
2015-10-21T11:13:21
|
|
Fix one -Wshadow-compatible-local warning
From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
|
|
50e5750b
|
2015-10-21T11:10:10
|
|
Avoid unnecessary cast to 64-bit
Fixes https://github.com/behdad/harfbuzz/issues/146
Or I think it should.
|
|
305d2fbf
|
2015-10-21T11:04:28
|
|
Add HB_FALLTHROUGH
Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
|
|
ca97ea7a
|
2015-10-15T20:20:22
|
|
[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 2a9627c5641cd000e2adff0e42a0dc687b53ec70.
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
|
|
63ef0b41
|
2015-10-15T12:47:22
|
|
[ot-font] Fix hmtx wrong table length check
Discovered by libFuzzer. Ouch!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
|
|
613e6306
|
2015-10-13T23:33:28
|
|
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
|
|
ed13e2ce
|
2015-10-13T10:32:56
|
|
[ot-font] Fix leak
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
|
|
f9666497
|
2015-10-13T00:30:50
|
|
Fix another memory access issue discovered by libFuzzer
Fixes https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
|
|
cc6ea308
|
2015-10-12T17:21:52
|
|
Extern "C" custom-allocator declerations
|
|
50f489a0
|
2015-10-11T20:59:29
|
|
Typo
|
|
ee9b0b6c
|
2015-10-09T14:23:15
|
|
Fix another sanitize bug
Also discovered by "libFuzzer".
|
|
f396fbb0
|
2015-10-09T12:25:55
|
|
Fix return value of sanitize when subformat is not readable
This is a fix on top of the previous issue fixed in
c917965b9e6fe2b21ed6c51559673288fa3af4b7.
This was caught by "libFuzzer" testing.
|
|
77a1a2bc
|
2015-10-09T12:20:58
|
|
Add hb_dispatch_context_t
|
|
3e905e39
|
2015-10-08T12:51:02
|
|
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...
|
|
edeb3dab
|
2015-10-08T12:47:15
|
|
[ft] Add version for new API
|
|
2a9627c5
|
2015-10-07T17:33:20
|
|
[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.
|
|
3224a594
|
2015-10-07T17:33:02
|
|
Minor
|
|
52b41855
|
2015-10-03T13:20:55
|
|
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.
|
|
88da7bba
|
2015-10-02T14:38:20
|
|
Default font scale to face upem
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
|
|
1866e171
|
2015-10-02T14:21:29
|
|
Make hb_font_create_sub_font() NOT make parent immutable
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
|
|
980e25ca
|
2015-10-02T08:21:12
|
|
Fix hb-ot-shape-normalize with empty buffer
Part of https://github.com/behdad/harfbuzz/issues/136
|
|
a5efaac4
|
2015-10-02T08:02:29
|
|
Replace a couple of malloc()s with calloc()
|
|
26ba4d1e
|
2015-10-02T07:25:52
|
|
Fix segfault with empty buffer in hb_shape_plan_execute()
Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute().
Reported by Simon Cozens.
|