src


Log

Author Commit Date CI Message
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.
Qunxin Liu f1ac36ba 2023-11-15T11:38:41 [instancer] update hhea vertical metrics with OS/2 ones
Garret Rieger d30c1dac 2023-11-15T20:16:07 Add test suite for instancing option parsing.
Garret Rieger 43236ce3 2023-11-01T22:34:39 [instancer] add the option to leave blanks in the min:def:max syntax. When parsing axis positions in the --variations flag recognize empty values as meaning the existing value for that part. For example: :300:500 Specifies min = existing, def = 300, max = 500. See: https://github.com/fonttools/fonttools/issues/3322
Behdad Esfahbod 6a3ca373 2023-11-13T16:36:32 [map] Optimize storage Such that population isn't a bitfield as we access it often.
Khaled Hosny 894a1f72 2023-11-11T15:57:54 8.3.0
Behdad Esfahbod 2b5af6f4 2023-11-10T15:23:27 [subset-plan] Micro-optimize set iteration Getting ranges is faster even with the current trivial implementation.
Behdad Esfahbod 90fc809f 2023-11-10T15:05:08 [set] Minor likely and __prev__
Behdad Esfahbod 6d3b7931 2023-11-10T14:51:34 [subset-plan] Add a couple of allocs
Behdad Esfahbod d46cd93b 2023-11-10T14:36:37 [map] Speed up copy-constructor
Behdad Esfahbod e7879d6c 2023-11-10T14:13:20 [map] Micro-optimize destruction
Behdad Esfahbod d9357a1a 2023-11-10T14:08:03 [cmap] Speed up Format12/13 collect_mapping
Behdad Esfahbod ae6ea6f4 2023-11-10T13:52:34 [cmap] Micro-optimize
Behdad Esfahbod 330c32f9 2023-11-10T12:27:48 [graph] Another preallocation
Behdad Esfahbod 9c4d3c3c 2023-11-10T12:24:26 [graph] Pre-alloc priority-heap array
Behdad Esfahbod 29f8d9f7 2023-11-09T09:29:02 [gen-use-table] Fix __doc__
Boris Dalstein 32ee89dd 2023-11-10T13:48:24 [cmake] Fix double dots in CMake library location on macOS
Qunxin Liu 2d001a0a 2023-11-08T11:11:51 [subset] OTS doesn't allow ligature attachment offset to be 0
Garret Rieger 9701b002 2023-11-06T22:14:31 [subset] Always place CFF1/2 char strings at the end of the packed table. Makes the behaviour from HB_SUBSET_FLAGS_IFTB_REQUIREMENTS the default.
Garret Rieger c6884377 2023-11-06T20:21:46 [subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag. When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2. This change is a version of https://github.com/skef/harfbuzz/commit/3ae2fe2084d96f61d8ad1bbe42a6ef4e62ec830a rebased onto head w/ tests added.
Qunxin Liu c2f42fbb 2023-11-06T11:49:11 fix meson compiled_tests