|
6c898572
|
2024-05-02T10:11:06
|
|
fix bots
|
|
247039de
|
2024-04-26T13:36:52
|
|
[instancer] partial instantiating support for COLRv1
Also add subset support for COLRv1 VarStore/DeltaSetIndexMap
|
|
625a9a96
|
2024-05-03T14:52:53
|
|
[instancer] use correct constant for No VARIATIONS index
|
|
c5a85a73
|
2024-05-03T09:44:14
|
|
[instancer] support BASE table
|
|
4d2380f5
|
2024-05-03T14:05:56
|
|
Merge pull request #4693 from harfbuzz/promote-vf-api
[instancer] Promote partial instancing API out of experimental.
|
|
e81c8c13
|
2024-05-03T18:06:14
|
|
Change tolerance from float to double.
|
|
36e82fd5
|
2024-05-03T17:33:37
|
|
Use sizeof(repeat_x_deltas[0]) instead of sizeof(int).
|
|
06172662
|
2024-05-02T22:05:03
|
|
Test using double's in IUP optimizatio code.
Trying to resolve delta differences on MINGW 32bit.
|
|
ba1f194a
|
2024-05-02T12:18:11
|
|
[gsubgpos] Reduce stack use in recursion
|
|
4cf606f6
|
2024-05-02T20:46:29
|
|
[instancer] Promote partial instancing api out of experimental.
|
|
c04d0a29
|
2024-04-25T14:57:36
|
|
[subset] generate colrv1 varsotre inner_maps in the plan
Also merge remap_variation_indices APIs used by GDEF and BASE into 1
|
|
690893e3
|
2023-10-02T09:09:53
|
|
[subset] collect variation indices for COLRv1
|
|
aeadd7c1
|
2024-04-23T19:50:19
|
|
[subset] Offsets in BaseLangSysRecord are relative to the parent table and not the BaseLangSysRecord.
https://learn.microsoft.com/en-us/typography/opentype/spec/base#baselangsysrecord-1
|
|
33cae9b4
|
2024-04-19T21:58:10
|
|
[repacker] If repacking fails for GSUB/GPOS try re-running with extension promotion and table splitting.
|
|
a69a6cb0
|
2024-04-16T17:08:06
|
|
Avoid a copy
|
|
2cfa5505
|
2024-03-27T23:21:57
|
|
[instancer] Switch to doubles for delta calculations.
FontTools uses double's internally so match FontTool's precision so we get the same results more often for floating point calculations.
|
|
c053e8f2
|
2024-04-11T08:58:49
|
|
[aat] Simplify (or not?) SubtableGlyphCoverage.sanitize()
|
|
d137d557
|
2024-04-11T08:53:17
|
|
[aat] Add (unused) SubtableGlyphCoverage
|
|
d8d2a98b
|
2024-04-11T07:45:41
|
|
[aat] Whitespace
|
|
c84acc8e
|
2024-04-08T23:46:14
|
|
[subset] Fix fuzzer found memory leak.
Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
|
|
f3727c47
|
2024-04-04T19:04:59
|
|
Recognize ot_languages2’s disambiguation priority
|
|
7de2d111
|
2024-04-01T01:54:09
|
|
Fix autotools test
|
|
2bd61247
|
2024-03-30T02:20:21
|
|
Fix Python warning
fix_get_types.py:14: SyntaxWarning: invalid escape sequence '\('
|
|
63973005
|
2024-03-29T16:26:17
|
|
8.4.0
|
|
69f9c29e
|
2024-03-29T00:19:16
|
|
[repacker] add tests of serializer repack_last().
|
|
992953fd
|
2024-03-28T23:12:21
|
|
[subset] updated comment.
|
|
96f0038e
|
2024-03-28T23:11:16
|
|
[subset] cast.
|
|
6e874817
|
2024-03-27T17:47:57
|
|
[subset] add virtual links to keep the gdef varstore last.
|
|
71456071
|
2024-03-25T21:41:16
|
|
[subset] place the gdef var store at the end of the GDEF table.
It appears that some font processors assume it is the last sub table.
|
|
975bd39b
|
2024-03-27T19:28:53
|
|
[subset] Match hb rounding to fonttools for avg char width.
Update Muli and Roboto input test fonts to recalc class values. FontTools recalcs class values during instancing while harfbuzz does not (like the ft subsetter).
|
|
ec46c4c2
|
2024-03-27T18:11:26
|
|
[subset] Update subset test suite to match some changes made to fonttools.
FontTools has added pruning functionality for code pages which we don't yet have in harfbuzz. Update our test runner to disable that for now. Also match fonttools and always recalc usFirst/LastCharIndex even if no prune unicode ranges is set.
|
|
cc67579c
|
2024-03-22T12:35:29
|
|
[wasm] Update to latest wasm-micro-runtime API
|
|
3d86b360
|
2024-03-22T10:37:39
|
|
[shape] Fix syntax error under some configs
Fixes https://github.com/harfbuzz/harfbuzz/issues/4635
|
|
98747fde
|
2024-03-21T08:51:02
|
|
hb-common.h: restore including stdint.h for VS2010/2012.
|
|
f1ac867d
|
2024-03-14T13:30:21
|
|
[buffer] Add API for random state
Fixes https://github.com/harfbuzz/harfbuzz/issues/4620
New API:
+hb_buffer_set_random_state()
+hb_buffer_get_random_state()
|
|
2b3631a8
|
2024-03-17T07:44:19
|
|
8.3.1
|
|
c2f8f35a
|
2024-03-15T18:45:24
|
|
Use inttypes.h PRI?32 macros in format strings for [u]int32_t args.
This is a modified and cleaned-up version of PR #4619 by @jpcomito:
hb-common.h now expects 'inttypes.h' presence with MSVC exceptions,
defines __STDC_FORMAT_MACROS in there (if not already defined) and
undoes c930ae2 (PR #1974) and 902ab86.
Co-authored-by: jcomito <jcomito@google.com>
|
|
cfbb6a68
|
2024-03-14T17:33:34
|
|
[subset] support BASE table subsetting (#4618)
* [subset] support BASE table
* [subset] add tests for BASE table subsetting
|
|
e1856587
|
2024-03-14T15:40:18
|
|
Merge pull request #4616 from googlefonts/repacker
[repacker] Rework how ClassDef sizes are estimated during splitting.
|
|
79eaa217
|
2024-03-14T21:22:22
|
|
[repacker] remove unused include.
|
|
595def8f
|
2024-03-14T12:34:39
|
|
Revert "Fixing compiler warnings"
This reverts commit 61a1ba2ff0fc1b1ed9db0b7c1dd0f59a4312e6e6.
|
|
61a1ba2f
|
2024-03-12T21:34:14
|
|
Fixing compiler warnings
All warning are for format specifiers (-WFormat) in sprintf().
|
|
025f5276
|
2024-03-09T00:32:36
|
|
[repacker] fix mem leak in test-classdef-graph test.
|
|
01fc4a16
|
2024-03-09T00:06:37
|
|
[repacker] Fix repacker test.
With class def size estimation changes this test is now able to pack closer to the limit.
|
|
8e1beefe
|
2024-03-08T22:05:20
|
|
[repacker] small fixes.
|
|
17b37f10
|
2024-03-08T22:01:05
|
|
[repacker] add classdef size est. test that you can add the same class multiple times.
|
|
0ac9e7da
|
2024-03-08T21:53:10
|
|
[repacker] in classdef estimator tests compare results to actual class def serialization.
Fix the estimator to actually match real serialization sizes.
|
|
0692d23c
|
2024-03-07T17:30:56
|
|
Update IANA Language Subtag Registry to 2024-03-07
|
|
8129b21d
|
2024-03-08T20:15:43
|
|
Update classdef size estimator to pick the min coverage format.
Previously this just assumed a worst case format 1.
|
|
252a926f
|
2024-03-08T19:46:48
|
|
[repacker] Rework how ClassDef sizes are estimated during splitting.
The old approach considered only one class at a time, which in some cases can generate the wrong answer. This change updates the estimation to consider how all classes in the current split would end up encoded in a single ClassDef table. Additionally compute whether glyphs are consecutive only for the current split (instead of the fully mapping).
|
|
d6431dc7
|
2024-03-06T15:20:10
|
|
[instancer] support *=drop, which would pin all axis to default location
|
|
06749fa4
|
2024-03-04T11:25:44
|
|
[icu] Use uscript_getCode()
|
|
6864769c
|
2024-02-25T13:46:05
|
|
[meson] Block uses of hb-static throughout Microsoft compilers
PE-COFF cannot export extern, non-dllexport symbols.
|
|
225a7a8a
|
2024-02-24T15:12:42
|
|
[aat] Mark DELETED_GLYPH as IGNORABLE
Fixes https://github.com/harfbuzz/harfbuzz/issues/4598
|
|
5d1ff191
|
2024-02-16T22:07:36
|
|
Fix return type
https://github.com/harfbuzz/harfbuzz/commit/1bddeb974ff0c08332c8225f6f5b5bd45bcddfdc#r138731107
|
|
fb6d4d27
|
2024-02-17T15:23:29
|
|
Remove unnecessary std::move().
This fixes a warning from clang-tidy:
warning: std::move of the variable 'mapping' of the trivially-copyable
type 'AxisValueMap' has no effect [performance-move-const-arg]
|
|
3cfdbd67
|
2024-02-16T23:41:55
|
|
Use `noexcept` on swap, move constructors, etc.
|
|
1bddeb97
|
2024-02-16T23:20:54
|
|
Use literal bools when possible rather than ints.
|
|
b8178f25
|
2024-02-12T21:48:28
|
|
Disable Wcast-function-type on clang-cl, too
|
|
1ab8822b
|
2024-02-09T17:24:49
|
|
Fixed some errors in STAT table implementation
|
|
031fdb1c
|
2024-02-06T14:51:41
|
|
Rename VarStoreInstancer to ItemVarStoreInstancer
|
|
1cb47eff
|
2024-02-06T14:49:31
|
|
Rename VariationStore to ItemVariationStore
|
|
4c77bd92
|
2024-02-06T17:51:49
|
|
Update hb-serialize.hh (#4576)
* Update hb-serialize.hh
This version does compile with g++ 4.8.3 which is the newest available version on Aix5.3
* Update hb-serialize.hh
Back to the original version, just without `this->`
|
|
a9b88917
|
2024-02-02T18:24:24
|
|
Merge pull request #4563 from googlefonts/instancer_iup_delta_opt
[Instancer] add code for iup delta optimization
|
|
97309483
|
2024-02-02T16:59:19
|
|
[instancer] rename HB_SUBSET_FLAGS_IUP_DELTA_OPT to HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS
|
|
f072de93
|
2024-01-30T10:31:14
|
|
[instancer] move iup code to a seprate file
|
|
846d5204
|
2024-01-27T16:34:29
|
|
[ft] Remove unnecessary cast
|
|
9182315b
|
2024-01-27T16:33:46
|
|
[hb.hh] Add error -Wcast-function-type-strict
|
|
97c85ab2
|
2024-01-26T16:36:56
|
|
[instancer] iup delta optimize: fix is_composite_glyph value in gvar
|
|
4d5fb233
|
2024-01-26T16:00:58
|
|
fix build
|
|
0cbc8123
|
2024-01-26T11:26:10
|
|
[instancer] add iup_optimize() call into instantiation
|
|
aed309d1
|
2024-01-26T13:11:26
|
|
[autotools] Installing missing hb-features.h header
This is already installed by CMake and Meson.
|
|
52c3cda3
|
2024-01-26T10:55:57
|
|
[instancer] add composite_new_gids set in subset plan
This is only used by iup delta optimization where we need to know
whether glyph is composite or not
|
|
a3e3473c
|
2024-01-26T10:34:58
|
|
[instancer] when iup delta opt is enabled, add default deltas to coords
|
|
f1cdcc70
|
2024-01-26T10:12:38
|
|
[instancer] add iup delta optimization functions tuple_delta_t
ported from fonttools
|
|
8ad540bb
|
2024-01-26T09:58:48
|
|
[instancer] move compile_point_set to be a member of tuple_delta_t
Also change hb_bytes_t to vector for memory safety
|
|
c7a6030b
|
2024-01-26T09:27:27
|
|
[instancer] add a flag HB_SUBSET_FLAGS_IUP_DELTA_OPT
|
|
032c931e
|
2024-01-13T15:57:03
|
|
use `calloc(nmemb, size)`, not `calloc(size, nmemb)`
This minor mismatch is detected by new `-Wcalloc-transposed-args`
`gcc-14` warning as:
In file included from ../src/hb-subset-plan.cc:38:
../src/hb-ot-cff1-table.hh: In member function 'bool OT::cff1::accelerator_t::get_glyph_from_name(const char*, int, hb_codepoint_t*) const':
../src/hb-ot-cff1-table.hh:1419:60: warning: 'void* calloc(size_t, size_t)' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
1419 | names = (hb_sorted_vector_t<gname_t> *) hb_calloc (sizeof (hb_sorted_vector_t<gname_t>), 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
ef1f5c4e
|
2024-01-08T22:17:55
|
|
[subset] Re-use common Coverage subsetting function in PairPosFormat2.
Was using an identical but less efficient version. Fixes fuzzer test case: https://oss-fuzz.com/testcase-detail/6151390002806784
|
|
e0e2b29e
|
2024-01-08T12:30:23
|
|
[cmap] Implement MacRoman encoding
For other Mac encodings just map the ASCII range.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4540
|
|
ef289a9e
|
2024-01-08T09:11:01
|
|
[COLR] Reduce COLRv1 max edge count
64k sounds excessive.
Fixes https://oss-fuzz.com/testcase-detail/5383336738291712
|
|
155015f4
|
2024-01-08T21:44:27
|
|
refactor(math-kern): call hb_bsearch_impl instead of raw binary search
|
|
2f41d54b
|
2024-01-07T13:43:50
|
|
Fix old-compiler warning
|
|
1cc7ddb3
|
2024-01-07T18:55:40
|
|
hb-subset-plan.cc: Fix -Wparentheses warning.
In file included from hb-subset-plan.hh:30:0,
from hb-subset-plan.cc:27:
hb-subset-plan.cc: In function 'void _update_instance_metrics_map_from_cff2(hb_subset_plan_t*)':
hb-subset-plan.cc:998:81: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (unlikely (!plan->check_success (font = _get_hb_font_with_variations (plan))))
^
hb.hh:263:25: note: in definition of macro 'unlikely'
#define unlikely(expr) (expr)
^
Fixes: https://github.com/harfbuzz/harfbuzz/issues/4545
|
|
c17d6746
|
2024-01-07T22:10:10
|
|
[ot-math] Fix a bug in MathKern::get_value()
Fixes https://github.com/harfbuzz/harfbuzz/issues/4542
|
|
e9d72717
|
2024-01-04T09:36:14
|
|
[cmap] Remove more unused code
|
|
f8d924e5
|
2024-01-04T09:35:15
|
|
[cmap] Remove unused code
|
|
81c22121
|
2024-01-01T13:52:33
|
|
[test-instancer-solver] Fix on msys32 hopefully
|
|
bb5c7ccb
|
2023-12-19T20:55:46
|
|
Also enforce IFTB requirements during instantiation of gvar.
|
|
d80e0974
|
2023-12-15T22:49:46
|
|
[repacker] Increase repacker max rounds to 32.
Found an example font that needs the higher limit.
|
|
5b325c0a
|
2023-12-13T15:27:47
|
|
[cff] Fix late sanitize
Last summer I changed sanitizer->check_struct() to only check
the trailing point of the struct on 64bit machines. This works
mostly because offsets are always positive.
Not anymore. Recently we introduced negative offsets in CFF,
and this was causing sanitize() for such structs pass while
the struct's leading edge was out of range.
Fix that.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=64859
|
|
df735213
|
2023-12-06T09:50:29
|
|
[instancer-solver] port solver fix (#4519)
* [instancer-solver] port solver fix
from https://github.com/fonttools/fonttools/pull/3374
|
|
bf84135e
|
2023-12-05T11:58:21
|
|
[cff] Support negative offsets
Fixes https://github.com/harfbuzz/harfbuzz/issues/4508
|
|
7160c5b9
|
2023-12-05T20:58:00
|
|
[repacker] add tests for multi-duplication.
Further improve the resolution attempt by pre-emptively raising priority of a duplicated shared node.
|
|
6f64fa75
|
2023-12-05T19:45:16
|
|
[repacker] improve resolution of overflows to shared nodes.
Prior to this change overflows to shared nodes were handled by duplicating the link from only a single parent on each iteration. However, I've encountered fonts where there is a large number of parents sharing a single child. Using the prior strategy requires large number of overflow resolution iterations to resolve overflows. This changes shared overflow resolution to duplicate the shared child and re-assign multiple overflowing parents in a single iteration. This reduces total packing size in these cases and allows resolution to complete in far fewer iterations.
|
|
0d9f4979
|
2023-12-04T21:25:02
|
|
Adjust function hb_blob_create_from_file_or_fail
On Windows the filename will be interpreted as UTF-8.
If the filename is NOT valid UTF-8, it will be interpreted according to the system codepage.
|
|
1d86b844
|
2023-11-30T16:05:51
|
|
CMake: Build libharfbuzz-cairo and fix hb-view build
There is now a separate library that we build if Cairo support is enabled,
which will also be used to build hb-view, so we:
* Add support in the CMake build files to build libharfbuzz-cairo, if enabled
via HB_HAVE_CAIRO. Move the Cairo detection bits around as a result.
* Generate pkg-config file for libharfbuzz-cairo, and add 'cairo' to
Requires.private.
* Fix building hb-view, which will now depend on libharfbuzz-cairo, so Cairo
support must be explicitly enabled.
* Stop depending automatically on Cairo if HB_BUILD_UTILS is enabled unless
Cairo support is enabled as a result.
|
|
df635ab7
|
2023-11-15T14:55:11
|
|
Merge pull request #4473 from googlefonts/help
[instancer] add the option to leave blanks in the min:def:max syntax.
|
|
66a404ca
|
2023-11-15T21:41:30
|
|
[subset] Fix hb_subset_input_get_axis_range documentation.
|
|
15a3889e
|
2023-11-15T21:13:59
|
|
Add hb_subset_input_get_axis_range to experimental symbols list.
|