src


Log

Author Commit Date CI Message
Qunxin Liu 6c898572 2024-05-02T10:11:06 fix bots
Qunxin Liu 247039de 2024-04-26T13:36:52 [instancer] partial instantiating support for COLRv1 Also add subset support for COLRv1 VarStore/DeltaSetIndexMap
Qunxin Liu 625a9a96 2024-05-03T14:52:53 [instancer] use correct constant for No VARIATIONS index
Qunxin Liu c5a85a73 2024-05-03T09:44:14 [instancer] support BASE table
Behdad Esfahbod 4d2380f5 2024-05-03T14:05:56 Merge pull request #4693 from harfbuzz/promote-vf-api [instancer] Promote partial instancing API out of experimental.
Garret Rieger e81c8c13 2024-05-03T18:06:14 Change tolerance from float to double.
Garret Rieger 36e82fd5 2024-05-03T17:33:37 Use sizeof(repeat_x_deltas[0]) instead of sizeof(int).
Garret Rieger 06172662 2024-05-02T22:05:03 Test using double's in IUP optimizatio code. Trying to resolve delta differences on MINGW 32bit.
Behdad Esfahbod ba1f194a 2024-05-02T12:18:11 [gsubgpos] Reduce stack use in recursion
Garret Rieger 4cf606f6 2024-05-02T20:46:29 [instancer] Promote partial instancing api out of experimental.
Qunxin Liu 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
Qunxin Liu 690893e3 2023-10-02T09:09:53 [subset] collect variation indices for COLRv1
Garret Rieger 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
Garret Rieger 33cae9b4 2024-04-19T21:58:10 [repacker] If repacking fails for GSUB/GPOS try re-running with extension promotion and table splitting.
Behdad Esfahbod a69a6cb0 2024-04-16T17:08:06 Avoid a copy
Garret Rieger 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.
Behdad Esfahbod c053e8f2 2024-04-11T08:58:49 [aat] Simplify (or not?) SubtableGlyphCoverage.sanitize()
Behdad Esfahbod d137d557 2024-04-11T08:53:17 [aat] Add (unused) SubtableGlyphCoverage
Behdad Esfahbod d8d2a98b 2024-04-11T07:45:41 [aat] Whitespace
Garret Rieger c84acc8e 2024-04-08T23:46:14 [subset] Fix fuzzer found memory leak. Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
David Corbett f3727c47 2024-04-04T19:04:59 Recognize ot_languages2’s disambiguation priority
Behdad Esfahbod 7de2d111 2024-04-01T01:54:09 Fix autotools test
Khaled Hosny 2bd61247 2024-03-30T02:20:21 Fix Python warning fix_get_types.py:14: SyntaxWarning: invalid escape sequence '\('
Khaled Hosny 63973005 2024-03-29T16:26:17 8.4.0
Garret Rieger 69f9c29e 2024-03-29T00:19:16 [repacker] add tests of serializer repack_last().
Garret Rieger 992953fd 2024-03-28T23:12:21 [subset] updated comment.
Garret Rieger 96f0038e 2024-03-28T23:11:16 [subset] cast.
Garret Rieger 6e874817 2024-03-27T17:47:57 [subset] add virtual links to keep the gdef varstore last.
Garret Rieger 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.
Garret Rieger 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).
Garret Rieger 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.
Behdad Esfahbod cc67579c 2024-03-22T12:35:29 [wasm] Update to latest wasm-micro-runtime API
Behdad Esfahbod 3d86b360 2024-03-22T10:37:39 [shape] Fix syntax error under some configs Fixes https://github.com/harfbuzz/harfbuzz/issues/4635
Ozkan Sezer 98747fde 2024-03-21T08:51:02 hb-common.h: restore including stdint.h for VS2010/2012.
Behdad Esfahbod 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()
Khaled Hosny 2b3631a8 2024-03-17T07:44:19 8.3.1
Ozkan Sezer 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>
Qunxin Liu cfbb6a68 2024-03-14T17:33:34 [subset] support BASE table subsetting (#4618) * [subset] support BASE table * [subset] add tests for BASE table subsetting
Behdad Esfahbod e1856587 2024-03-14T15:40:18 Merge pull request #4616 from googlefonts/repacker [repacker] Rework how ClassDef sizes are estimated during splitting.
Garret Rieger 79eaa217 2024-03-14T21:22:22 [repacker] remove unused include.
Behdad Esfahbod 595def8f 2024-03-14T12:34:39 Revert "Fixing compiler warnings" This reverts commit 61a1ba2ff0fc1b1ed9db0b7c1dd0f59a4312e6e6.
jcomito 61a1ba2f 2024-03-12T21:34:14 Fixing compiler warnings All warning are for format specifiers (-WFormat) in sprintf().
Garret Rieger 025f5276 2024-03-09T00:32:36 [repacker] fix mem leak in test-classdef-graph test.
Garret Rieger 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.
Garret Rieger 8e1beefe 2024-03-08T22:05:20 [repacker] small fixes.
Garret Rieger 17b37f10 2024-03-08T22:01:05 [repacker] add classdef size est. test that you can add the same class multiple times.
Garret Rieger 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.
David Corbett 0692d23c 2024-03-07T17:30:56 Update IANA Language Subtag Registry to 2024-03-07
Garret Rieger 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.
Garret Rieger 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).
Qunxin Liu d6431dc7 2024-03-06T15:20:10 [instancer] support *=drop, which would pin all axis to default location
Behdad Esfahbod 06749fa4 2024-03-04T11:25:44 [icu] Use uscript_getCode()
L. E. Segovia 6864769c 2024-02-25T13:46:05 [meson] Block uses of hb-static throughout Microsoft compilers PE-COFF cannot export extern, non-dllexport symbols.
Behdad Esfahbod 225a7a8a 2024-02-24T15:12:42 [aat] Mark DELETED_GLYPH as IGNORABLE Fixes https://github.com/harfbuzz/harfbuzz/issues/4598
Behdad Esfahbod 5d1ff191 2024-02-16T22:07:36 Fix return type https://github.com/harfbuzz/harfbuzz/commit/1bddeb974ff0c08332c8225f6f5b5bd45bcddfdc#r138731107
Bruce Mitchener 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]
Bruce Mitchener 3cfdbd67 2024-02-16T23:41:55 Use `noexcept` on swap, move constructors, etc.
Bruce Mitchener 1bddeb97 2024-02-16T23:20:54 Use literal bools when possible rather than ints.
Magnus Larsen b8178f25 2024-02-12T21:48:28 Disable Wcast-function-type on clang-cl, too
Christer Sandberg 1ab8822b 2024-02-09T17:24:49 Fixed some errors in STAT table implementation
Behdad Esfahbod 031fdb1c 2024-02-06T14:51:41 Rename VarStoreInstancer to ItemVarStoreInstancer
Behdad Esfahbod 1cb47eff 2024-02-06T14:49:31 Rename VariationStore to ItemVariationStore
Lőrinczy, Zsigmond 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->`
Behdad Esfahbod a9b88917 2024-02-02T18:24:24 Merge pull request #4563 from googlefonts/instancer_iup_delta_opt [Instancer] add code for iup delta optimization
Qunxin Liu 97309483 2024-02-02T16:59:19 [instancer] rename HB_SUBSET_FLAGS_IUP_DELTA_OPT to HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS
Qunxin Liu f072de93 2024-01-30T10:31:14 [instancer] move iup code to a seprate file
Behdad Esfahbod 846d5204 2024-01-27T16:34:29 [ft] Remove unnecessary cast
Behdad Esfahbod 9182315b 2024-01-27T16:33:46 [hb.hh] Add error -Wcast-function-type-strict
Qunxin Liu 97c85ab2 2024-01-26T16:36:56 [instancer] iup delta optimize: fix is_composite_glyph value in gvar
Qunxin Liu 4d5fb233 2024-01-26T16:00:58 fix build
Qunxin Liu 0cbc8123 2024-01-26T11:26:10 [instancer] add iup_optimize() call into instantiation
Patrick Griffis aed309d1 2024-01-26T13:11:26 [autotools] Installing missing hb-features.h header This is already installed by CMake and Meson.
Qunxin Liu 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
Qunxin Liu a3e3473c 2024-01-26T10:34:58 [instancer] when iup delta opt is enabled, add default deltas to coords
Qunxin Liu f1cdcc70 2024-01-26T10:12:38 [instancer] add iup delta optimization functions tuple_delta_t ported from fonttools
Qunxin Liu 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
Qunxin Liu c7a6030b 2024-01-26T09:27:27 [instancer] add a flag HB_SUBSET_FLAGS_IUP_DELTA_OPT
Sergei Trofimovich 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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Garret Rieger 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
Behdad Esfahbod 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
Behdad Esfahbod ef289a9e 2024-01-08T09:11:01 [COLR] Reduce COLRv1 max edge count 64k sounds excessive. Fixes https://oss-fuzz.com/testcase-detail/5383336738291712
Lie Yan 155015f4 2024-01-08T21:44:27 refactor(math-kern): call hb_bsearch_impl instead of raw binary search
Behdad Esfahbod 2f41d54b 2024-01-07T13:43:50 Fix old-compiler warning
Ozkan Sezer 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
Lie Yan c17d6746 2024-01-07T22:10:10 [ot-math] Fix a bug in MathKern::get_value() Fixes https://github.com/harfbuzz/harfbuzz/issues/4542
Behdad Esfahbod e9d72717 2024-01-04T09:36:14 [cmap] Remove more unused code
Behdad Esfahbod f8d924e5 2024-01-04T09:35:15 [cmap] Remove unused code
Behdad Esfahbod 81c22121 2024-01-01T13:52:33 [test-instancer-solver] Fix on msys32 hopefully
Garret Rieger bb5c7ccb 2023-12-19T20:55:46 Also enforce IFTB requirements during instantiation of gvar.
Garret Rieger d80e0974 2023-12-15T22:49:46 [repacker] Increase repacker max rounds to 32. Found an example font that needs the higher limit.
Behdad Esfahbod 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
Qunxin Liu 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
Behdad Esfahbod bf84135e 2023-12-05T11:58:21 [cff] Support negative offsets Fixes https://github.com/harfbuzz/harfbuzz/issues/4508
Garret Rieger 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.
Garret Rieger 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.
utelle 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.
Chun-wei Fan 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.
Behdad Esfahbod 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.
Garret Rieger 66a404ca 2023-11-15T21:41:30 [subset] Fix hb_subset_input_get_axis_range documentation.
Garret Rieger 15a3889e 2023-11-15T21:13:59 Add hb_subset_input_get_axis_range to experimental symbols list.