Behdad Esfahbod
bda42fc34a
Merge pull request #3842 from harfbuzz/patch_mode
...
[subset] Begin implementing a subset accelerator
2022-10-14 15:08:22 -06:00
Garret Rieger
f53ebf5584
[subset] Add hb_subset_preprocess to experimental symbol list for check-symbols.
2022-10-14 19:38:19 +00:00
Garret Rieger
fdb98ed88e
[subset] add missing HB_EXTERN.
2022-10-14 18:30:39 +00:00
Garret Rieger
515863e57c
[subset] Remove add accelerator flag, replace with new api method.
...
Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
2022-10-13 23:42:00 +00:00
Garret Rieger
573640c99f
[subset] Add hb-subset-accelerator.hh to Make soure list.
2022-10-13 23:21:35 +00:00
Behdad Esfahbod
a756bd1944
[glyf] Use component phantom points after transformation
2022-10-13 17:18:19 -06:00
Behdad Esfahbod
82d19c08fc
Revert "[glyf/Composite] Remove phantom points when not needed anymore"
...
This reverts commit 527e63a3bd
.
2022-10-13 17:17:03 -06:00
Behdad Esfahbod
527e63a3bd
[glyf/Composite] Remove phantom points when not needed anymore
2022-10-13 17:13:40 -06:00
Garret Rieger
3394ec7048
[subset] use subset accelerator in tests.
...
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00
Garret Rieger
f4903defc4
[subset] use the accelerator in the subsetting benchmark.
2022-10-13 21:38:54 +00:00
Garret Rieger
01481db582
[subset] use accelerator unicode to gid map if available.
2022-10-13 21:12:22 +00:00
Garret Rieger
4ec5eb955f
[subset] add a subset accelerator.
...
Can be optionally attached to the face during subsetting. Contains data which can accelerate future subsets.
2022-10-13 19:40:31 +00:00
Garret Rieger
f105c28749
[subset] Suggested flags to enable more performant subset production for use in incxfer.
2022-10-13 18:53:41 +00:00
Behdad Esfahbod
5769d422c5
[type] Add HBFixed template
2022-10-13 12:12:24 -06:00
Behdad Esfahbod
8c29dcaee4
s/HBFixed/F16DOT16/g
2022-10-13 12:06:15 -06:00
Behdad Esfahbod
294b1c9f6e
Use snprintf instead of sprintf
2022-10-13 11:30:02 -06:00
Garret Rieger
9559d3c1c1
[repacker] fix incorrect coverage table size estimation.
...
During splitting of PairPosFormat2 the code was assuming the maximum size of the generated coverage table would be equal too the current size. This is incorrect size the new coverage table may not preserve the ranges found in the original coverage table (since we are splitting based on class, not coverage) and in the worst case may convert from format2 to format1. So use the size of a format1 table as the max size.
2022-10-11 14:06:04 -06:00
Khaled Hosny
dcd8fe2c3b
Revert "[ci] Mark automatic releases as draft"
...
This reverts commit 9a28df411e
.
It creates a new draft release for each upload, which is not what we are
after.
2022-10-08 19:33:38 +02:00
Khaled Hosny
3ce4b8f5c9
5.3.0
2022-10-08 19:10:07 +02:00
Khaled Hosny
90eee512a0
[doc] Add symbols to harfbuzz-sections.txt
2022-10-08 19:02:28 +02:00
Khaled Hosny
9a28df411e
[ci] Mark automatic releases as draft
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2780
2022-10-08 18:22:13 +02:00
Garret Rieger
99f4668e19
[repacker] use mutable copies of Coverage/ClassDef in MarkBasePos shrink operation.
...
Also make mutable copies (when needed) of the top level subtables during a split operation.
2022-09-30 10:58:50 -06:00
Garret Rieger
8f1bf23cc9
[subset] optimize glyf subsetting w/ retain gids.
...
When retain gids is enabled the subset plan may require the output of many empty glyphs. This change optimizes the glyf subsetting code when the number of retained glyphs << number of output glyphs. Unnessecary lookups to the glyph map are reduced by iterating through the glyph map instead of the output glyph set.
2022-09-29 15:44:49 -06:00
Qunxin Liu
e94fe2adf3
[instance] minor optimizations to glyf instancing
2022-09-29 12:14:43 -06:00
Qunxin Liu
d5fc4a73c0
[instance] add tests for featureVariations
...
Also updated the script that is used to generate tests.With fonttools,
we now do instancing first and then subsetting.
With different order of subsetting and instancing operations on the same
VF file, fonttools seems to generate 2 different font files with different
glyph set.
1. do subsetting and then instancing: this seems result in a larger glyph
set in the font file. Lookups are collected from both retained features
and all possible alternate featurevariations, this leads to a larger
glyph set after glyph closurei. And instancer doesn't redo glyph
closure, it does lookups pruning only.
2. do instancing and then subsetting: lookups are collected from
features that are replaced already and possible alternate feature
variations
2022-09-29 12:14:43 -06:00
Qunxin Liu
b90ce34a25
[instance] fix for non-empty .notdef glyph metrics update
...
we need pass in source glyph's outline data to calculate boundaries, and
then drop the outline data if notdef-outline is specified.
Also disable shifting points for instancing in get_points () API
2022-09-29 12:14:43 -06:00
Qunxin Liu
b706c6f77e
[instance] update FeatureList with variations
2022-09-29 12:14:43 -06:00
Qunxin Liu
8f3a7017c3
[instance] support FeatureVariations table
2022-09-29 12:14:43 -06:00
Qunxin Liu
f4813e3b7f
[instance] update collect_lookups/prune_features()/closure_features() with variations
...
Some features will be substituted with variations, so we do not collect
lookups from the original feature tables.
2022-09-29 12:14:43 -06:00
Qunxin Liu
64e2f2fc58
[instance] store active featurevariation record/condition idxes in the plan
2022-09-29 12:14:43 -06:00
Qunxin Liu
0a6c16a313
[instance] instantiate fvar table
...
Added an old->new axes_indices mapping in the subset plan
2022-09-29 12:14:43 -06:00
Behdad Esfahbod
486fc2271a
[cplusplus] Add missing const
2022-09-28 15:11:45 -06:00
Qunxin Liu
c335bf469f
support dereferencing shared_ptrs and unique_ptrs
2022-09-27 15:44:29 -06:00
Garret Rieger
d5829b3ce2
[repacker] update the repacker doc to reflect the current state.
2022-09-23 15:02:41 -06:00
Garret Rieger
8cd7d1c3fe
[subset] Allow table ordering on the face builder to be overriden.
2022-09-22 16:52:14 -06:00
Behdad Esfahbod
b70032edda
[layout] Fix typo in docs
2022-09-22 15:59:16 -06:00
Khaled Hosny
d2966d3919
[ot-font] Try CBDT extents before outline tables
...
Like we do for sbix table.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3827
2022-09-22 15:50:27 -06:00
Behdad Esfahbod
1fdf046427
Merge pull request #3799 from harfbuzz/optical-bounds
...
Optical bounds
2022-09-22 12:03:17 -06:00
David Corbett
3ca5fbda76
[USE] Update the data files
...
This uses the data files from
<3254c94606/USE
>
and closes #3817 .
2022-09-21 16:28:02 -06:00
Behdad Esfahbod
b78d4b1e58
[color] Fix documentation re UPEM vs PPEM
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3826
2022-09-21 13:27:12 -06:00
Behdad Esfahbod
56c4670935
[subset] Fix compiler warning
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3823
2022-09-20 17:40:13 -06:00
Behdad Esfahbod
c02a1a4adc
[ot-font] Remove unused include
2022-09-20 17:40:13 -06:00
David Corbett
d7cc82ad48
Update the language system tag registry URL
2022-09-20 10:37:50 -06:00
Jonathan Kew
21b0e59414
[aat] Add test for rlig-to-aat feature mapping in Geeza Pro.
2022-09-20 10:37:27 -06:00
Jonathan Kew
f54d2b3e2c
[aat] Map 'rlig' to AAT required-ligatures setting.
...
Fixes #3819 .
2022-09-20 10:37:27 -06:00
Khaled Hosny
d827a5ee40
[subset] Skip glyph closure for any dropped table
...
If COLR or MATH tables are being dropped, there is no point in closing
glyphs over them, just like it is done for GSUB.
2022-09-19 13:49:42 -06:00
Khaled Hosny
4a1d891c63
5.2.0
2022-09-17 03:19:29 +02:00
Xavier Claessens
53a194aa3f
meson: Fix freetype and icu dependency lookup
...
It is wrong to search for a different name depending on the compiler. If
anything, cmake name could be available on systems that uses GCC too.
This also fix regression in the usage of freetype subproject fallback as
its name is "freetype2" and was previously used even when the
"freetype" option was set to "auto".
2022-09-08 09:43:41 -06:00
خالد حسني (Khaled Hosny)
7c0791d61a
Merge pull request #3810 from ankith26/main
...
[cmake] Generate pkg-config .pc files
2022-09-07 10:31:17 +02:00
Qunxin Liu
2b766e8ade
[subset] No need to collect_features twice
2022-09-06 13:41:51 -06:00