Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| f43dadb8 | 2022-07-30 10:23:03 | Rename kashida -> tatweel | ||
| d277addb | 2022-07-30 10:10:21 | [buffer] Add HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA | ||
| 915e12cc | 2022-07-29 13:55:39 | Prototype glyph flag safe-to-kashida Fixes https://github.com/harfbuzz/harfbuzz/issues/3721 | ||
| 0722b627 | 2022-07-24 17:35:44 | [buffer] Return delta from sync_so_far | ||
| c55c0197 | 2022-03-21 19:11:17 | [buffer] Add assertions of buffer sync status to message_impl | ||
| da9edce8 | 2022-03-21 18:51:01 | [buffer] Add sync_so_far() This removes separate out-buffer, at the cost of possibly changing idx. | ||
| 31e985d7 | 2022-06-27 16:32:02 | [buffer] Likely that not messaging | ||
| 148283d0 | 2022-06-10 07:48:39 | [syllabic] Use a buffer scratch-flag for has-broken-syllable | ||
| 104dc85a | 2022-06-04 06:56:35 | [buffer] Add try_allocate for buffer variables | ||
| f18eb000 | 2022-06-05 04:17:05 | [buffer] Mark a variable as unused Weird. Somehow our HB_TINY bot started erring as this var being unused in non-debug builds. Not sure why now... In file included from src/hb-ot-map.hh:32:0, from src/hb-ot-shape.hh:32, from src/hb-aat-layout.hh:32, from src/hb-aat-layout.cc:30, from src/harfbuzz.cc:1: src/hb-buffer.hh: In member function ‘void hb_buffer_t::assert_var(unsigned int, unsigned int)’: src/hb-buffer.hh:192:18: error: unused variable ‘bits’ [-Werror=unused-variable] unsigned int bits = (1u<<end) - (1u<<start); ^~~~ cc1plus: some warnings being treated as errors Error: Process completed with exit code 1. | ||
| 6fbb5521 | 2022-06-03 02:50:25 | s/FLAG_COMPLEX/FLAG_SHAPER/g | ||
| f3f9fc15 | 2022-05-31 06:05:57 | [buffer] Mark glyph_flags_t as flags | ||
| 9a2a8570 | 2022-05-31 04:25:20 | [ot-shape] Don't verify buffer if shaping failed Fixes all of fuzzing verify failures, which were result of buffer failure on super-long results, which fails unsafe-to-break because shorter strings don't fail shaping. | ||
| 56f11ec9 | 2022-02-18 14:08:43 | [buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/3454 | ||
| b263371b | 2022-02-12 15:06:47 | Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY | ||
| 8670ffbf | 2022-02-03 11:19:23 | [buffer] Comment | ||
| 61823838 | 2022-01-28 13:45:25 | [buffer] Add HB_BUFFER_FLAG_VERIFY Move buffer verification code inside the library, from util/. Part of https://github.com/harfbuzz/harfbuzz/issues/3010 | ||
| 33246064 | 2022-01-22 15:46:13 | [buffer] Oops | ||
| 6e345f70 | 2022-01-22 11:40:37 | Cosmetic | ||
| 14d43d12 | 2022-01-22 10:46:18 | [unsafe-to-concat] Adjust end conditions | ||
| ea1b32c8 | 2022-01-21 18:58:33 | [unsafe-to-concat] Adjust "interior"ness of "from_out_buffer" | ||
| c0058892 | 2022-01-20 15:51:04 | [unsafe-to-concat] Mark entire buffer unsafe-to-concat if kerx format2 | ||
| d98a0fc8 | 2021-12-04 20:43:27 | [buffer] Consolidate glyph-flags implementation | ||
| f91ce56e | 2021-12-04 20:07:05 | [buffer] Add default cluster value in find_min_cluster | ||
| 56d08195 | 2021-12-04 19:59:55 | [buffer] Rename _unsafe_to_break_set_mask to _infos_set_glyph_flags | ||
| 3122c2cd | 2021-12-04 19:50:33 | [buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/1463 | ||
| bea5369c | 2022-01-04 10:52:05 | [buffer] Rename swap_buffers() to sync() | ||
| d1e7df5c | 2022-01-04 07:32:04 | [buffer] Add enter()/leave() pair around shape() | ||
| 43be5ba4 | 2022-01-04 07:26:53 | [buffer] Group shape-related members together | ||
| 52f5711e | 2022-01-03 11:57:42 | [buffer] Add hb_buffer_create_similar() Fixes https://github.com/harfbuzz/harfbuzz/issues/1555 | ||
| f643b81f | 2022-01-03 11:45:31 | [buffer] Clean up internal state bookkeeping hb_buffer_reset() was NOT resetting cluster_level. Ouch! Fix that. Part of https://github.com/harfbuzz/harfbuzz/issues/1555 | ||
| 5b995526 | 2021-12-10 14:59:56 | [buffer] Fix reverse_group() to reverse() at the end | ||
| 21c4fc10 | 2021-12-10 13:02:43 | [buffer] Add optional merge_clusters arg to reverse_groups() | ||
| eb96e69d | 2021-12-10 12:55:29 | [buffer] Add foreach_group() | ||
| 1b78e04c | 2021-12-10 12:45:43 | [buffer] Add ::reverse_groups() | ||
| 4cd96e73 | 2021-12-10 12:33:21 | [buffer] Inline revers_range() / reverse() | ||
| 70f8c57e | 2021-12-04 19:49:23 | [buffer] Rename find_min_cluster | ||
| 94d43c00 | 2021-12-04 16:56:39 | [buffer] Merge and rename clear_glyph_flags() | ||
| da500568 | 2021-10-26 08:02:29 | [API] Add hb_buffer_[sg]et_not_found_glyph() and --not-found-glyph Instead of using gid=0 when a character is not found in the font, client can now set a custom value. This is useful for shaper-driven font fallback and to differentiate that from .notdef glyph. Fixes https://github.com/harfbuzz/harfbuzz/issues/1360 | ||
| 95b04f74 | 2021-07-12 17:35:45 | [buffer] Remove unnecessary have_separate_output() | ||
| 3e266e5f | 2021-07-12 17:30:26 | [buffer] Update comments | ||
| 3807061d | 2021-07-12 17:02:03 | [ot-layout] Don't remove_output() before reverse substitution No need anymore, because of new swap_buffers() semantics. Just assert instead. | ||
| 93e6a9bc | 2021-06-15 15:38:49 | Revert "Remove unneeded buffer clear_output / remove_output calls" This reverts commit 06175b71433bc42edc07d342e6354035e37fb5fd. One of the sanitizers is failing. Pushing again as PR to debug. I have suspicions. | ||
| 06175b71 | 2021-06-15 14:33:27 | Remove unneeded buffer clear_output / remove_output calls Made sure clear_output is always paired with swap_buffers. Trying to see if we can move towards RAII-like buffer iterators instead of the buffer keeping an iterator internally. | ||
| c61ce962 | 2021-06-10 17:33:29 | [buffer] In hb_buffer_get_positions(), return NULL if inside message callback As discussed in https://github.com/harfbuzz/harfbuzz/issues/2468#issuecomment-645666066 Part of fixing https://github.com/harfbuzz/harfbuzz/issues/2468 | ||
| 9e397ff2 | 2021-03-15 16:50:54 | [buffer] Fix order of HB_INTERNAL HB_DISCARD Sucks that has to be specified in this order. But that is what it is for now. Was only exhibiting problem on C++>=17 since that's when the [[nodiscard]] was introduced. | ||
| 8450f43a | 2021-03-15 15:18:06 | [buffer] HB_NODISCARD next_glyph() | ||
| f4bc7673 | 2021-03-15 14:54:45 | [buffer] Implement copy_glyph() in terms of output_info() | ||
| f73982a6 | 2021-03-15 14:52:19 | [buffer] Implement replace_glyph() in terms of replace_glyphs(1,1) I get exact same binary size with this, suggesting that compiler is optimizing these as needed. | ||
| 862f9134 | 2021-03-15 14:48:50 | [buffer] Implement output_glyph() in terms of replace_glyphs(0,1) To my surprise, saves ~20kb in my build (non-size-optimized) build. The output_glyph() method is never used in the fast paths, so doesn't matter if is not fully optimized for the special case it is. | ||
| 34a1204f | 2021-03-15 14:39:06 | [buffer] HB_NODISCARD output_glyph() Also, generalize and use replace_glyphs() in morx where output_glyph() was used in a loop. | ||
| e6be9eb4 | 2021-03-15 14:12:10 | [buffer] HB_NODISCARD output_info() | ||
| 2a0dbb3e | 2021-03-15 14:10:39 | [buffer] HB_NODISCARD copy_glyph() | ||
| b05e5d9a | 2021-03-15 14:08:08 | [buffer] HB_NODISCARD next_glyphs() | ||
| 4ae8aab8 | 2021-03-15 14:01:52 | [buffer] HB_NODISCARD has_separate_output() | ||
| 8d3701f5 | 2021-03-15 14:01:32 | [buffer] HB_NODISCARD in_error() | ||
| 41e05479 | 2021-03-15 14:00:00 | [buffer] HB_NODISCARD shift_forward() | ||
| 83b3784d | 2021-03-15 13:59:14 | [buffer] HB_NODISCARD make_room_for() | ||
| c355508a | 2021-03-15 13:58:30 | [buffer] HB_NODISCARD ensure_glyphs() / ensure_unicode() | ||
| bc22305b | 2021-03-15 13:57:18 | [buffer] HB_NODISCARD ensure_inplace() | ||
| cac6c86d | 2021-03-15 13:46:54 | [buffer] HB_NODISCARD move_to() | ||
| 05d2d37f | 2021-03-15 13:43:29 | [buffer] HB_NODISCARD ensure() | ||
| d8028a07 | 2021-03-15 13:34:36 | [buffer] HB_NODISCARD enlarge() | ||
| 3f1998a0 | 2021-03-15 13:33:44 | [buffer] HB_NODISCARD replace_glyph() | ||
| 607979d1 | 2021-03-15 13:23:48 | [buffer] HB_NODISCARD replace_glyphs() | ||
| 906c9928 | 2021-03-15 13:13:45 | [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. | ||
| 77e704d1 | 2020-10-15 02:02:04 | [buffer] Add assert_unicode()/assert_glyphs() and use internally | ||
| 5ef06139 | 2020-10-15 01:54:28 | [buffer] Add ensure_glyphs()/ensure_unicode() Use in deserialize. To be used more. | ||
| 1c05f678 | 2020-10-11 12:28:25 | [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 | ||
| d0e2addd | 2020-07-18 22:14:52 | minor | ||
| 2dda6dd7 | 2020-04-20 14:12:45 | minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap | ||
| cd7b46ca | 2020-01-26 20:46:19 | Use correct return type in _unsafe_to_break_find_min_cluster. | ||
| 029775bc | 2019-10-09 11:00:09 | [buffer] Minor; improve HB_NO_BUFFER_MESSAGE | ||
| 0558413f | 2019-10-01 13:49:55 | Minor, tweak spaces | ||
| 7f3b409e | 2019-06-20 14:24:43 | Fix build with -O0 message_impl was not defined. That causes trouble if compiler didn't optimize the unreachable call out... | ||
| eb9798ef | 2019-06-18 13:29:55 | [config] Dont' compile buffer message API if HB_NO_BUFFER_MESSAGE Part of https://github.com/harfbuzz/harfbuzz/issues/1652 | ||
| c7439d4e | 2019-06-05 12:13:49 | Slightly massage buffer-messaging commit Saves a few bytes. | ||
| 41248cce | 2019-05-07 20:54:31 | Remove MIN/MAX in favor of hb_min/hb_max | ||
| 5d4b0377 | 2019-01-22 12:11:24 | Convert unsigned enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553 | ||
| 271cb7c1 | 2019-01-22 12:05:35 | Make some enum constants unsigned | ||
| 9aebfb41 | 2018-12-18 13:22:17 | [serialize] Streamline error propagation | ||
| e4120085 | 2018-12-17 21:31:01 | Remove redundant void from C++ sources (#1486) | ||
| b2ebaa9a | 2018-12-16 22:38:10 | Remove redundant 'inline' from methods (#1483) | ||
| 35d410f2 | 2018-10-29 14:45:44 | 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. | ||
| 60c13976 | 2018-10-14 19:36:46 | [buffer] Fix output_glyph at end of buffer Part of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955 | ||
| e883f527 | 2018-10-09 14:50:57 | 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. | ||
| 71b65eb2 | 2018-10-07 18:41:52 | 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 | ||
| 2a6f1521 | 2018-10-03 20:09:14 | [buffer] Inline some more | ||
| c36f3f5b | 2018-10-02 14:34:29 | [arabic] Use manual-zwj instead of flipping joiners | ||
| bd07d287 | 2018-09-30 03:54:40 | Use buffer scratch_flags to remember if we had any joiners | ||
| 606bf574 | 2018-09-16 19:33:48 | 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 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a. | ||
| 4e626278 | 2018-09-16 18:09:36 | Enforce single-param static_assert() only So we don't accidentally break it again. | ||
| fda994e1 | 2018-09-07 15:02:57 | 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 | ||
| c77ae408 | 2018-08-25 22:36:36 | Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust. |