|
8ceed6ee
|
2023-10-18T15:43:40
|
|
[subset] fix Lookup.MarkFilteringSet to use the new indices
|
|
510456e9
|
2023-10-18T14:26:11
|
|
[subset] don't retain empty coverage in MarkGlyphSetsDef
|
|
16ee24c0
|
2023-10-18T12:43:36
|
|
[subset] bug fix for GDEF
don't use embed(this), snapshot and revert to lower version if needed
|
|
8585d600
|
2023-10-17T14:30:17
|
|
[instancer] update variable device flags in ValueFormat
|
|
1a5dd610
|
2023-10-16T09:47:16
|
|
[instancer] retain empty rows when region is empty and item_count is not
|
|
45a7f9ce
|
2023-10-18T08:28:23
|
|
Change the shebang used for python
The shebang `/usr/bin/python3` assumes python3 is installed in /usr/bin,
which isn't always true (e.g., in the manylinux docker image). Using
`/usr/bin/env python3` uses the python3 that is in the path, which is
more flexible.
|
|
18a6e785
|
2023-10-18T01:10:44
|
|
8.2.2
|
|
52bc78e7
|
2023-10-10T21:44:52
|
|
s/PairPos/MarkBasePos/ in MarkBasePos repacking implementation.
|
|
6190bb0b
|
2023-10-16T14:08:31
|
|
[layout] Change order of feature collection
See comments for rationale.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4445
|
|
1f395cba
|
2023-10-12T10:06:00
|
|
[instancer] templatize the priority queue, use custom type for varstore
when instantiating varstore, we need to pop a tuple like
(combined_gain, i, j), if combined gain is the same then we compare the
value of i, and then j. So we'd like to use custom type as the key when
popping from the queue. This would match fonttool's algorithm cause it
uses heappop().
|
|
a7b3fe35
|
2023-10-05T12:16:00
|
|
Fix test
|
|
fc563bb4
|
2023-10-05T11:07:17
|
|
Merge pull request #4421 from googlefonts/GDEF_GPOS
[instancer] support GDEF/GPOS tables
|
|
f360d704
|
2023-09-29T13:15:01
|
|
Check for closing quote in parse_tag
Fixes #4414.
|
|
333946b0
|
2023-09-28T19:02:37
|
|
[subset] Fix fuzzer timeout.
Fixes https://oss-fuzz.com/testcase-detail/5458896606855168. Limit iteration over coverage in MarkLigPosFormat1 subsetting to the number of glyphs in the liga array.
|
|
9ceb800a
|
2023-09-28T10:37:48
|
|
fuzzer fix https://oss-fuzz.com/testcase-detail/5842152921628672
Access TupleVariationData through blob, because we don't sanitize
var_data
|
|
7cb7a799
|
2023-09-28T09:24:06
|
|
[map] Fix undefined integer-overflow
Fixes https://oss-fuzz.com/testcase-detail/5814850435284992
|
|
f9b04b21
|
2023-09-27T09:36:52
|
|
[instancer] match fonttools'r order when calculating chars
Also fix a bug, make sure map set is happening before std::move
|
|
f39e9bf1
|
2023-09-25T08:59:11
|
|
[instancer] instantiate GPOS
Just need to update var_idxes and deltas
|
|
5c6795e2
|
2023-09-21T12:04:03
|
|
[instancer] make GPOS depend on GDEF when partial instancing
GPOS needs to wait for GDEF remapping layout var idxes
|
|
c8594baa
|
2023-09-21T11:45:01
|
|
[instancer] instantiate GDEF varStore
And update layout var idxes accordingly
|
|
77f24d82
|
2023-09-22T14:47:11
|
|
[instancer] remap layout var_idxes code update
make hb_collect_variation_indices_context_t only collect layout
variation indices.
|
|
c8c97864
|
2023-09-21T11:29:43
|
|
[instancer] simplify item_variations_t API calls
merge create,instantiate and as_item_varstore into one API
|
|
69da5aae
|
2023-09-22T21:27:12
|
|
Added minor fixes to build without errors with gcc 4.9.2
|
|
b8121ccb
|
2023-09-21T15:41:09
|
|
[meson] keep asserts in test programs
|
|
5aa4865a
|
2023-09-20T14:52:58
|
|
[instancer] fix compile warnings
In constructor ‘OT::delta_row_encoding_t::delta_row_encoding_t(OT::delta_row_encoding_t&&)’,
inlined from ‘Type* hb_vector_t<Type, sorted>::push(Args&& ...) [with Args = {OT::delta_row_encoding_t}; Type = OT::delta_row_encoding_t; bool sorted = false]’ at ../src/hb-vector.hh:221:12,
inlined from ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’ at ../src/hb-ot-var-common.hh:1985:24:
../src/hb-ot-layout-common.hh:2304:8: warning: ‘obj.OT::delta_row_encoding_t::width’ may be used uninitialized [-Wmaybe-uninitialized]
2304 | struct delta_row_encoding_t
| ^~~~~~~~~~~~~~~~~~~~
../src/hb-ot-var-common.hh: In member function ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’:
../src/hb-ot-var-common.hh:1981:30: note: ‘obj.OT::delta_row_encoding_t::width’ was declared here
1981 | delta_row_encoding_t obj;
| ^~~
In constructor ‘OT::delta_row_encoding_t::delta_row_encoding_t(OT::delta_row_encoding_t&&)’,
inlined from ‘Type* hb_vector_t<Type, sorted>::push(Args&& ...) [with Args = {OT::delta_row_encoding_t}; Type = OT::delta_row_encoding_t; bool sorted = false]’ at ../src/hb-vector.hh:221:12,
inlined from ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’ at ../src/hb-ot-var-common.hh:1985:24:
../src/hb-ot-layout-common.hh:2304:8: warning: ‘obj.OT::delta_row_encoding_t::overhead’ may be used uninitialized [-Wmaybe-uninitialized]
2304 | struct delta_row_encoding_t
| ^~~~~~~~~~~~~~~~~~~~
../src/hb-ot-var-common.hh: In member function ‘bool OT::item_variations_t::as_item_varstore(bool, bool)’:
../src/hb-ot-var-common.hh:1981:30: note: ‘obj.OT::delta_row_encoding_t::overhead’ was declared here
1981 | delta_row_encoding_t obj;
|
|
4b3aa010
|
2023-09-20T14:37:42
|
|
Merge pull request #4410 from googlefonts/HVAR_instance
[instancer] instantiate HVAR/VVAR
|
|
da2c59d7
|
2023-09-19T17:01:04
|
|
[instancer] Delete redundant code block in cvar subsetting
That case is handled in hb-subset.cc.
It also made compilation with HB_NO_VAR fail because it accessed table.fvar.
|
|
284889b0
|
2023-09-20T20:17:48
|
|
[subset] Drop fvar, avar, cvar, MVAR tables when in HB_NO_VAR mode
|
|
ef4ff1d6
|
2023-09-20T11:35:33
|
|
[instancer] make varstore items sorting method match fonttool's
Also update expected tests
|
|
b5f7ca1a
|
2023-09-20T11:28:15
|
|
[instancer] fix bots
|
|
5ec21d4a
|
2023-09-20T09:31:03
|
|
[instancer] fix delta_row_encoding_t constructor
always move chars_
|
|
58e5d45d
|
2023-09-19T10:33:32
|
|
[instancer] instantiate HVAR/VVAR
|
|
e81ad14d
|
2023-09-19T13:23:58
|
|
[instancer] change optimize() to as_item_varstore()
which allows another option to skip optimization
|
|
97d0e7a1
|
2023-09-19T11:25:14
|
|
[instancer] add inner_maps as optional argument when creating item_variations_t
This allows that we create item_variations_t with only a subset of
the original varstore
|
|
005582e0
|
2023-09-20T09:10:10
|
|
Merge pull request #4370 from 2xsaiko/outgoing/cmake-now-for-real
Re-do and clean up CMake support, making it use relocatable paths
|
|
da9b8389
|
2023-08-08T14:33:03
|
|
Re-do and clean up CMake support, making it use relocatable paths
Closes #4025.
|
|
b5a1c2b4
|
2023-08-07T01:55:10
|
|
Revert "Pass through absolute paths to cmake config directly"
This reverts commit db292f6f0238581a489aa8cddc585129b6e920cd.
|
|
c330c291
|
2023-09-18T12:14:21
|
|
[instancer] add a unit testcase for instantiating item variations
|
|
23268792
|
2023-08-31T15:28:06
|
|
[instancer] add serialize() for VarRegionList
The region list argument comes from item_variations_t.get_region_list()
|
|
b153af85
|
2023-08-31T13:12:08
|
|
[instancer] add optimize(), which optimizes varstore's storage
|
|
3565ad81
|
2023-08-31T13:07:54
|
|
[instancer] add build_region_list() method
|
|
7741fa32
|
2023-09-18T10:44:47
|
|
[instancer] bug fix: dont add duplicate rows into delta_row_encoding_t
Also fix compile_varidx_map()
|
|
6c658b41
|
2023-09-15T11:49:47
|
|
[instancer] bug fix
|
|
11cc4796
|
2023-09-11T09:57:14
|
|
[instancer] fix columns and get_chars_overhead() in delta_row_encoding_t
make columns a vector of uint8_t so it supports more than 32 columns
|
|
6e49128a
|
2023-09-01T10:27:40
|
|
[instancer] always check and update default wght/width/slnt if necessary
Sometimes default values in original file are incorrect, and if default value for an axis is not changed, then these values won't be updated
|
|
45c2d05d
|
2023-08-31T15:45:22
|
|
[instancer] add subset() for MVAR
|
|
e4e1ac44
|
2023-08-31T15:34:26
|
|
[instancer] add serialize() for VariationStore
Input region_list and encoding_rows are from item_variations_t
|
|
e4db29b1
|
2023-08-31T12:59:39
|
|
[instancer] add instantiate() method
Also make change_tuple_variations_axis_limits() deterministic, use
sorted vector instead of iterating map keys
|
|
5f058a93
|
2023-08-31T12:55:04
|
|
[instancer] add create_from_item_varstore () method
|
|
15244888
|
2023-08-31T12:40:30
|
|
[instancer] add struct definition item_variations_t
And struct delta_row_encoding_t
|
|
0967a3e2
|
2023-09-18T21:18:27
|
|
8.2.1
|
|
c6d53ab5
|
2023-09-16T10:21:11
|
|
[Unicode 15.1] Update the vowel constraint table
|
|
f318e104
|
2023-09-16T10:20:14
|
|
[Unicode 15.1] Update the Indic table
|
|
c03e4c10
|
2023-09-16T10:06:24
|
|
[Unicode 15.1] Update emoji table and cluster test
|
|
d8d4a192
|
2023-09-16T10:00:07
|
|
Update IANA Language Subtag Registry to 2023-08-02
|
|
6ed6ccac
|
2023-09-16T09:54:21
|
|
[Unicode 15.1] Update the USE table
|
|
f485b6a9
|
2023-09-16T09:49:29
|
|
[Unicode 15.1] Update the Arabic joining script list
|
|
f15fe524
|
2023-09-16T09:45:51
|
|
[Unicode 15.1] Update the Arabic table
|
|
b3705cbf
|
2023-09-16T09:40:56
|
|
[Unicode 15.1] Update the UCD table
|
|
767f9378
|
2023-09-15T23:11:26
|
|
[USE] Update the data files
This uses the data files from
<https://github.com/microsoft/font-tools/tree/9e02b86c85d1a98a1d411e565d36723468f9e884/USE>
and closes #4404.
|
|
02c2e247
|
2023-09-16T09:22:43
|
|
Regenerate files using Ragel 6.10
|
|
978918c3
|
2023-09-11T11:04:08
|
|
[aat] Simplify complex condition
Based on https://github.com/RazrFalcon/rustybuzz/discussions/79#discussioncomment-6960324
|
|
17ee3cd7
|
2023-09-10T07:29:08
|
|
fix warning with unsigned long
|
|
c1eb66d4
|
2023-09-08T21:54:32
|
|
8.2.0
|
|
15bc9e34
|
2023-08-31T23:37:08
|
|
[meson] Detect Microsoft compilers through _MSC_FULL_VER
Microsoft ships three compilers nowadays: MSVC, clang-cl, and Clang.
The latter is always skipped by `compiler.get_argument_syntax()`,
which leads to the incorrect export macro being applied.
This commit also removes the tests that are affected in Microsoft Clang.
|
|
fd3eb2c6
|
2023-08-24T08:59:18
|
|
fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336
|
|
0340ba1c
|
2023-09-05T14:56:09
|
|
[bit-page] Add a few operators
|
|
4cfc6d8e
|
2023-08-31T13:54:34
|
|
Specify tuple_variations_t special member functions
Building with clang complains about the use of `tuple_variations_t`'s
implicit copy constructor and copy assignment operator, since automatic
generation of these is deprecated when declaring a non-default
destructor. This is a good warning because it isn't obvious that copies
were being made instead of the object being moved and this struct should
be moved and not copied. Declare all the special member functions,
defaulting the moves and deleting the copies.
After making `tuple_variations_t` move only, an issue is revealed in
`hb_vector_t::push` which has been requiring that objects be copyable.
Remove the old non-emplacing `push` now that this works with all
existing objects and make a single `push` which is more like
`std::vector::emplace_back` since that is somewhat what the newer `push`
is attempting to do.
|
|
8d22a570
|
2023-08-28T18:33:31
|
|
[repacker] fix potential use after free in repacker.
During table splitting we iterate over the lookups map which can be modified during table splitting. This can result in a use after free in the iterator. Create a local copy of the lookup indices to avoid this.
|
|
a1f034ea
|
2023-08-28T21:10:16
|
|
[repacker] fix fuzzer failure.
Fixes: https://oss-fuzz.com/testcase-detail/6490945267564544
|
|
f380a328
|
2023-08-25T14:01:01
|
|
Fix some typos.
|
|
c28fdc39
|
2023-08-23T22:16:39
|
|
[repacker] fix bot failure.
|
|
d7ee328f
|
2023-08-23T22:06:55
|
|
[repacker] include the size of all lookup tables in the layer size estimates from the start.
In extension promotion previously we incrementally added the contribution of the lookup table to the layer size estimates as the lookups were processed. However, this isn't quite correct as regardless of the promotion decision the full lookup table size will be incurred. So the size should be added to the initial sizes.
|
|
5587247d
|
2023-08-23T21:54:15
|
|
[repacker] create only one extension subtable per physical subtable.
During extension promotion when multiple lookups refer to a shared subtable node create and reuse a single extension subtable for it. Fixes: https://github.com/fonttools/fonttools/issues/3260.
|
|
56e8a290
|
2023-08-22T15:49:00
|
|
Fix static_size declaration
I have a vague memory that it was intentionally written
that way, but I can't recall :-(.
|
|
2023384b
|
2023-08-22T13:09:26
|
|
Merge pull request #4368 from googlefonts/support_gvar
Initial implementation for gvar partial instancing
|
|
dd8d3576
|
2023-08-22T12:54:50
|
|
[instancer] enable partial instancing tests when experimental api is on
|
|
ca906e87
|
2023-08-16T23:37:03
|
|
[repacker] fix fuzzer timeout.
Corrects some mistakes in the handling of incoming_edges_ when memory allocation failures happen.
|
|
bea26446
|
2023-08-15T14:20:54
|
|
[instancer] reference all points for gvar
If a point is not referenced and delta is not inferred, set delta to 0
|
|
06ff3bcb
|
2023-08-15T14:41:18
|
|
[COLR,glyf] Use map instead of set for tracking current glyphs / layers
|
|
b530e485
|
2023-08-15T14:31:40
|
|
[glyf] Don't recuse into alread-active composite glyphs
Deny loops.
|
|
8f039ab4
|
2023-08-15T11:27:19
|
|
[COLR] Avoid infinite-loop through PaintColrLayers
Fixes https://github.com/harfbuzz/harfbuzz/issues/4376
Fixes https://oss-fuzz.com/testcase-detail/5717524023738368
|
|
0c80aec1
|
2023-08-15T10:30:38
|
|
[COLR] Move cycle-detection to the renderer instead of cairo
Alternative fix for https://github.com/harfbuzz/harfbuzz/issues/4375
|
|
21a894f0
|
2023-08-15T10:21:26
|
|
[cairo] Protect against infinite loops
Fixes https://github.com/harfbuzz/harfbuzz/issues/4375
Maybe we should do this in hb-ft and COLR instead?
|
|
5560eb60
|
2023-08-14T17:05:22
|
|
[paint] Fix docs
|
|
47231bdc
|
2023-08-14T16:52:44
|
|
[COLR/cairo/ft] Fixups to paint-color-glyph and implement for hb-ft
|
|
58effbcc
|
2023-08-14T16:47:01
|
|
.
|
|
74527670
|
2023-08-14T15:57:24
|
|
[COLR/cairo] Add paint_color_glyph func
Implement in cairo to use scaled-font's glyph cache.
|
|
8d19274c
|
2023-08-14T14:40:26
|
|
[layout] Speed up VarStoreInstancer
|
|
e8eb1dc5
|
2023-08-09T15:35:59
|
|
[parse_tag] Accept non-ALNUM in tag name
|
|
077c4308
|
2023-08-09T10:41:04
|
|
[limits] Increase COLRv1 edge-count
We have a "pixel" color font that was easily hitting the limit...
|
|
45c1ad05
|
2023-08-09T10:27:45
|
|
[paint] Add tracing
|
|
483bc0a3
|
2023-08-08T15:58:20
|
|
[arabic/stch] Center the stretched group over the digits
Mostly relevant when there's one digit only.
https://github.com/harfbuzz/harfbuzz/issues/4369#issuecomment-1670361856
|
|
313c7729
|
2023-08-08T13:06:12
|
|
[arabic/stch] Also work in left-to-right direction
Fixes https://github.com/harfbuzz/harfbuzz/issues/4369
|
|
40bfabd1
|
2023-08-08T12:17:25
|
|
[arabic/stch] Zero advances
This was working for our test suite because those glyphs were
declared mark and their advances zeroed automatically. But is
not the case in eg. the font posted at:
https://github.com/harfbuzz/harfbuzz/issues/4369
|
|
32cfa37e
|
2023-05-08T13:30:39
|
|
[instancer] command line support for partial instancing
-Also updated hb_subset_input_set_axis_range (), so user can define
default value as well
|
|
0065658e
|
2023-08-07T11:12:02
|
|
[instancer] enable cvar instancing code
|
|
366ffd1e
|
2023-08-07T10:32:47
|
|
[instancer] fix move constructor for tuple_delta_t
|
|
1d91622d
|
2023-07-18T09:52:40
|
|
[instancer] add a hashing impl for floating point type
|
|
5a4694b6
|
2023-08-07T09:55:30
|
|
[instancer] add calc_inferred_deltas() for gvar
|