src


Log

Author Commit Date CI Message
Behdad Esfahbod e40c0d82 2020-09-16T12:48:30 [ENOMEM] Handle immutable buffer in shape_full() Move the content_type changing to shape_plan_execute() where it belongs. Skip setting if content type is UNKNOWN, which happens with empty buffers only, including the immutable buffer. Alternate fix to https://github.com/harfbuzz/harfbuzz/pull/2606 and https://github.com/harfbuzz/harfbuzz/pull/2625
Garret Rieger bbbcad0d 2020-09-16T11:19:40 Revert "[ENOMEM] don't perform set process operations if the other set is in an error state." This reverts commit f3929abafe3b64f15d0dc2d21ad7b493eeb92dfe.
Garret Rieger f3929aba 2020-09-15T13:06:36 [ENOMEM] don't perform set process operations if the other set is in an error state. Running a process while the other set is in an error state can potentially corrupt this sets map map (for example by overwritting all of the major values with 0).
Simon Cozens 584d3a43 2020-09-16T15:08:50 Merge pull request #2681 from khaledhosny/myanmar-liga [myanmar] Don’t disable liga feature
Khaled Hosny 7d64b097 2020-09-12T21:17:18 [myanmar] Don’t disable liga feature This seems to have been carried over from the Indic shaper, but Uniscribe enables it by default. See https://github.com/harfbuzz/harfbuzz/issues/2213#issuecomment-686062915
Garret Rieger 8c3d4de7 2020-09-09T12:38:34 [subset] Fix integer underflow in ContextFormat2.
David Corbett ac3f859a 2020-09-09T11:49:56 Demote unregistered vendor-specific language tags
Khaled Hosny ee12c078 2020-09-08T15:37:30 Merge pull request #2668 from rossburton/meson meson: add hb-version.h to dependencies correctly
Khaled Hosny 695d85ca 2020-09-08T15:37:00 Merge pull request #2674 from rossburton/reprod src/hb-gobject-enums.cc.tmpl: write out only the filename, not the full path
David Corbett 91fe20f0 2020-09-04T09:18:19 Disambiguate OT tags when primary tag is not first
Alexander Kanavin e876886d 2020-08-18T10:31:47 src/hb-gobject-enums.cc.tmpl: write out only the filename, not the full path This is beneficial for reproducible builds, as build paths can vary between builds.
Ross Burton 5aff8310 2020-09-07T10:55:33 [build] generate hb-version.h once at configure time with Meson Currently with Meson hb-version.h is generated during the build without any explicit dependencies which can result in build failures due races over the file. Change this to be generated at configure time, so that the file is always generated once before the build itself. Closes #2667
Ross Burton bc1c93fb 2020-09-07T17:11:17 [build] No need to pass source directory to gen-hb-version The input file is by definition in the source directory, so dirname() that instead of needing the directory to be passed. Needed because a follow-up commit will change when this is called, and the source directory isn't trivially available at that point.
David Corbett faf09f54 2020-08-14T18:30:20 [USE] Support hieroglyph clusters
David Corbett 06f49fc8 2020-08-13T13:37:45 [USE] Update to the 2020-08-13 USE specification This also uses the data files from <https://github.com/microsoft/font-tools/tree/78b2134fdca84df41a931d30d5c48fec115eca41/USE>.
David Corbett 6a38adeb 2019-05-03T14:16:50 [use] Skip most default ignorables when clustering
David Corbett 645f4e7c 2019-05-03T18:28:18 Unhide CGJ before ccc=0 characters If a CGJ precedes a starter, then it cannot have blocked any reordering, so it can safely be skipped.
Garret Rieger 9825e3dd 2020-08-26T17:31:50 [ENOMEM] fix access to unitialized memory. If the serialize() call fails to write the object then we can't safely read varstore_prime fields. Fixes https://oss-fuzz.com/testcase-detail/5137462782066688.
Khaled Hosny fe6381d9 2020-09-01T03:44:01 [build] Minor
ebraminio a4f3a752 2020-09-01T03:21:12 [build] hb-directwrite needs a C++ linker
Khaled Hosny 9c98b2b9 2020-08-29T00:39:42 2.7.2
David Corbett a495a542 2020-08-28T14:33:25 Ignore T & U when determining the joining scripts
David Corbett 420a74f7 2020-08-28T14:11:48 [USE] Fix assertion failure for joining scripts
ebraminio 1e48225c 2020-08-13T23:22:14 [ENOMEM] Check whether serialize context isn't in error
Ebrahim Byagowi 05ef75c5 2020-08-13T20:52:03 2.7.1
Ebrahim Byagowi 253a8f7a 2020-08-13T09:23:29 [meson] Another approach to skip tests incompatible with MSVC
Ebrahim Byagowi 411b426c 2020-08-13T01:23:46 [meson] minor
Ebrahim Byagowi 6e32145d 2020-08-13T00:13:06 [meson] Make compatbile with 0.47.0
Ebrahim Byagowi 58209c86 2020-08-12T23:04:26 [meson] Make compatbile with 0.49.0 Contains a just put together summary feature polyfill and workaround to broken ternary operator.
Garret Rieger 1e4fe10b 2020-08-12T13:06:37 [ENOMEM] check for error in visited map during closure features.
Garret Rieger 9562239f 2020-08-12T13:01:22 [ENOMEM] check for error in lookup visited set.
Tom Schoonjans eea9b59f 2020-08-12T06:40:23 [meson] fix generating introspection Only libharfbuzz_gobject is introspectable, not libharfbuzz. Therefore, it makes no sense to target the latter for introspection: it should instead be listed as a dependency.
David Corbett 7bffb5d7 2020-08-11T19:24:46 Generate `has_arabic_joining`
Garret Rieger 6f754852 2020-08-11T15:40:47 [ENOMEM] skip asserts in to_bias if serializer is in an error state.
Ebrahim Byagowi ef2e3803 2020-08-12T00:50:33 Revert "Remove cmake-config support of HarfBuzz" This reverts commit 75efa893433b6f352c28bda9d0a92683244900aa.
Ebrahim Byagowi 0ca35570 2020-08-09T16:10:06 Turn -Wunused-but-set-variable to warning As #2555 turned out some glib headers are imposing that so let's turn it to warning
Ebrahim Byagowi 51933578 2020-08-11T23:51:59 Revert "Remove autotools build support" This reverts commit 01ac32aab2109681abc58bb2f96a4ef4a7f0c6df.
Ebrahim Byagowi 9748ae72 2020-08-11T17:52:48 Revert "Reordering fails when GDEF table is absent #2140" This reverts commit f4cd99f28eefe695b86876736166fd119e22e04e. As requested in https://github.com/harfbuzz/harfbuzz/issues/2516#issuecomment-670969185
ebraminio d03eecb4 2020-08-11T16:40:40 [glyf] minor style improvement
ebraminio 732a9164 2020-08-11T16:37:55 [gvar] minor
ebraminio 0c156189 2020-08-10T08:52:01 [glyf] minor
Ebrahim Byagowi f06d7331 2020-08-10T08:35:06 [glyf] minor
Ebrahim Byagowi db96c7f6 2020-08-10T08:23:21 [glyf] protect CompositeGlyph fields Introduce methods instead
ebraminio e5fe363a 2020-08-10T07:39:36 [glyf] Minor, don't pass accelerator_t to points_aggregator_t No need to pass it to aggregator itself
ebraminio 2b9927f7 2020-08-10T06:26:21 [glyf] minor No need to pass glyph_for_gid as a lambda now that we are passing the accelerator itself
Behdad Esfahbod fce64a40 2020-08-08T14:04:54 Minor
Ebrahim Byagowi ffe06c8f 2020-08-08T13:17:34 [glyf] Guard all the public APIs against null pool runs Fixes https://crbug.com/oss-fuzz/24575 and https://crbug.com/oss-fuzz/24737
Ebrahim Byagowi 01ac32aa 2020-08-02T11:35:55 Remove autotools build support
Ebrahim Byagowi 1f519c25 2020-08-07T01:21:19 [glyf] Optimize retrieval of hmtx/vmtx/gvar This should make glyf/gvar faster as makes it to invoke less table wrapper atomic operations and things. $ meson build -Dexperimental_api=true --buildtype=release && ninja -Cbuild && build/perf/perf "--benchmark_filter=glyf.*- ot -" Before: extents/glyf - ot - SourceSerifVariable 46091 ns 46036 ns 16173 extents/glyf/vf - ot - SourceSerifVariable 4160142 ns 4154913 ns 174 extents/glyf - ot - Comfortaa 25754 ns 25726 ns 27030 extents/glyf/vf - ot - Comfortaa 2627804 ns 2624596 ns 265 extents/glyf - ot - Roboto 33556 ns 33540 ns 18513 draw/glyf - ot - SourceSerifVariable 2716848 ns 2715438 ns 256 draw/glyf/vf - ot - SourceSerifVariable 4602379 ns 4598907 ns 151 draw/glyf - ot - Comfortaa 1659364 ns 1658142 ns 417 draw/glyf/vf - ot - Comfortaa 2845100 ns 2842549 ns 246 draw/glyf - ot - Roboto 1571509 ns 1570060 ns 442 After: extents/glyf - ot - SourceSerifVariable 34738 ns 34713 ns 21332 extents/glyf/vf - ot - SourceSerifVariable 3700510 ns 3698104 ns 187 extents/glyf - ot - Comfortaa 21604 ns 21595 ns 31907 extents/glyf/vf - ot - Comfortaa 2324787 ns 2323440 ns 296 extents/glyf - ot - Roboto 31259 ns 31246 ns 21814 draw/glyf - ot - SourceSerifVariable 2689230 ns 2687589 ns 260 draw/glyf/vf - ot - SourceSerifVariable 4625135 ns 4622036 ns 131 draw/glyf - ot - Comfortaa 1690336 ns 1689454 ns 402 draw/glyf/vf - ot - Comfortaa 2898748 ns 2897074 ns 241 draw/glyf - ot - Roboto 1570911 ns 1570138 ns 440
Ebrahim Byagowi 0907c102 2020-08-07T00:15:32 [gvar] minor
Ebrahim Byagowi 679fac87 2020-07-30T15:29:43 Skip hb_shape if buffer object is immutable
Ebrahim Byagowi 55c41f21 2020-08-06T23:37:43 [glyf] Clamp advance value result Fixes a sanitizer complain https://circleci.com/gh/harfbuzz/harfbuzz/150247 revealed by 02d1ec1
Ebrahim Byagowi 02d1ec16 2020-08-06T22:18:35 [gvar] Don't fail on imprefect gvar No need to fail even if gvar doesn't have that much glyphs
Ebrahim Byagowi ec17b624 2020-08-06T20:16:11 [var] Apply variations on empty glyphs It was ignoring empty glyphs for no good reason, this fixes it. Fixes #2618
Ebrahim Byagowi 5cab55ca 2020-08-06T18:54:58 [gvar] minor
Ebrahim Byagowi 75efa893 2020-07-30T01:17:42 Remove cmake-config support of HarfBuzz Reverts d38f37b2 as discussed in #2316
Ebrahim Byagowi 11bb8aa8 2020-08-02T00:47:21 [meson] limit check-libstdc++ check to 0.55 library(..., link_language: 'c') is introduced in 0.55 but we were relying on this anyway assuming b_asneeded being true on meson. #2614
Ebrahim Byagowi 9d3fbe05 2020-07-30T14:54:00 [meson] Add darwin versions to library() We now have, $ otool -L src/libharfbuzz.dylib src/libharfbuzz.dylib: @rpath/libharfbuzz.0.dylib (compatibility version 0.0.0, current version 0.0.0) And with the change should we get $ otool -L src/libharfbuzz.dylib src/libharfbuzz.dylib: @rpath/libharfbuzz.0.dylib (compatibility version 20700.0.0, current version 20700.0.0)
Garret Rieger 18ab8029 2020-07-31T14:40:49 [ENOMEM] check vector status in cmap subsetting.
Garret Rieger 06dbb6ac 2020-07-31T15:56:14 [ENOMEM] in GSUB ChainContext subsetting check maps for allocation errors.
Garret Rieger fb147779 2020-07-31T14:00:38 [ENOMEM] Check result of vector resize in CBDT subsetting.
Ebrahim Byagowi efd716de 2020-07-31T08:58:53 [cff] Check for scalars array resize result Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24504
Garret Rieger 040ed094 2020-07-30T15:14:02 [ENOMEM] popragate packed/packed_map errors to the serializer. Will disable further modifications based on a bad state.
Garret Rieger 7f358a55 2020-07-30T13:57:30 [ENOMEM] unchecked resize in CFF2.
Garret Rieger 32f052b0 2020-07-30T13:45:04 [ENOMEM] Fix several instances of not checking resize in CFF.
Garret Rieger 4cbc7d61 2020-07-30T12:20:31 [ENOMEM] check for unset current in serializer->length().
Garret Rieger 15644ee6 2020-07-29T16:37:39 [ENOMEM] fix memory leak if allocation fails during pop_pack().
Garret Rieger 42237adf 2020-07-29T15:18:25 [ENOMEM] make serializer modification operations no-ops if it's in an error state.
Ebrahim Byagowi d1f13014 2020-07-30T02:01:43 [icu] Remove support for versions older than 49 It just doesn't make sense anymore, https://github.com/harfbuzz/harfbuzz/commit/c9e5da8ded390b816613839214fe96137ca0a0a2#r41018112
Ebrahim Byagowi 0b74aaec 2020-07-30T01:47:30 [icu] Remove useless HB_UNUSED tags As https://github.com/harfbuzz/harfbuzz/commit/c9e5da8ded390b816613839214fe96137ca0a0a2#r41018040
Ebrahim Byagowi c9e5da8d 2020-07-30T00:53:40 [icu] Remove support of ICU versions before 42 ICU 42 is released in 2012, see also https://github.com/harfbuzz/harfbuzz/commit/44a3136ae6a28222922da13582bd2dfd3eb823c7#commitcomment-41016353
Garret Rieger 4ba8e3c6 2020-07-29T12:33:42 [ENOMEM] Fix failure to check calloc return. Fixes https://oss-fuzz.com/testcase-detail/6246465148813312.
Garret Rieger d307c24a 2020-07-29T12:23:37 [ENOMEM] check resize() return. Fixes https://oss-fuzz.com/testcase-detail/5641892164009984.
Ebrahim Byagowi 58a5961c 2020-07-29T08:44:23 minor spacing tweak
Ebrahim Byagowi 07c43b8c 2020-07-29T08:42:52 minor spacing tweak
Ebrahim Byagowi 5a7cc7fd 2020-07-29T08:33:32 minor spacing tweak
Ebrahim Byagowi 48ad7459 2020-07-29T08:09:08 [ENOMEM] Fix buffer's content check logic So now rest of shape fuzzer also can be enabled. Fixes #2571
Ebrahim Byagowi c33e8006 2020-07-14T19:29:58 [fuzz] Implement failing allocator
Ebrahim Byagowi 44a3136a 2020-07-29T07:03:44 [glib] Default to glib's script type handling 2.29.14 is almost released a decade ago, no need to support archaic glib versions.
Garret Rieger dae32b4f 2020-07-28T18:31:46 [subset] bail out of subsetting if plan allocation fails.
Ebrahim Byagowi a01c7a38 2020-07-25T12:27:31 2.7.0
Evgeniy Reizner b32f2e8b 2020-07-23T11:48:19 Remove unused code from the Khmer shaper.
Ebrahim Byagowi 46ec6db9 2020-07-22T17:30:48 minor
insilications 83c44f69 2020-07-20T17:35:10 [tests] fix PGO build testing Adds 'mangle_path' to IGNORED_SYMBOLS
Ebrahim Byagowi d0e2addd 2020-07-18T22:14:52 minor
Ebrahim Byagowi 7e3edfa4 2020-07-18T19:03:36 minor
Qunxin Liu 8e5bc535 2020-07-15T18:54:52 [subset] call collect_mapping only when --gids option is used. collect_mapping is time consuming as it iterates all codepoints in all cmap subtables, only trigger it when necessary
Ebrahim Byagowi 7c433ffd 2020-07-15T09:38:12 Add HB_CUSTOM_MALLOC definition So one can use just HB_CUSTOM_MALLOC instead need for define each of hb_*alloc_impl
Ebrahim Byagowi 60959b08 2020-07-14T20:28:06 [meson] execute find_program('gen-ragel-artifacts.py') only once should rename the script also
Ebrahim Byagowi 5c8e1bd2 2020-07-14T17:47:10 [meson] Don't allow introspection on static library
Ebrahim Byagowi 9566904c 2020-07-14T15:17:17 [morx] minor, mark with unlikely at least just to show this is the unusual path
Ebrahim Byagowi 11d583a9 2020-07-14T06:23:06 [aat] Consume glyph insertion from buffer's max_ops (#2223) Glyph insertion is an expensive operation and we like to have it limited based on buffer's input size which is handled by buffer's max_ops. clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5754958982021120: Before the change: 0.67s user 0.00s system 99% cpu 0.674 total After the change: 0.02s user 0.00s system 98% cpu 0.024 total Which takes much longer on valgrind and tsan bots.
Ebrahim Byagowi 6937092a 2020-07-13T21:32:15 [py] apply lgtm.com python suggestions
Ebrahim Byagowi 2a182128 2020-07-13T20:41:13 [py] minor, comment buffer_add_utf8 call mainly to apply lgtm suggestion, looks better also however, some minor spacing is also applied.
Ebrahim Byagowi cdf18e83 2020-07-13T20:07:51 [py] minor, remove unnecessary pass discovered by lgtm
Ebrahim Byagowi 45d9e8d7 2020-07-13T19:25:53 [py] minor, remove unused import
Behdad Esfahbod 1dfa3385 2020-07-12T09:24:03 [arabic] Remove stale comment
Behdad Esfahbod 6a45df0a 2020-07-08T18:17:40 Fix -Wambiguous-reversed-operator warning Fixes https://github.com/harfbuzz/harfbuzz/issues/2554
jfkthame 1e6027e2 2020-07-05T22:44:10 [aat] Correct array indexing when looking up actions in KerxSubTableFormat4 (#2539) * [aat] Correct array indexing when looking up actions in KerxSubTableFormat4. - For action_type 0 and 1, there are 2 values per action record; for action_type 2, there are 4. So we need to account for these factors when indexing into the ankrData array. Fixes https://github.com/harfbuzz/harfbuzz/issues/2531.
Ebrahim Byagowi 122a2897 2020-07-05T22:45:11 [aat] Remove lcar support Very low use, only two distinct font files, Apple Chancery.ttf and Hoefler Text.ttc have it so it really doesn't worth the size addition and so, but one may argue that whole ligature caret is low use but guess we better to encourage GDEF one anyway.