|
d35c73cd
|
2022-03-22T10:20:28
|
|
[buffer] Whitespace
|
|
03085132
|
2022-03-21T18: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-12T15:06:47
|
|
Merge pull request #3398 from harfbuzz/buffer-verify
Add HB_BUFFER_FLAG_VERIFY
|
|
98da3306
|
2022-01-31T18:12:01
|
|
3.3.0
|
|
7c704d89
|
2022-01-28T12:38:32
|
|
[buffer] Make hb_buffer_append() take a const argument
|
|
d98a0fc8
|
2021-12-04T20:43:27
|
|
[buffer] Consolidate glyph-flags implementation
|
|
f91ce56e
|
2021-12-04T20:07:05
|
|
[buffer] Add default cluster value in find_min_cluster
|
|
56d08195
|
2021-12-04T19:59:55
|
|
[buffer] Rename _unsafe_to_break_set_mask to _infos_set_glyph_flags
|
|
3122c2cd
|
2021-12-04T19:50:33
|
|
[buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
|
|
bea5369c
|
2022-01-04T10:52:05
|
|
[buffer] Rename swap_buffers() to sync()
|
|
d1e7df5c
|
2022-01-04T07:32:04
|
|
[buffer] Add enter()/leave() pair around shape()
|
|
43be5ba4
|
2022-01-04T07:26:53
|
|
[buffer] Group shape-related members together
|
|
52f5711e
|
2022-01-03T11:57:42
|
|
[buffer] Add hb_buffer_create_similar()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
f643b81f
|
2022-01-03T11: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-03T11:23:14
|
|
[buffer] Overlay segment-properties in hb_buffer_append()
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
|
|
6a669928
|
2022-01-03T11:21:29
|
|
Add hb_segment_properties_overlay()
New API:
+ hb_segment_properties_overlay()
|
|
1b78e04c
|
2021-12-10T12:45:43
|
|
[buffer] Add ::reverse_groups()
|
|
4cd96e73
|
2021-12-10T12:33:21
|
|
[buffer] Inline revers_range() / reverse()
|
|
70f8c57e
|
2021-12-04T19:49:23
|
|
[buffer] Rename find_min_cluster
|
|
77eeec53
|
2021-11-03T23:31:03
|
|
3.1.0
|
|
da500568
|
2021-10-26T08: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-25T15:20:54
|
|
[buffer] Fix hb_buffer_append() pre/post-context logic
Part of https://github.com/harfbuzz/harfbuzz/pull/3150
|
|
430224b1
|
2021-08-16T15:40:47
|
|
[buffer] Handle pre/post-context in buffer_append
Fixes https://github.com/harfbuzz/harfbuzz/issues/1843
|
|
09c3b82f
|
2021-07-29T17: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-12T17:30:26
|
|
[buffer] Update comments
|
|
3807061d
|
2021-07-12T17: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-12T17:09:03
|
|
[buffer] Restructure swap_buffers()
Is more of a "commit" operation now. Will rename when ready.
|
|
05c17787
|
2021-07-12T16:55:08
|
|
[buffer] Rewind cursor in clear_output()
|
|
69310f14
|
2021-07-09T17:24:29
|
|
[buffer] Change nil buffer have_output to false
Seems like a historical artefact that it was true.
|
|
2337f0d0
|
2021-07-08T10: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-15T15: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-15T14: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-10T17: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-15T14: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-15T14:08:08
|
|
[buffer] HB_NODISCARD next_glyphs()
|
|
05d2d37f
|
2021-03-15T13:43:29
|
|
[buffer] HB_NODISCARD ensure()
|
|
906c9928
|
2021-03-15T13: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-28T20: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-28T20:46:02
|
|
m[buffer] In hb_buffer_append() don't change until allocation success
|
|
3b91e0b5
|
2020-06-28T20:33:54
|
|
m[buffer] Rename internal variable
|
|
9fcba109
|
2020-06-28T20:30:39
|
|
[buffer] Make swap_buffers() copy rest
|
|
9936490c
|
2020-12-31T00: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-30T23:44:30
|
|
[docs] Complete hb-buffer docs a bit
|
|
cb319f0d
|
2020-12-24T21:47:05
|
|
[docs] Add some missing annotations to hb-buffer.cc
|
|
f88e845f
|
2020-12-24T21:28:37
|
|
[docs] Minor fixes
|
|
e8de26e1
|
2019-04-21T20:31:54
|
|
[docs] Add gtkdoc comments to hb-buffer
|
|
71a3b54f
|
2020-12-23T15:33:15
|
|
2.7.3
|
|
77e704d1
|
2020-10-15T02:02:04
|
|
[buffer] Add assert_unicode()/assert_glyphs() and use internally
|
|
3232e6f2
|
2020-10-15T00:20:17
|
|
[buffer] Add hb_buffer_has_positions()
Fixes https://github.com/harfbuzz/harfbuzz/issues/2716
|
|
48ad7459
|
2020-07-29T08:09:08
|
|
[ENOMEM] Fix buffer's content check logic
So now rest of shape fuzzer also can be enabled.
Fixes #2571
|
|
d0e2addd
|
2020-07-18T22:14:52
|
|
minor
|
|
2dda6dd7
|
2020-04-20T14:12:45
|
|
minor, tweak spacing
turn 8 spaces to tab, add space before Null/Crap
|
|
14a7b6f1
|
2020-02-26T15:09:04
|
|
Set hb_buffer_t to use array_t.reverse().
|
|
b79ceac3
|
2019-12-15T16:50:01
|
|
Prefer UINT_MAX instead of uint overflow.
Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
|
|
b618e0ae
|
2019-12-15T16: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-15T16:11:37
|
|
Remove unnecessary check in hb_buffer_t::set_masks.
Bounds are already checked by the caller.
Closes #2073
|
|
5fddc5f1
|
2019-11-20T13:07:26
|
|
Use foreach_cluster
|
|
029775bc
|
2019-10-09T11:00:09
|
|
[buffer] Minor; improve HB_NO_BUFFER_MESSAGE
|
|
670fec23
|
2019-10-10T09:21:08
|
|
Minor, add a zero length tolerant memset, hb_memset
|
|
e6909ee5
|
2019-09-18T22:12:25
|
|
minor
|
|
bfb155a5
|
2019-09-18T00: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-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
7f3b409e
|
2019-06-20T14: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-18T13: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-05T12:13:49
|
|
Slightly massage buffer-messaging commit
Saves a few bytes.
|
|
815f002b
|
2019-06-05T10:38:06
|
|
Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined
|
|
41248cce
|
2019-05-07T20:54:31
|
|
Remove MIN/MAX in favor of hb_min/hb_max
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
7ee5c523
|
2018-12-12T15:14:37
|
|
minor style fix, use void in methods on no argument
|
|
93ef20a8
|
2018-11-03T15:03:06
|
|
Replace most uses of is_inert with is_immutable
|
|
cf5fa57f
|
2018-10-27T04:50:38
|
|
[docs] Change section titles again
I think I like the uniform "hb-*" more.
|
|
5dd86aa3
|
2018-10-27T04:28:40
|
|
[docs] Rename section titles to object names
More useful.
|
|
00cf4e5e
|
2018-10-27T04:07:33
|
|
[docs] Fill in some sections
|
|
8d304ef7
|
2018-10-16T19:04:48
|
|
[utf] Add UTF16-BE and UTF32-BE
|
|
3d9a0306
|
2018-10-18T05:58:17
|
|
2.0.0
|
|
2e7c7165
|
2018-10-16T18:35:03
|
|
[buffer] Add an assert
See if it helps debugging https://bugs.chromium.org/p/chromium/issues/detail?id=895117
|
|
a03f5f4d
|
2017-12-28T22:59:29
|
|
Replace "ISO 639" with "BCP 47"
`hb_language_from_string` accepts not only ISO 639 but also BCP 47. Not
all ISO 639 codes are valid BCP 47 tags but the function does not accept
overlong language subtags anyway.
|
|
e42cd58c
|
2018-10-07T20:46:11
|
|
Rename invisible_codepoint to invisible_glyph in API
Deleted recently added API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
hb-shape / hb-view --invisible-codepoint
New API:
hb_buffer_set_invisible_glyph()
hb_buffer_get_invisible_glyph()
hb-shape / hb-view --invisible-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
|
|
14ebf8af
|
2018-10-07T20:35:06
|
|
[buffer] Improve shift_forward()
"Improve" is a strong word in this case though, I understand.
|
|
71b65eb2
|
2018-10-07T18: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-03T20:09:14
|
|
[buffer] Inline some more
|
|
ba0f0f15
|
2018-09-30T03:49:52
|
|
Document setlocale() threadsafety issue
"Fixes" //github.com/harfbuzz/harfbuzz/issues/1191
|
|
55bae682
|
2018-09-24T10:43:06
|
|
[docs] A few improvements
If we wrote just this much every day...
|
|
606bf574
|
2018-09-16T19: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-16T18:09:36
|
|
Enforce single-param static_assert() only
So we don't accidentally break it again.
|
|
c77ae408
|
2018-08-25T22:36:36
|
|
Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders. Please adjust.
|
|
f0ef096b
|
2018-08-13T10:30:41
|
|
Don't add reference in get_unicode_funcs() functions
Users don't expect a new reference returned from a get() function.
Indeed, all users of that API I foud where NOT destroying the reference.
Just change the implementations to NOT return a reference.
This applies to the following APIs:
hb_unicode_funcs_get_default()
hb_glib_get_unicode_funcs()
hb_icu_get_unicode_funcs()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1134
|
|
3506672c
|
2018-08-06T06:17:48
|
|
Port _nil objects to Null() machinery
Finally, unified!
|
|
bddeb2b1
|
2018-07-10T14:12:37
|
|
Minor renamings of internal inline functions
|
|
7185b273
|
2018-05-31T20:03:00
|
|
Rename in_error to !successful
Towards possibly using Null pool for some nil objects.
|
|
f673cfbd
|
2018-05-07T13:58:32
|
|
Support scripts that are written both LTR and RTL
Right now only Old Italic is marked as such.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
|
|
cc1e0840
|
2018-02-06T10:20:48
|
|
[buffer] Tweak diff re glyph_flags again
We expect the buffer to have no flags that the reference doesn't...
Meh. Makes MORX tests pass now. Need to better define the behavior.
|
|
d49ae515
|
2018-02-06T13:48:10
|
|
Fix hb-buffer logic error
|
|
54e6efad
|
2018-02-04T14:58:02
|
|
[aat] Fix unsafe-to-break
At any position, if state is not zero, mark unsafe-to-break before,
unless we can reason it safe.
At any position, if there's an action entry for end-of-text, mark
unsafe to break.
Also changes buffer diff impl to allow for flag differences as long
as the buffer glyph flags are superset of reference glyph flags.
With this, all MORX tests pass.
|
|
baf7779d
|
2017-11-14T21:53:48
|
|
Limit how much recursion GSUB/GPOS does
This only counts recursions right now. Good start.
Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
|
|
102f5ead
|
2017-11-01T02:10:18
|
|
Enable PSVita (arm-none-eabi) compile again and add it to CI (#594)
|
|
dbdbfe3d
|
2017-10-15T12:11:08
|
|
Use nullptr instead of NULL
|
|
c3448e8d
|
2017-10-15T12:02:00
|
|
Use static_assert instead of custom ASSERT_STATIC
|
|
d03f11f2
|
2017-09-04T20:14:13
|
|
Fix buffer_diff for empty buffers
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
|
|
099472e0
|
2017-08-30T16:45:06
|
|
hb_buffer_diff() tweak
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
|