Behdad Esfahbod
ab4c321180
[justify] Set out params in more cases
2023-03-03 09:31:16 -07:00
Khaled Hosny
e57defc07c
[justify] Set var_value when expanding/shrinking to max
...
When expanding/shrinking the buffer to max (and still not fitting), we
need to also set var_value to the axis max/min otherwise client not have
the correct axis value to draw with.
2023-03-03 09:20:29 -07:00
Behdad Esfahbod
43dbdd9db6
[justify] Document algorithm
2023-03-02 13:42:52 -07:00
Behdad Esfahbod
c98bb4cf9c
[justify] Fix up after recent changes
...
Oops.
2023-03-02 13:18:06 -07:00
Behdad Esfahbod
7897173870
[justify] Fix compiler warnings
2023-03-02 10:38:12 -07:00
Khaled Hosny
e359f46a20
Fix build
2023-03-02 03:06:53 +02:00
Behdad Esfahbod
25c66d633d
[justify] Wrap in HB_EXPERIMENTAL_API
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
96d4ed0931
[justify] Document API
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
d29d7b7a3d
[algs] Adjust solve_itp
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
93252c6fc3
[justify] Debug output
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
b937edfb14
[justify] Add min/max target_width
...
Speeds up solving when some slack available.
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
6e483c4061
[shape] Add hb_shape_justify() and hb-view --width
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
5c46286592
Revert "."
...
This reverts commit 59434578cd
.
2023-02-28 12:16:46 -07:00
Behdad Esfahbod
59434578cd
.
2023-02-28 12:13:55 -07:00
Behdad Esfahbod
1a5c749581
[config] Flesh out HB_NO_SHAPER a bit more
2022-12-04 15:20:51 -07:00
Khaled Hosny
98e90cc67c
[docs] Reduce warnings
...
Use markdown syntax for inline code blocks instead of %true, %false, and
%NULL.
2022-06-30 08:44:40 +02:00
Behdad Esfahbod
a5cf1a8738
Another null adjustment
2022-06-20 18:01:39 -06:00
Behdad Esfahbod
0d03123350
Mark a null variable as const
2022-06-20 16:51:35 -06:00
Behdad Esfahbod
e246723f0c
[shape] Fail shaping internally if buffer ops exceeded
2022-06-01 05:00:06 -06:00
Behdad Esfahbod
a441c6c16b
[shape] Only verify if text_buffer is successful
2022-06-01 04:49:39 -06:00
Behdad Esfahbod
d72d37008d
[shape] Allow null buffer
...
Ouch!
2022-06-01 04:48:40 -06:00
Behdad Esfahbod
9a2a857043
[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.
2022-05-31 06:35:42 -06:00
Behdad Esfahbod
61823838f9
[buffer] Add HB_BUFFER_FLAG_VERIFY
...
Move buffer verification code inside the library, from util/.
Part of https://github.com/harfbuzz/harfbuzz/issues/3010
2022-01-28 13:53:44 -07:00
Behdad Esfahbod
ed1163208d
Call atexit() via hb_atexit()
...
Part of https://github.com/harfbuzz/harfbuzz/issues/3197
2021-09-14 07:11:46 -04:00
Behdad Esfahbod
2337f0d047
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
2021-07-08 10:54:09 -07:00
Khaled Hosny
5151c2b668
[introspection] Replace deprecated allow-none
...
Use optional or nullable as appropriate.
2020-12-30 19:21:49 -08:00
Behdad Esfahbod
e40c0d82e2
[ENOMEM] Handle immutable buffer in shape_full()
...
Move the content_type changing to shape_plan_execute() where it belongs.
Skip setting if content type is UNKNOWN, which happens with empty buffers
only, including the immutable buffer.
Alternate fix to https://github.com/harfbuzz/harfbuzz/pull/2606
and https://github.com/harfbuzz/harfbuzz/pull/2625
2020-09-16 12:48:30 -06:00
Ebrahim Byagowi
679fac87df
Skip hb_shape if buffer object is immutable
2020-08-06 23:47:35 +04:30
Ben Wagner
b918cd8c76
Document hb_feature_t.
...
This documents hb_feature_t. This is motivated mostly by the ambiguity
of the units for 'start' and 'end' (clusters) and whether they are
inclusive or exclusive. This also documents that for lookup type 3 the
value is the one based index into the alternates and that in a list of
features later feature values override previous feature values with the
same tag.
2019-10-11 20:54:06 +03:30
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
b89c7fd3dc
Allow defining HB_USE_ATEXIT to 0
...
That's better use of that value than requiring extra macro HB_NO_ATEXIT
2018-11-21 12:32:48 -05:00
Behdad Esfahbod
3bf1ce748f
[shaper] Rename
2018-11-14 21:08:54 -05:00
Behdad Esfahbod
1db672a5e9
[shaper] Rename
2018-11-12 16:05:46 -05:00
Behdad Esfahbod
cf5fa57f00
[docs] Change section titles again
...
I think I like the uniform "hb-*" more.
2018-10-27 04:51:42 -07:00
Behdad Esfahbod
00cf4e5eb6
[docs] Fill in some sections
2018-10-27 04:47:41 -07: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
Emil A Eklund
7112c6413c
Guard free_static function definitions with macro
...
Add HB_USE_ATEXIT macros around free_static function definitions to
avoid unused function compiler warnings/errors.
2018-08-14 14:04:10 -07:00
Behdad Esfahbod
2663689936
Another clang bot fix
2018-08-12 18:10:59 -07:00
Behdad Esfahbod
7bd508a0c4
[lazy] Rename free()
2018-08-12 17:19:55 -07:00
Behdad Esfahbod
a3b97db910
[lazy] Port more to it
2018-08-12 17:14:32 -07:00
Behdad Esfahbod
1f7380944d
[atomic] Add hb_atomic_ptr_t<> and port all uses
...
Found and fixed a couple bugs.
Found a couple multithreading issues. Marked them with "XXX-MT-bug".
2018-08-09 00:27:01 -07:00
Ebrahim Byagowi
70d36543aa
Make atexit callbacks threadsafe ( #930 )
2018-03-29 17:30:28 -07:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
5dfd341f51
Minor
2017-01-22 16:55:40 -08:00
Behdad Esfahbod
72364103bc
Move code around
2017-01-20 20:16:53 -08:00
Behdad Esfahbod
72ada4f0c6
[GX] Hook up feature variations
...
Shape-plan caching is not implemented.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
70e72e5f61
[gobject] Fix a few warnings
...
Part of https://github.com/behdad/harfbuzz/issues/277
2016-06-28 21:15:36 -07:00
Khaled Hosny
9ab9f974d4
[docs] More buffers documentation
2016-01-01 20:38:21 +04:00
Behdad Esfahbod
26ba4d1e1f
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.
2015-10-02 07:25:52 +01:00