Qunxin Liu
125450d2f2
[subset] collect name_ids for FeratureParams
2023-03-13 15:43:29 -07:00
Garret Rieger
663ecc01d8
[subset] don't free glyphs by range.
...
The iterator in this loop is a map iterator so glyphs are not necessarily traveresed in order.
2023-03-13 16:32:59 -06:00
Garret Rieger
3d05b96181
[subset] track which glyphs have allocated memory so we can clean up correctly.
...
Fixes https://oss-fuzz.com/testcase-detail/5388270411579392
2023-03-13 16:03:58 -06:00
Qunxin Liu
de6533d885
[subset] collect name_ids from CPAL table
2023-03-13 13:36:00 -07:00
Qunxin Liu
7b77cd198c
[subset] fix bug in CPAL V1tail serialization
...
We should serialize nameIDs rather than retained color index
2023-03-13 12:51:46 -07:00
Behdad Esfahbod
6d2705a719
[justify-demo] Help message
2023-03-10 12:40:57 -07:00
Simon Cozens
2d8634624c
Add Tifinagh to list of both-directions scripts
2023-03-10 10:55:11 -07:00
Jean-Michaël Celerier
905eeee4a4
harfbuzz-config.cmake: support static library build
2023-03-09 20:31:39 +02:00
Garret Rieger
28b05e1cb6
[subset] Fix memory leak in glyf subset.
...
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6525813890875392 .
2023-03-08 17:02:04 -07:00
Garret Rieger
9286e12525
Don't subset a glyf table with an unknown format.
...
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/4875306193518592
2023-03-08 14:51:54 -07:00
Behdad Esfahbod
cfa9541daa
[glyf] "Support" glyf version 1
2023-03-08 10:35:39 -07:00
Behdad Esfahbod
552290f604
[gvar] Fix out-of-memory access issue
...
Fixes https://oss-fuzz.com/testcase-detail/5953342850596864
2023-03-08 10:25:26 -07:00
Behdad Esfahbod
7327006d68
[GSUB] Support SingleSubst in get_glyph_alternates
...
Fixes https://github.com/harfbuzz/harfbuzz/discussions/4146
2023-03-07 21:06:01 -07:00
Behdad Esfahbod
69183217df
Add test-gsub-get-alternates.cc
2023-03-07 20:56:56 -07:00
Behdad Esfahbod
ea17c7a81a
[beyond-64k] Implement gvar support
...
https://github.com/harfbuzz/boring-expansion-spec/issues/85
2023-03-07 14:23:39 -07:00
Behdad Esfahbod
f325aba561
[VarComposites] Minor rename
2023-03-06 13:07:42 -07:00
Behdad Esfahbod
d165afec1d
[justify-demo] Create new fonts all the time
...
The hb.shape_justify() call modifies the font. This was messing
up justification. Create new fonts all the time.
2023-03-04 21:09:26 -07:00
Khaled Hosny
690145fa00
[justify-demo] Rewrite in a simpler way
...
No need to overthink it, append text words to the line and reshape, no
need to shape the whole text first and do complicated glyph/input
mapping. Much simpler code and as fast.
2023-03-04 07:19:20 +02:00
Behdad Esfahbod
e9d6f23b5d
[justify-demo] Fix for LTR typesetting
2023-03-03 17:15:18 -07:00
Behdad Esfahbod
5cf54aedde
[justify-demo] Guess segment properties
2023-03-03 17:01:12 -07:00
Behdad Esfahbod
5c334b9686
[justify-demo] Fix crash if font has no variation axis
2023-03-03 16:53:44 -07:00
Behdad Esfahbod
ab249fd24b
[justify] Fix shrink/expand conditions
2023-03-04 01:46:07 +02:00
Khaled Hosny
039ea9adda
[justify] Add demo GTK app
2023-03-04 01:44:01 +02:00
Behdad Esfahbod
be47182d48
[hb-cairo] Add Black Foundry copyright
2023-03-03 11:10:16 -07:00
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
a2efa5b489
[map] Another try at fixing old Mac build
...
https://github.com/harfbuzz/harfbuzz/issues/4138
2023-03-03 09:15:46 -07:00
Khaled Hosny
bfab56d3b5
[font] Typo
2023-03-03 13:14:05 +02:00
Khaled Hosny
60841e2618
7.1.0
2023-03-03 01:05:43 +02:00
Qunxin Liu
e471ef77f9
[instancer] fix a runtime error
...
runtime error: -1 is outside the range of representable values of type 'unsigned int'
2023-03-02 14:13:17 -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
fe83736e26
[sanitize] Protect against an underflow
2023-03-02 11:35:42 -07:00
Behdad Esfahbod
08784baf10
[GSUB/GPOS] Fix sanitization in Format1
...
Fixes https://oss-fuzz.com/testcase-detail/5120727025319936
2023-03-02 10:48:30 -07:00
Behdad Esfahbod
7897173870
[justify] Fix compiler warnings
2023-03-02 10:38:12 -07:00
Behdad Esfahbod
be64cae164
[map] Another try at fixing old Mac builds
...
Maybe fixes https://github.com/harfbuzz/harfbuzz/issues/4138
2023-03-02 09:50:38 -07:00
Behdad Esfahbod
67e01c1292
[map] Try to work around old Mac compiler bug
...
Maybe fixes https://github.com/harfbuzz/harfbuzz/issues/4138
2023-03-01 20:08:17 -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
ee4822f969
[algs] Add solve_itp method
...
Port from kurbo.
2023-03-01 14:23:12 -07:00
Behdad Esfahbod
c67c0086ef
[GPOS] Fix indexing in MarkLigPos
...
This was broken in 8708b9e081
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4142
2023-03-01 13:32:44 -07:00
Matthias Clasen
01d34763f0
Typo fix
2023-03-01 10:11:47 -07:00
Behdad Esfahbod
5226d69733
[font] Make set_variation() respect currently-set variations
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4143
2023-02-28 14:50:07 -07:00
Behdad Esfahbod
91627daee2
[outline] Rename internal function
2023-02-28 14:31:25 -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
bbb9d6d436
[font] Add hb_font_set_variation()
2023-02-28 12:08:11 -07:00
Qunxin Liu
a975ec4842
[instancer] apply cvar deltas
2023-02-27 17:05:23 -07:00
Qunxin Liu
8b0c7b9554
[instance] Add struct definition for cvar table
...
Also add functions to add cvt tables with cvar deltas applied
2023-02-27 17:05:23 -07:00
Qunxin Liu
22cc73f3e9
Move common structs for TupleVariation from gvar to var-common.hh
...
Also added a table_base in the iterator and related function to handle
different start address for dataoffset in cvar and gvar
2023-02-27 17:05:23 -07:00
Behdad Esfahbod
62fc27f372
[ft] Enlarge glyph-cache value-size again
...
8bits just doesn't do it. It has caused cache-hammering and high
CPU usage when the font is hinted.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4139
2023-02-27 11:21:32 -07:00
Behdad Esfahbod
209f63b785
[TINY] Fix config issue
2023-02-24 16:03:40 -07:00
Qunxin Liu
605aed0544
[instancer] bug fix in post table applying mvar deltas
2023-02-24 13:19:37 -07:00
Garret Rieger
918193ebf9
[subset] fix a class of fuzzer timeouts caused by large shared coverage tables.
...
More acurately estimates the op count for CoverageFormat2 tables as the population size instead of the size in bytes.
2023-02-22 16:57:39 -07:00
Behdad Esfahbod
33cc3121d4
Comment
2023-02-22 12:03:30 -07:00
Behdad Esfahbod
5bc6ab006d
Use __has_builtin for builtin checks instead of compiler versions
...
https://github.com/harfbuzz/harfbuzz/issues/4066#issuecomment-1439510188
2023-02-22 08:54:18 -07:00
Behdad Esfahbod
6b286cfabf
[cubic-glyf] Remove stale comment
2023-02-21 16:15:45 -07:00
Behdad Esfahbod
22b9315628
[cubic-glyf] Handle wrap-around cubic off-curves
2023-02-21 15:50:55 -07:00
Behdad Esfahbod
050f5a58fe
[cubic-glyf] Handle contour-initial cubic offcurves
2023-02-21 15:26:27 -07:00
Khaled Hosny
9c27fe625f
Revert "[doc] Fix a couple of gtk-doc warnings"
...
This reverts commit ed42b2fcb5
.
2023-02-21 23:25:14 +02:00
Khaled Hosny
ed42b2fcb5
[doc] Fix a couple of gtk-doc warnings
2023-02-21 23:08:15 +02:00
Khaled Hosny
0575229477
[blob] Typo in documentation
2023-02-21 18:07:53 +02:00
Khaled Hosny
1d1f93a612
7.0.1
2023-02-20 15:54:12 +02:00
Behdad Esfahbod
5b50b07717
[subset-cff] Make BCD writing locale-independent
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
21ff66cbd4
[subset-cff2] Round blended Private values when instancing
...
Hopefully no one blends BlueScale...
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
a4b7033d01
[cff2-subset] Blend Private values when instancing
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
f10a4c9d6a
[cff] Rename encode_num to encode_num_cs
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
c65eb5a82e
[cff] Specialize cff_private_dict_op_serializer_t for CFF1/2
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
bf4b34e87e
[subset-cff2] Don't encode vsindex in Private dict
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
220caa7e09
[subset-cff2] Only encode VarStore link if any varstore
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
82d9940a93
[subset-cff2] Don't encode vsindex if pinned
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
a88f3e8d37
[subset-cff2] Don't serialize VarStore if pinned
2023-02-19 20:39:01 -07:00
Behdad Esfahbod
8c1b47d7e2
[font] Fix compiler warnings
2023-02-19 20:38:43 -07:00
Behdad Esfahbod
7c74fc9631
[CFF] Remove unused member single_val
2023-02-19 14:43:31 -07:00
Behdad Esfahbod
2746597b69
[subset-cff2] Add flush_hintmask
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4125
2023-02-19 12:15:22 -07:00
Behdad Esfahbod
adccc5355b
[MarkBase] Adjust base-finding logic
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4124
2023-02-17 12:29:42 -07:00
Behdad Esfahbod
946477fa54
[font] Fix a MSVC "error"
...
Oh well.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4122
2023-02-16 15:04:49 -07:00
Behdad Esfahbod
b41efb6c4d
[atomic] Use no-op asm for compiler barrier
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/4119
2023-02-13 21:45:20 -07:00
Khaled Hosny
552f0714e8
[meson] Fix test failure with experimental_api
...
Pass --experimental-api to all gen-def.py when generating all .def
files, not only harfbuzz.def.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4117
2023-02-13 09:41:51 +02:00
Khaled Hosny
8bdaeddfcd
7.0.0
2023-02-11 23:52:58 +02:00
Khaled Hosny
0ea8bbd91a
[doc] Use XSince for REPLACEME/EXPERIMENTAL
...
To hide them from gtk-doc so that we can finally enable gtkdoc-check.
2023-02-11 20:59:44 +02:00
Khaled Hosny
16dfd263b1
[subset] Remove docs for unimplemented flags
...
GTK-Doc does not like this.
2023-02-11 20:59:44 +02:00
Khaled Hosny
4d25941315
[doc] Fix hb_ot_name_[id|predefined]_t
...
Shuffle the docs around, so that the enum values appear in documentation
as they now belong to hb_ot_name_predefined_t. The Since field will be
misleading now, though.
2023-02-11 20:59:44 +02:00
Khaled Hosny
13741e68f8
[doc] Minor
2023-02-11 20:59:44 +02:00
Behdad Esfahbod
ab191d9dc7
[ot-font] Minor division rounding
2023-02-11 09:31:21 -07:00
Behdad Esfahbod
c6c1c6ddf1
Merge pull request #4107 from harfbuzz/cubic-glyf
...
[glyf] Support cubic curves
2023-02-11 09:20:51 -07:00
Behdad Esfahbod
6ddd490191
[path-builder] Comment re cubic
2023-02-10 14:24:03 -07:00
Behdad Esfahbod
91c2f098d0
[cubic-glyf] Add HB_NO_CUBIC_GLYF
2023-02-10 14:15:16 -07:00
Qunxin Liu
af1e605be2
[instancer] bug fix
...
It's possible that length of all_points equals to 4 for non-empty
glyphs: a composite glyph which contains only one child glyph that is
empty.
2023-02-10 12:51:27 -07:00
Behdad Esfahbod
8302da8630
Merge pull request #4097 from harfbuzz/embolden
...
Embolden
2023-02-10 12:50:45 -07:00
Pedro J. Estébanez
b1680e9143
Use proper preprocessor checks for UWP
2023-02-10 09:39:40 -07:00
Behdad Esfahbod
737b15c5a0
[embolden] Docs
2023-02-08 17:45:59 -07:00
Behdad Esfahbod
1d9dafbfd5
[glyf] Support cubic curves
...
https://github.com/harfbuzz/boring-expansion-spec/issues/41
2023-02-07 22:19:45 -07:00
Behdad Esfahbod
64fa5cd482
[GPOS] Fix assert fail introduced recently
...
Was introduced in 8708b9e081
.
If these lookups are recursed to from (Chain)Context out-of-order,
it was possible that last_base > buffer->idx, in which case we
were attaching marks to a base after them... and an assertion
was failing fortunately.
Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
2023-02-07 15:52:53 -07:00
Qunxin Liu
840e1b6b84
[instancer] bug fix
2023-02-07 15:49:12 -07:00