Behdad Esfahbod
3f1998a065
[buffer] HB_NODISCARD replace_glyph()
2021-03-15 13:33:44 -06:00
Behdad Esfahbod
607979d12f
[buffer] HB_NODISCARD replace_glyphs()
2021-03-15 13:23:48 -06:00
Behdad Esfahbod
906c9928bb
[buffer] Return success status from buffer ops that can fail
...
Previous error-handling philosophy was that user doesn't need to
immediately know whether operation failed. But as can be seen after
we added malloc-failing fuzzing, there's just so many places in the
code that a failure of these operations needs to be mitigated before
further operations. So I'm moving towards returning success here,
and possibly making it nodiscard.
2021-03-15 13:13:45 -06:00
Behdad Esfahbod
77e704d1db
[buffer] Add assert_unicode()/assert_glyphs() and use internally
2020-10-15 02:02:04 -06:00
Behdad Esfahbod
5ef0613909
[buffer] Add ensure_glyphs()/ensure_unicode()
...
Use in deserialize. To be used more.
2020-10-15 01:54:28 -06:00
Behdad Esfahbod
1c05f6789b
[buffer] Increase work limits
...
Our previous limits of 64 per input character was already hit
by David Corbett's under-development Duployan font.
Increase work limits by factor of 16, and number of glyphs by factor of 2.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2707
2020-10-11 12:28:25 -06:00
Ebrahim Byagowi
d0e2addd43
minor
2020-07-18 22:16:02 +04:30
Ebrahim Byagowi
2dda6dd744
minor, tweak spacing
...
turn 8 spaces to tab, add space before Null/Crap
2020-04-20 16:18:29 +04:30
Evgeniy Reizner
cd7b46ca15
Use correct return type in _unsafe_to_break_find_min_cluster.
2020-01-26 23:59:36 +03:30
Behdad Esfahbod
029775bcbd
[buffer] Minor; improve HB_NO_BUFFER_MESSAGE
2019-10-17 10:00:40 -07:00
Ebrahim Byagowi
0558413f27
Minor, tweak spaces
2019-10-01 13:50:11 +03:30
Behdad Esfahbod
7f3b409e85
Fix build with -O0
...
message_impl was not defined. That causes trouble if compiler didn't
optimize the unreachable call out...
2019-06-20 14:24:43 -07:00
Behdad Esfahbod
eb9798ef73
[config] Dont' compile buffer message API if HB_NO_BUFFER_MESSAGE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:29:55 -07:00
Behdad Esfahbod
c7439d4e3a
Slightly massage buffer-messaging commit
...
Saves a few bytes.
2019-06-05 12:15:09 -07:00
Behdad Esfahbod
41248cce0e
Remove MIN/MAX in favor of hb_min/hb_max
2019-05-07 20:54:31 -07:00
Behdad Esfahbod
5d4b0377b9
Convert unsigned enum class consts to static constexpr
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod
271cb7c1c0
Make some enum constants unsigned
2019-01-22 12:17:26 +01:00
Behdad Esfahbod
9aebfb4182
[serialize] Streamline error propagation
2018-12-18 13:22:17 -05:00
Ebrahim Byagowi
e412008599
Remove redundant void from C++ sources ( #1486 )
2018-12-17 13:01:01 -05:00
Ebrahim Byagowi
b2ebaa9afa
Remove redundant 'inline' from methods ( #1483 )
2018-12-16 14:08:10 -05:00
Behdad Esfahbod
35d410f2ba
Remove ASSERT_POD
...
Newer compilers / language allows structs with constructor in union.
So, this was not actually testing anything. Indeed, the recent
change in DISALLOW_COPY *is* making some of our types non-POD.
That broke some bots.
Just remove this since it wasn't doing much, and I'd rather have
DISALLOW_COPY.
2018-10-29 14:45:44 -07:00
Behdad Esfahbod
60c1397673
[buffer] Fix output_glyph at end of buffer
...
Part of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
2018-10-14 19:38:14 -07:00
Behdad Esfahbod
e883f52732
Call get_nominal_glyphs() for runs of simple clusters at a time
...
Even without FT or OT font funcs implementing get_nominal_glyphs(), there's measurable
speedup.
2018-10-09 14:50:57 -04:00
Behdad Esfahbod
71b65eb27d
Add API for setting invisible-codepoint
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
New API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
hb-shape / hb-view --invisible-codepoint
2018-10-07 18:43:26 +02:00
Behdad Esfahbod
2a6f15213e
[buffer] Inline some more
2018-10-03 20:19:42 +02:00
Behdad Esfahbod
c36f3f5bef
[arabic] Use manual-zwj instead of flipping joiners
2018-10-02 14:36:47 +02:00
Behdad Esfahbod
bd07d2878f
Use buffer scratch_flags to remember if we had any joiners
2018-09-30 06:08:11 -04:00
Behdad Esfahbod
606bf57430
Revert forcing use of single-parameter static_assert()
...
Some clang versions define static_assert as a macro apparently, so we cannot
redefine it...
This reverts commit 94bfea0ce6
.
This reverts commit 4e62627831
.
2018-09-16 19:34:39 +02:00
Behdad Esfahbod
4e62627831
Enforce single-param static_assert() only
...
So we don't accidentally break it again.
2018-09-16 18:09:36 +02:00
Behdad Esfahbod
fda994e1d4
Use enum instead of "static const" in class scope
...
Technically, static const needs an out-of-class definition. Eg:
CXXLD libharfbuzz-subset.la
Undefined symbols for architecture x86_64:
"OT::FeatureVariationRecord::min_size", referenced from:
bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
"OT::Record<OT::LangSys>::min_size", referenced from:
OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
"OT::IntType<unsigned short, 2u>::min_size", referenced from:
OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const in libharfbuzz_subset_la-hb-subset.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libharfbuzz-subset.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Exited with code 2
2018-09-07 15:02:57 -04:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00