Khaled Hosny
9a28df411e
[ci] Mark automatic releases as draft
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2780
2 years ago
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.
2 years ago
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.
2 years ago
Qunxin Liu
e94fe2adf3
[instance] minor optimizations to glyf instancing
2 years ago
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
2 years ago
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
2 years ago
Qunxin Liu
b706c6f77e
[instance] update FeatureList with variations
2 years ago
Qunxin Liu
8f3a7017c3
[instance] support FeatureVariations table
2 years ago
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.
2 years ago
Qunxin Liu
64e2f2fc58
[instance] store active featurevariation record/condition idxes in the plan
2 years ago
Qunxin Liu
0a6c16a313
[instance] instantiate fvar table
...
Added an old->new axes_indices mapping in the subset plan
2 years ago
Behdad Esfahbod
486fc2271a
[cplusplus] Add missing const
2 years ago
Qunxin Liu
c335bf469f
support dereferencing shared_ptrs and unique_ptrs
2 years ago
Garret Rieger
d5829b3ce2
[repacker] update the repacker doc to reflect the current state.
2 years ago
Garret Rieger
8cd7d1c3fe
[subset] Allow table ordering on the face builder to be overriden.
2 years ago
Behdad Esfahbod
b70032edda
[layout] Fix typo in docs
2 years ago
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
2 years ago
Behdad Esfahbod
1fdf046427
Merge pull request #3799 from harfbuzz/optical-bounds
...
Optical bounds
2 years ago
David Corbett
3ca5fbda76
[USE] Update the data files
...
This uses the data files from
<3254c94606/USE
>
and closes #3817 .
2 years ago
Behdad Esfahbod
b78d4b1e58
[color] Fix documentation re UPEM vs PPEM
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3826
2 years ago
Behdad Esfahbod
56c4670935
[subset] Fix compiler warning
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3823
2 years ago
Behdad Esfahbod
c02a1a4adc
[ot-font] Remove unused include
2 years ago
David Corbett
d7cc82ad48
Update the language system tag registry URL
2 years ago
Jonathan Kew
21b0e59414
[aat] Add test for rlig-to-aat feature mapping in Geeza Pro.
2 years ago
Jonathan Kew
f54d2b3e2c
[aat] Map 'rlig' to AAT required-ligatures setting.
...
Fixes #3819 .
2 years ago
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.
2 years ago
Khaled Hosny
4a1d891c63
5.2.0
2 years ago
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".
2 years ago
خالد حسني (Khaled Hosny)
7c0791d61a
Merge pull request #3810 from ankith26/main
...
[cmake] Generate pkg-config .pc files
2 years ago
Qunxin Liu
2b766e8ade
[subset] No need to collect_features twice
2 years ago
David Corbett
09b9a1ffdd
[USE] Allow ZWNJ at the end of a cluster
2 years ago
Qunxin Liu
a3e6dbbb43
[subset] skip the script if it's not included in the final subset
2 years ago
Ankith
a120b01ab3
[cmake] Generate pkg-config .pc files
2 years ago
Wez Furlong
e3548c2069
hb-view: Detect WezTerm and use iterm2 image protocol
...
Similar to the logic that detects iterm2, but look for
TERM_PROGRAM=WezTerm which identifies wezterm is present.
This allows hb-view to output an image directly to the terminal.
2 years ago
Behdad Esfahbod
752060a49c
[layout] Document hb_ot_layout_lookup_get_optical_bound()
2 years ago
Behdad Esfahbod
71c6cba097
[layout] Rename API:
...
-hb_ot_layout_get_optical_bound()
+hb_ot_layout_lookup_get_optical_bound()
2 years ago
Behdad Esfahbod
3892128a1f
[layout] Add HB_NO_LAYOUT_RARELY_USED
2 years ago
Behdad Esfahbod
8e88653f05
[layout] Move code around
2 years ago
Behdad Esfahbod
4bf9621113
[optical-bounds] Optimize
2 years ago
Behdad Esfahbod
5d6f1a88e4
[layout] Add hb_ot_layout_get_optical_bound()
2 years ago
Behdad Esfahbod
238e7dd2b6
Fix build
2 years ago
Qunxin Liu
470944901f
[instance] add benchmarks for instancing
2 years ago
Behdad Esfahbod
14eb3d37ad
[layout] Improve annotations
2 years ago
Behdad Esfahbod
fd107bddb0
Merge pull request #3795 from googlefonts/instance_GDEF_GPOS
...
[instancing] update GDEF/GPOS tables and a few fixes for glyf instancing
2 years ago
Qunxin Liu
f8ddb9998b
[instance] Fix os/2 table width to widthclass mapping
2 years ago
Qunxin Liu
88c02e0024
[instance] add tests for full instancing
...
Also update previous tests with GDEF/GPOS tables
2 years ago
Qunxin Liu
8f84c58a34
[instance] don't copy phantom points from component
...
No need to consider USE_MY_METRICS for instancing
2 years ago
Qunxin Liu
58dbc00162
[instance] Fix compiling Composite glyph bytes
...
The x/y offset encoded with int8 originally might overflow after deltas
are applied. So we cannot just copy and update old values.
2 years ago
Qunxin Liu
8b7e2a1373
[instance] we need to update hmtx/vmtx values even for empty glyphs
...
Update metrics using the 4 phantom points
2 years ago
Qunxin Liu
7d7b492344
[instance] move _normalize_axes_location to the beginning of
...
subset_plan_create
pinned_at_default flag decides whether delta will be collected as well
when collecting layout variation indices
2 years ago