Commit Graph

9340 Commits

Author SHA1 Message Date
Garret Rieger 89fc399eba [subset] Add hb-subset section documentation. 2021-07-22 13:00:34 -07:00
Garret Rieger 792e2ed61c [subset] convert no get/set prune unicode ranges to enum. 2021-07-22 12:41:48 -07:00
Garret Rieger 1b6c1aa684 [subset] add hb-subset api to documentation generator.
Standardize subset_input parameter to be input.
2021-07-22 12:15:45 -07:00
Garret Rieger 8ce9683412 [subset] add documentation for all hb-subset.h methods. 2021-07-22 12:14:53 -07:00
Garret Rieger 9ab751ac9f [subset] Remove hb_subset(). Leaving just hb_subset_or_fail(). 2021-07-22 12:14:47 -07:00
Garret Rieger e5c887fc0f [subset] add documentation for subset input flag enums. 2021-07-22 12:14:09 -07:00
Garret Rieger 372722ceee [subset] move notdef_outline to the subset input property enum. 2021-07-22 12:14:03 -07:00
Garret Rieger a6c6cda486 [subset] Add no subset tables and passthrough unrecognized tables to the subset api.
Matches fontTools options.
2021-07-22 12:12:37 -07:00
Garret Rieger 668f2bd93e [subset] Add hb_subset_or_fail () to public subset api. 2021-07-22 12:12:36 -07:00
Garret Rieger aba2e13141 [subset] Remove hb_subset_input_get/set_overlaps_flag (). 2021-07-22 12:12:36 -07:00
Garret Rieger 7d82191f61 [subset] Remove hb_subset_input_get/set_name_legacy (). 2021-07-22 12:12:36 -07:00
Garret Rieger 942636ae13 [subset] Remove hb_subset_input_get/set_retain_gids. 2021-07-22 12:12:36 -07:00
Garret Rieger 77b4a1cd96 [subset] Remove hb_subset_input_get/set_desubroutinize. 2021-07-22 12:12:36 -07:00
Garret Rieger 8bf5d4d4f7 [subset] Remove hb_subset_input_get/set_drop_hints. 2021-07-22 12:12:36 -07:00
Garret Rieger 9fb3a25633 [subset] Use hb_set_copy in subset input. 2021-07-22 12:12:36 -07:00
Garret Rieger 38de3491a0 [subset] add implementation for get/set flag on subset input. 2021-07-22 12:12:36 -07:00
Garret Rieger 83727837ef [subset] add proposed enum property get/set method. 2021-07-22 12:12:36 -07:00
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 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
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 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
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
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
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
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
Khaled Hosny 14f220b761 [directwrite] Support feature ranges
Code copied from hb-uniscribe.cc and adapted to use DirectWrite types.
May be there is a better way to de-duplicate the code, though I'm not
exactly sure how or if it is worth it.
2021-06-20 17:22:27 -07:00
Garret Rieger 26c80adb61 [subset] do colrv1 glyph closure before glyf composite closure. 2021-06-18 22:34:00 -07:00