kc3-lang/harfbuzz/src/hb-buffer.cc

Branch :


Log

Author Commit Date CI Message
e6bbf112 2023-01-03 12:35:48 [buffer] Better document set_content_type Fixes https://github.com/harfbuzz/harfbuzz/issues/4000
f2297e69 2022-11-25 11:33:00 [buffer] Documentation Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
54ae3345 2022-11-24 11:59:50 [buffer] Improve documentation of hb_buffer_add_codepoints() Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
3b43096e 2022-11-23 22:04:02 [buffer] Whitespace
094f8073 2022-11-23 22:03:26 [buffer] Handle null buffer in set_message_func
404cb99d 2022-11-23 15:35:14 [buffer-diff] Fix check for glyph flag equality I'm not sure if the old behavior was intentional, but it was checking that the glyph flags were a subset of the reference buffer's glyph flags. I don't see why that is useful. Fix that. Then make the buffer-verify code ignore flag differences when verifying buffers, since our unsafe-to-concat flag at least, is conservative and not guaranteed to be produced the same in fragments. See: https://github.com/harfbuzz/harfbuzz/issues/3888
59c45f6d 2022-11-22 12:54:50 Use hb_memcpy instead of memcpy consistently
ac0efaf8 2022-11-22 12:50:36 Use hb_memset instead of memset consistently
4c14043b 2022-11-21 12:56:33 [algs] Add output argument to hb_unsigned_mul_overflows()
ed43bc51 2022-11-20 13:10:19 [buffer] Move delete_glyphs_inplace() here
1945b400 2022-07-25 10:45:55 [cpluscplus] Wrap hb-subset types as well Also changes signature of get_user_data of hb.h types to take const object. This is safe.
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.
98e90cc6 2022-06-30 08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
689c7753 2022-06-10 07:37:45 [buffer] Actually remove TODO item In reality, one side is smaller and one side is larger. The existing code handles that just fine.
d09e962b 2022-06-10 07:35:16 [buffer] Update a TODO item
f78a2509 2022-06-05 00:55:35 [gi] Remove Xconstructor annotations
55b911d8 2022-06-01 08:13:06 [buffer] Mark getter functions as taking const buffer Fixes https://github.com/harfbuzz/harfbuzz/issues/2873
e246723f 2022-06-01 04:54:18 [shape] Fail shaping internally if buffer ops exceeded
9c0c31df 2022-05-31 09:35:49 [buffer] When deleting glyphs, check cluster backwards as well
f7f61aeb 2022-05-31 09:37:38 [buffer] Add TODO item
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.
2e186d9f 2022-05-20 13:15:52 [buffer] Improve hash function of segment_properties_t
d35c73cd 2022-03-22 10:20:28 [buffer] Whitespace
03085132 2022-03-21 18:06:33 [buffer] Fix out-buffer under memory-alloc failure This was broken in July refactoring of the buffer, and exposed to ReverseChainSingleSubstFormat1 in 3807061d634b60bd6235d6e1d8c47a034377f924 Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38800 https://bugs.chromium.org/p/chromium/issues/detail?id=1303552
b263371b 2022-02-12 15:06:47 Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY
98da3306 2022-01-31 18:12:01 3.3.0
7c704d89 2022-01-28 12:38:32 [buffer] Make hb_buffer_append() take a const argument
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
36e9f467 2022-01-03 11:23:14 [buffer] Overlay segment-properties in hb_buffer_append() Part of https://github.com/harfbuzz/harfbuzz/issues/1555
6a669928 2022-01-03 11:21:29 Add hb_segment_properties_overlay() New API: + hb_segment_properties_overlay()
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
77eeec53 2021-11-03 23:31:03 3.1.0
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
4b5a81f1 2021-08-25 15:20:54 [buffer] Fix hb_buffer_append() pre/post-context logic Part of https://github.com/harfbuzz/harfbuzz/pull/3150
430224b1 2021-08-16 15:40:47 [buffer] Handle pre/post-context in buffer_append Fixes https://github.com/harfbuzz/harfbuzz/issues/1843
09c3b82f 2021-07-29 17:49:10 [buffer] When shifting forward, leave no gap Trying to see if this fixes the fuzzer issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
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.
10a9960f 2021-07-12 17:09:03 [buffer] Restructure swap_buffers() Is more of a "commit" operation now. Will rename when ready.
05c17787 2021-07-12 16:55:08 [buffer] Rewind cursor in clear_output()
69310f14 2021-07-09 17:24:29 [buffer] Change nil buffer have_output to false Seems like a historical artefact that it was true.
2337f0d0 2021-07-08 10:58:50 Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
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
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.
b05e5d9a 2021-03-15 14:08:08 [buffer] HB_NODISCARD next_glyphs()
05d2d37f 2021-03-15 13:43:29 [buffer] HB_NODISCARD ensure()
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.
2d39031f 2020-06-28 20:48:48 [buffer/set/map] Move immutable check only to C API boundary The immutable objects are a concept only enforced by the C API. So move checks only to that region. This does assume that the rest of the code is careful not getting into these internal methods on immutable objects, which something we do, but have no way of enforcing (currently). .
21433fa5 2020-06-28 20:46:02 m[buffer] In hb_buffer_append() don't change until allocation success
3b91e0b5 2020-06-28 20:33:54 m[buffer] Rename internal variable
9fcba109 2020-06-28 20:30:39 [buffer] Make swap_buffers() copy rest
9936490c 2020-12-31 00:19:29 [docs] Invalid use of "optional" annotation It is valid only for out and inout parameters. Fixes https://github.com/harfbuzz/harfbuzz/issues/1787
2fdab788 2020-12-30 23:44:30 [docs] Complete hb-buffer docs a bit
cb319f0d 2020-12-24 21:47:05 [docs] Add some missing annotations to hb-buffer.cc
f88e845f 2020-12-24 21:28:37 [docs] Minor fixes
e8de26e1 2019-04-21 20:31:54 [docs] Add gtkdoc comments to hb-buffer
71a3b54f 2020-12-23 15:33:15 2.7.3
77e704d1 2020-10-15 02:02:04 [buffer] Add assert_unicode()/assert_glyphs() and use internally
3232e6f2 2020-10-15 00:20:17 [buffer] Add hb_buffer_has_positions() Fixes https://github.com/harfbuzz/harfbuzz/issues/2716
48ad7459 2020-07-29 08:09:08 [ENOMEM] Fix buffer's content check logic So now rest of shape fuzzer also can be enabled. Fixes #2571
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
14a7b6f1 2020-02-26 15:09:04 Set hb_buffer_t to use array_t.reverse().
b79ceac3 2019-12-15 16:50:01 Prefer UINT_MAX instead of uint overflow. Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
b618e0ae 2019-12-15 16:26:50 Remove non-breaking spaces from comments. `0xC2A0` was used, for some reasons. It's not really a problem, but Qt Creator constatly trying to replace them with regular spaces, so I have to edit those files separately.
780d640c 2019-12-15 16:11:37 Remove unnecessary check in hb_buffer_t::set_masks. Bounds are already checked by the caller. Closes #2073
5fddc5f1 2019-11-20 13:07:26 Use foreach_cluster
029775bc 2019-10-09 11:00:09 [buffer] Minor; improve HB_NO_BUFFER_MESSAGE
670fec23 2019-10-10 09:21:08 Minor, add a zero length tolerant memset, hb_memset
e6909ee5 2019-09-18 22:12:25 minor
bfb155a5 2019-09-18 00:44:52 Don't call memset when length is zero Fixes this -fno-sanitize-recover=undefined check, /buffer/positions/empty: hb-buffer.cc:327:11: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:60:62: note: nonnull attribute specified here #0 0x4cf31c in hb_buffer_t::clear_positions() /home/user/code/harfbuzz/src/hb-buffer.cc:327:3 #1 0x4d4dd4 in hb_buffer_get_glyph_positions /home/user/code/harfbuzz/src/hb-buffer.cc:1418:13 #2 0x4cb553 in test_buffer_positions /home/user/code/harfbuzz/test/api/test-buffer.c:305:3 #3 0x7f324187bf49 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72f49) #4 0x7f324187be7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #5 0x7f324187be7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #6 0x7f324187c121 in g_test_run_suite (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73121) #7 0x7f324187c140 in g_test_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73140) #8 0x4c8bd3 in hb_test_run /home/user/code/harfbuzz/test/api/./hb-test.h:88:10 #9 0x4c8bd3 in main /home/user/code/harfbuzz/test/api/test-buffer.c:884:10 #10 0x7f324086db96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 #11 0x41e919 in _start (/home/user/code/harfbuzz/test/api/test-buffer+0x41e919)
a0b4ac4d 2019-08-24 17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
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.
815f002b 2019-06-05 10:38:06 Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined
41248cce 2019-05-07 20:54:31 Remove MIN/MAX in favor of hb_min/hb_max
e4120085 2018-12-17 21:31:01 Remove redundant void from C++ sources (#1486)
7ee5c523 2018-12-12 15:14:37 minor style fix, use void in methods on no argument
93ef20a8 2018-11-03 15:03:06 Replace most uses of is_inert with is_immutable
cf5fa57f 2018-10-27 04:50:38 [docs] Change section titles again I think I like the uniform "hb-*" more.
5dd86aa3 2018-10-27 04:28:40 [docs] Rename section titles to object names More useful.
00cf4e5e 2018-10-27 04:07:33 [docs] Fill in some sections
8d304ef7 2018-10-16 19:04:48 [utf] Add UTF16-BE and UTF32-BE
3d9a0306 2018-10-18 05:58:17 2.0.0
2e7c7165 2018-10-16 18:35:03 [buffer] Add an assert See if it helps debugging https://bugs.chromium.org/p/chromium/issues/detail?id=895117