Garret Rieger
b38e49dcfa
[subset] add get/set user data methods to subset input.
2021-07-22 12:12:30 -07:00
Garret Rieger
edb57a8d9a
Make subset input const in the subsetting operation. Don't modify the subset input's sets.
2021-07-22 12:11:43 -07:00
Behdad Esfahbod
233c29b302
[font] Call fvar.find_axis_index instead of find_axis_info in set_variations()
2021-07-22 12:00:24 -07:00
Behdad Esfahbod
89018068cd
[fvar] Centralize axis finding logic
...
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/1673
2021-07-22 11:59:23 -07:00
Behdad Esfahbod
0b2280af90
[font] Call fvar table directly, instead of calling public get_axis_info
...
To lighten it up in next commit.
2021-07-22 11:58:14 -07:00
Behdad Esfahbod
b86a45ca55
[fvar] Add TODO
...
Fixing https://github.com/harfbuzz/harfbuzz/issues/1673
2021-07-22 11:46:44 -07:00
Behdad Esfahbod
ba6db26b65
Tolerate unsorted OT table entries for small number of entries
...
See comment.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3065
2021-07-22 11:38:27 -07:00
Behdad Esfahbod
03cd9c5cba
Align lfind() API to match bfind()
2021-07-22 11:38:27 -07:00
Behdad Esfahbod
f54f5c1b16
Fix debug printer of bool
2021-07-22 11:38:27 -07:00
Garret Rieger
6269866bdd
[subset] Keep bimap consistent if only one of the internal maps is in error.
2021-07-19 13:42:00 -06:00
Garret Rieger
48edbef96f
[subset] bail if region_map is in error.
...
Fixes fuzzer case https://oss-fuzz.com/testcase-detail/5499162606043136 .
2021-07-19 13:42:00 -06:00
Behdad Esfahbod
79e8b30609
[ot-shape] Fix application of kern table if GPOS kern is missing
...
Was broken sometime after we implemented kerx and tweaking it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3043
2021-07-16 16:29:44 -06:00
Behdad Esfahbod
1060b04938
Merge pull request #3060 from googlefonts/unicode_collect
...
[subset] de-duplicate the logic that finds unicodes corresponding to …
2021-07-14 17:50:46 -07:00
Garret Rieger
9aa0ecef3f
[subset] de-duplicate the logic that finds unicodes corresponding to requested glyphs.
...
Move the logic into subset planning and then re-use the results in cmap and OS2 subsetting. Removes depedency on cmap from os2.
2021-07-14 17:31:47 -07:00
Garret Rieger
deee24fbef
[subset] Add missing FontName op code in top dict parsing.
...
Fix for #3058
2021-07-14 16:01:18 -06:00
Behdad Esfahbod
9985ca6491
Merge pull request #3057 from harfbuzz/ci-coverage-macos
...
[ci] Add macOS GitHub workflow
2021-07-13 13:42:09 -07:00
Khaled Hosny
2c7ef0db0b
[ci] Generate only XML coverage data
...
That is the one we are uploading, and HTML coverage seems broken on
macOS.
2021-07-13 13:23:53 +02:00
Behdad Esfahbod
f51384d375
Merge pull request #3027 from harfbuzz/buffer-sync
...
Improving buffer synchronization
2021-07-12 16:51:43 -07:00
Behdad Esfahbod
95b04f7409
[buffer] Remove unnecessary have_separate_output()
2021-07-12 17:36:38 -06:00
Behdad Esfahbod
3e266e5f64
[buffer] Update comments
2021-07-12 17:36:36 -06:00
Behdad Esfahbod
3807061d63
[ot-layout] Don't remove_output() before reverse substitution
...
No need anymore, because of new swap_buffers() semantics.
Just assert instead.
2021-07-12 17:36:22 -06:00
Behdad Esfahbod
10a9960f0a
[buffer] Restructure swap_buffers()
...
Is more of a "commit" operation now. Will rename when ready.
2021-07-12 17:36:22 -06:00
Khaled Hosny
f6c9fcfd3e
[ci] Add macOS GitHub workflow
...
To collect codecov coverage on macOS as well (hopefully it will run the
macOS-specific tests).
2021-07-13 01:12:43 +02:00
Khaled Hosny
d56afb750a
[tests] Ignore more symbols
...
These seem to be exported when building with code coverage on macOS.
2021-07-13 01:12:34 +02:00
Behdad Esfahbod
a7f4c985a8
[ot-layout] Always swap_buffers() even if no substitutions happened
2021-07-12 17:00:46 -06:00
Behdad Esfahbod
62b441e6ff
[layout] Use Proxy::inplace instead of table index check
...
Equivalent.
2021-07-12 16:59:34 -06:00
Behdad Esfahbod
431f164003
[layout] Don't call clear_output() before pause-func
2021-07-12 16:57:25 -06:00
Behdad Esfahbod
a623446a34
[shape] Remove stray clear_output() call in hb_shape()
2021-07-12 16:55:54 -06:00
Behdad Esfahbod
05c17787c4
[buffer] Rewind cursor in clear_output()
2021-07-12 16:55:08 -06:00
Behdad Esfahbod
1cb0ca1f2c
Whitespace
2021-07-12 16:52:51 -06:00
Khaled Hosny
5f5a8b4dd7
[ci] Use the latest stable XCode image
2021-07-12 14:05:40 -07:00
Khaled Hosny
13187d29ef
[ci] Drop macOS job using deprecated XCode image
2021-07-12 14:05:40 -07:00
Behdad Esfahbod
69310f14a6
[buffer] Change nil buffer have_output to false
...
Seems like a historical artefact that it was true.
2021-07-09 16:45:55 -07:00
Behdad Esfahbod
40884af17e
[ot-layout] Narrow down random feature logic vs safe-to-break
2021-07-09 16:34:08 -07:00
Behdad Esfahbod
33b579d0ad
[ot-layout] Clear random flag for subsequent flags
...
Ouch!
2021-07-09 16:34:08 -07:00
Behdad Esfahbod
29c9833e57
Remove Offset::serialize()
...
Finishing https://github.com/harfbuzz/harfbuzz/pull/2355
2021-07-09 11:58:36 -06:00
Khaled Hosny
63e15eac4f
2.8.2
2021-07-08 23:02:49 +02:00
Caleb Maclennan
eee36bbea3
[releasing] Format notes as Markdown checklist for pasting in GH PR/Issue
2021-07-08 11:32:24 -07:00
Caleb Maclennan
eda5dcdb3e
[releasing] Drop obsolete release process items
2021-07-08 11:32:24 -07: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
Behdad Esfahbod
bb48bf52a4
Rename misc uses of "free"
...
In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
2021-07-08 10:54:09 -07:00
Qunxin Liu
7416faceeb
[subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/5715464591376384
2021-07-08 09:09:30 -07:00
Khaled Hosny
895acdf7c7
[ci] Don’t build Cairo subproject with FontConfig on win32 cross-build
...
We don’t need it and it breaks the build because FontConfig renamed its
master branch and the released version of Cairo wants to build
FontConfig from master branch.
2021-07-06 14:13:37 +02:00
Garret Rieger
0da9158f62
[subset] Remove OffsetTo::serialize().
...
Convert remaining uses of it to serialize_serialize() which correctly uses the object packer.
2021-06-30 14:05:48 -07:00
Behdad Esfahbod
0969614865
[ot-shape] Rewrite loop without foreach_grapheme()
...
We were not using the graphemes, and that's costlier than just for().
2021-06-26 08:52:53 -06:00
Qunxin Liu
eee7b459ee
[subset] add option --no-prune-unicode-ranges
2021-06-24 11:44:20 -07:00
Khaled Hosny
c3be28ea26
[ot-shape] Numeric runs native direction is LTR
...
See inline comments. Slightly modified version of the code from Jonathan
Kew on the linked issue.
Fixes https://github.com/harfbuzz/harfbuzz/issues/501
2021-06-23 13:11:27 -07:00
Khaled Hosny
71a6296620
[tests] Make record-test.sh work with .otf files
...
It hard-codes the file extension, but fonttools sunset will use .otf for
CFF fonts, so hard-code the output file from subset as well.
2021-06-23 13:11:27 -07:00
Behdad Esfahbod
cc9bb29491
[blob] Fix-up recent mistake in hb_blob_create() destroy(user_data)
...
https://github.com/harfbuzz/harfbuzz/pull/3026#discussion_r653437491
2021-06-20 18:47:03 -06:00
Garret Rieger
bc06af977f
[subset] speed up feature collection when tags are specified.
...
Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
2021-06-20 17:45:19 -07:00