src


Log

Author Commit Date CI Message
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.
Ebrahim Byagowi a3b9b94b 2020-07-06T00:05:21 [style] Remove fdsc support (#2541) It isn't exposed yet and low use between Apple fonts, 32 fdsc table vs 767 OS/2 tables, even Apple doesn't support it anymore per Ned.
Ebrahim Byagowi a6fb8ce9 2020-07-04T23:43:21 Minor, fix -Wrange-loop-analysis warnings Fixing these complains raised by newer versions of clang, ./hb-ot-layout-common.hh:1720:53: error: loop variable 'gid_klass_pair' is always a copy because the range of type 'hb_map_iter_t<hb_sorted_array_t<OT::HBGlyphID>, (lambda at ./hb-ot-layout-common.hh:1672:29), hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis] for (const hb_pair_t<hb_codepoint_t, unsigned>& gid_klass_pair : + it) And ./hb-ot-color-colr-table.hh:177:44: error: loop variable '_' is always a copy because the range of type 'hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<hb_range_iter_t<unsigned int, unsigned int>, (lambda at ./hb-ot-color-colr-table.hh:209:31), hb_function_sortedness_t::RETAINS_SORTING, nullptr>, (anonymous struct at ./hb-algs.hh:331:1) &, (anonymous struct at ./hb-algs.hh:51:1) &, nullptr>, (anonymous struct at ./hb-algs.hh:338:1) &, hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis] for (const hb_item_type<BaseIterator>& _ : + base_it.iter ())
Jan Alexander Steffens (heftig) 44444822 2020-07-02T17:46:56 meson: Pin harfbuzz in .pc files to the built version This ensures that we link -subset, -icu and -gobject with a matching version of the main library.
Jan Alexander Steffens (heftig) 3adcf398 2020-07-02T16:41:22 meson: Make Requires in .pc files match autotools Libreoffice tries to use only harfbuzz-icu.pc and assumes this includes -lharfbuzz.
Ebrahim Byagowi 6a2b0ba7 2020-07-04T14:45:15 [py] minor, replace exit with sys.exit
Ebrahim Byagowi a07672d3 2020-07-04T14:12:55 [py] minor, replace os.environ.get with os.getenv
Ebrahim Byagowi 359dbc97 2020-07-04T12:28:06 [meson] Use the recommended way to generate harfbuzz.cc As https://github.com/harfbuzz/harfbuzz/pull/2532
Ebrahim Byagowi a7e82e4f 2020-07-04T12:04:41 [meson] use the recommended way to generate hb-version.h As https://github.com/harfbuzz/harfbuzz/pull/2532
Ebrahim Byagowi 404ecc25 2020-07-04T03:13:32 [meson] use basename in check scripts now that meson passes dir also
Ebrahim Byagowi 785a9a8f 2020-07-04T02:08:30 [meson] use the recommended way to generate ragel headers As described in https://github.com/mesonbuild/meson/issues/7156#issuecomment-629622827
Ebrahim Byagowi 5c07c291 2020-07-04T04:33:46 [make] use sed the way autotools used to generate hb-version.h Left from 1853f84 and now exactly is like 4fc6189a329c
Ebrahim Byagowi 63322513 2020-07-04T03:34:58 [make] Revert the way harfbuzz.cc and hb-version.h are generated Partially reverts 4fc6189
Ebrahim Byagowi 1853f84a 2020-07-03T15:14:10 [py] overwrite harfbuzz.cc only when there is a needed change
Ebrahim Byagowi 82c6ddb9 2020-07-03T15:09:10 [py] remove not needed imports
Ebrahim Byagowi 42d039cc 2020-07-03T04:32:32 [meson] minor
Ebrahim Byagowi f2a80ab2 2020-07-03T04:28:08 [meson] use null_dep idiom
Ebrahim Byagowi d5439232 2020-07-02T01:30:24 [fvar] minor
Hugo Beauzée-Luyssen 40ec187d 2020-04-24T14:01:07 win32: Cleanup PARTITION handling Use the WINAPI_PARTITION macro to filter desktop/app flavors. We use a negated desktop check because the default (for mingw-w64 at least) is to allow all API by combining desktop + app partitions. This causes build failures if we were to filter using WINAPI_PARTITION(WINAPI_FAMILY_APP) because it would always be true, but those API also require Windows 8 or later, while we only require Vista Fixes warnings like ../src/hb-blob.cc:572:47: warning: 'WINAPI_FAMILY_PC_APP' is not defined, evaluates to 0 [-Wundef] #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) ^ ../src/hb-blob.cc:572:86: warning: 'WINAPI_FAMILY_PHONE_APP' is not defined, evaluates to 0 [-Wundef] #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP)
Ebrahim Byagowi ea8e7841 2020-06-30T12:54:29 [fvar] Improve naming
Ebrahim Byagowi 5de07b8a 2020-06-30T11:08:42 [fvar] Move normalize logic where it is actually filled
Ebrahim Byagowi 0f8dda2c 2020-06-30T10:53:12 [fvar] Move shared axis filling values into a new method
Ebrahim Byagowi 98c42b3b 2020-06-30T10:48:36 [fvar] Make AxisRecord fields protected
Behdad Esfahbod 7ee3194f 2020-06-28T15:41:44 [meta] Remove wrong comment
Behdad Esfahbod 26b9670d 2020-06-28T14:52:15 [ft] Better handle allocation failures Fixes https://github.com/harfbuzz/harfbuzz/issues/2513
Behdad Esfahbod 26111a11 2020-06-28T02:59:47 [dagger] Minor cleanup using hb_enumerate
Ebrahim Byagowi 08d57d9e 2020-06-28T13:13:25 Add hb_array_t::lfind
Behdad Esfahbod a7838407 2020-06-27T22:23:59 Always round up Fixes https://github.com/harfbuzz/harfbuzz/issues/2496
Sebastian Rasmussen 2267da4e 2020-06-28T11:18:16 [ft] Do not deference ft_font if it is nullptr (#2502)
Sebastian Rasmussen a373e161 2020-06-28T11:09:45 [ot-shape] Free shape plan maps upon error creating data (#2497)
Sebastian Rasmussen dbf9896e 2020-06-28T10:57:34 [ft] Handle nullptr when destroying freetype font (#2494)
Ebrahim Byagowi 76ba619d 2020-06-23T20:49:43 Fix autotools's harfbuzz.cc build How this works? gen-harfbuzzcc.py operates at its own source path (see its 7th line) and that is reliable when used both on meson and autotools. Just like 19ecabed, weirdly this didn't come up sooner, guess it has something to do with timestamps. Fortunately whole harfbuzz.cc just doesn't matter for packagers but we can tag a release only for this if needed.
Sebastian Rasmussen 12a9d572 2020-06-24T03:25:43 [face] Destroy blob if face closure can not be created (#2490) This fixes issue #2489.
Ebrahim Byagowi 53b0a183 2020-06-22T18:04:01 Remove concept of stable/unstable from build tools We never practiced the concept of stable and unstable releases, let's remove the code and always use the stable scheme.
Ebrahim Byagowi e4203c14 2020-06-22T05:03:27 2.6.8
Ebrahim Byagowi e541fb47 2020-06-21T09:49:48 minor, replace single hb_apply daggers with foreach
Ebrahim Byagowi 8bca9a42 2020-06-21T09:18:12 [fvar] minor
Ebrahim Byagowi 82ec9ef2 2020-06-21T01:36:16 [fvar] minor simplification
Ebrahim Byagowi 4e37c48e 2020-06-20T23:57:45 [fvar] Remove get_axis_info and get_axis_deprecated
Ebrahim Byagowi 61c240f3 2020-06-20T13:24:32 [fvar] Push _axis_info fill logic deeper
Ebrahim Byagowi 47a0fbec 2020-06-21T02:34:59 [meson] Mark longer tests with slow So one can skip them easily by `meson test -Cbuild --no-suite slow`
Ebrahim Byagowi b2d0dba5 2020-06-20T12:07:42 [cpal] Port to dagger
Ebrahim Byagowi 25cf6874 2020-06-20T01:36:50 Use dagger in OffsetTable::get_table_tags (#2477)