Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| cc9bb294 | 2021-06-20 18:47:03 | [blob] Fix-up recent mistake in hb_blob_create() destroy(user_data) https://github.com/harfbuzz/harfbuzz/pull/3026#discussion_r653437491 | ||
| bc06af97 | 2021-06-16 15:49:14 | [subset] speed up feature collection when tags are specified. Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s. | ||
| 14f220b7 | 2021-06-20 18:59:13 | [directwrite] Support feature ranges Code copied from hb-uniscribe.cc and adapted to use DirectWrite types. May be there is a better way to de-duplicate the code, though I'm not exactly sure how or if it is worth it. | ||
| 26c80adb | 2021-06-18 14:14:20 | [subset] do colrv1 glyph closure before glyf composite closure. | ||
| d07f789a | 2021-06-09 15:36:40 | [subset] support option "--notdef-outline" | ||
| 675ebbeb | 2021-06-16 10:40:46 | [subset] don't alloc zero bytes. It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero. | ||
| 10ad1859 | 2021-06-16 16:34:46 | [subset] add comment to copy_bytes(). | ||
| 93e6a9bc | 2021-06-15 15:38:49 | Revert "Remove unneeded buffer clear_output / remove_output calls" This reverts commit 06175b71433bc42edc07d342e6354035e37fb5fd. One of the sanitizers is failing. Pushing again as PR to debug. I have suspicions. | ||
| 06175b71 | 2021-06-15 14:33:27 | Remove unneeded buffer clear_output / remove_output calls Made sure clear_output is always paired with swap_buffers. Trying to see if we can move towards RAII-like buffer iterators instead of the buffer keeping an iterator internally. | ||
| bdfed8f1 | 2021-06-14 15:46:04 | [blob] Add failing versions of create API Fixes https://github.com/harfbuzz/harfbuzz/issues/2567 New API: +hb_blob_create_or_fail() +hb_blob_create_from_file_or_fail() Use these in util/ to distinguish empty file from not-found file. Only err on the latter. | ||
| 2fc8d0e6 | 2021-06-15 12:56:17 | Merge pull request #3020 from googlefonts/serialize_serialize [subset] Always serialize objects point to by OffsetTo to a new serializer object. | ||
| 085aa65e | 2021-06-14 16:47:45 | [subset] Convert offset serialization in gsubgpos and gdef to serialize_serialize(). | ||
| cc96c4e8 | 2021-06-14 16:43:23 | [shaping] Update shaping substituion lookup serialization to use serializer pop()/pack(). | ||
| d3dd9363 | 2021-06-14 12:31:02 | [coretext] Round position info Test: Before: $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext [gid781=0@-78,0+841] $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot [gid781=0@-78,0+842] After: $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext [gid781=0@-78,0+842] $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot [gid781=0@-78,0+842] I've verified in the font that 842 is correct. | ||
| 8443cc85 | 2021-06-11 13:40:39 | [subset] Correct OffsetTo serialization in GPOS to use serialize_serialize (). | ||
| 5ba46ed0 | 2021-06-11 13:34:00 | [subset] Correct OffsetTo serialization in GSUB to use serialize_serialize (). | ||
| 35458b6b | 2021-06-11 13:14:51 | [subset] Add serialize_serialize to OffsetTo. Similar to serialize_subset() this will serialize the new object and then link it to the offset. | ||
| 2b0ced28 | 2021-06-09 19:06:31 | Cluster Regional_Indicator pairs (aka emoji flags) Fixes https://github.com/harfbuzz/harfbuzz/issues/2265 | ||
| 4e72d5e3 | 2021-06-13 05:46:17 | [src/check-static-init] Ignore objdump "file format not recognized" error Fixes https://github.com/harfbuzz/harfbuzz/issues/3019 | ||
| 5bc05ba1 | 2021-06-13 05:28:20 | Prefer GPOS over kerx, if GSUB was applied Fixes https://github.com/harfbuzz/harfbuzz/issues/3008 | ||
| 13c6ad98 | 2021-06-12 11:00:19 | [src/check-*] Pickup $(NM), $(OBJDUMP), $(LDD), $(OTOOL) Fixes https://github.com/harfbuzz/harfbuzz/issues/3019 | ||
| c61ce962 | 2021-06-10 17:33:29 | [buffer] In hb_buffer_get_positions(), return NULL if inside message callback As discussed in https://github.com/harfbuzz/harfbuzz/issues/2468#issuecomment-645666066 Part of fixing https://github.com/harfbuzz/harfbuzz/issues/2468 | ||
| 855a3f47 | 2021-06-09 15:10:52 | [emoji] Fix emoji table generation Previously, the last of each range having Extended_Pictograph property was not processed as so. Ouch! Test: $ echo x > null; hb-shape null -u U+1f43b,U+200d,U+2744,U+fe0f Before: [gid0=0+1000|gid0=2+1000] After: [gid0=0+1000|gid0=0+1000] Caught by https://github.com/harfbuzz/harfbuzz/issues/3017 | ||
| bd5502f0 | 2021-06-09 14:03:25 | [set] Oops. Fix compile | ||
| 3962225a | 2021-06-09 14:02:31 | [set] Add hb_set_copy() Fixes https://github.com/harfbuzz/harfbuzz/issues/3016 | ||
| bc33b87f | 2021-06-09 11:51:32 | [set] Use references, not pointers, in internal C++ API | ||
| 9cfac093 | 2021-06-09 11:41:59 | [set] Add copy constructor/assignment | ||
| a83b9b0f | 2021-06-07 16:41:27 | Merge pull request #3011 from harfbuzz/directwrite-cleanup Some directwrite cleanups | ||
| 4811e8f5 | 2021-06-07 10:54:36 | Trigger doc rebuild | ||
| 5585ea02 | 2021-06-05 08:35:28 | [syllabic] Set position of dotted circle for Indic | ||
| a9fb6a0c | 2021-06-06 14:40:50 | [aat] Add start table/end table to buffer messages Related to https://github.com/harfbuzz/harfbuzz/issues/3008 | ||
| cf9538e8 | 2021-06-04 22:33:16 | Removal remaining uses of "blacklist" terminology | ||
| 6119ff9d | 2021-06-03 13:02:53 | [hb-directwrite] Don't load dwrit.dll dynamically We already link to it, so I don't see the point of trying to load it dynamically. | ||
| b2070a50 | 2021-06-03 10:50:46 | [hb-directwrite] Don’t override new/delete This is a testing shaper, we don’t care for overridden malloc/free here. Use malloc/free in the code called from hb_directwrite_face_create(). | ||
| 221d642b | 2021-06-03 10:45:23 | [hb-directwrite] Remove _hb_directwrite_shape_experimental_width Not used anywhere. | ||
| 35d6af69 | 2021-06-04 10:04:27 | [subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648 | ||
| 3d48bfc1 | 2021-06-02 23:12:53 | Avoid a deprecation warning in graphite2 As of graphite2 1.3.7, `gr_make_face` is deprecated in favor of `gr_make_face_with_ops`. It's a one-liner to port over to using it. This is potentially a compatibility break since I'm not sure when the `with_ops` API was added, but the minimum version of graphite2 that's supported by Harfbuzz doesn't seem to be documented anywhere anyway. | ||
| 1b6008ca | 2021-06-02 15:07:18 | fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736 | ||
| 18f61210 | 2021-05-27 16:01:17 | Add public api methods to get/set the layout features to retain. | ||
| 243d056f | 2021-06-02 14:08:11 | Removed unused variable `supp_size` from plan_subset_encoding(...). | ||
| 7ab0f4ed | 2021-05-27 11:40:34 | fuzzer fix | ||
| cb5a6b5a | 2021-05-19 17:33:46 | [subset] support option --layout-features | ||
| 73ff04a3 | 2021-05-18 16:54:01 | [subset] add option to have the subsetter set the mac overlaps flag on each glyph. | ||
| f739e1dc | 2021-05-11 11:44:32 | [subset] subset both CPAL and COLRv1 | ||
| 466e1fdf | 2021-05-26 14:22:21 | [subset] remove unnessecary brackets. | ||
| 58323729 | 2021-05-26 14:06:02 | Add cmp() method for major to page map. | ||
| 2c137045 | 2021-05-20 16:22:04 | [subset] Optimize set iteration by caching the last found page map index. Reuse it if possible on consecutive calls to next(). Will signifcantly speed up cases where the entire set is iterated. In local testing iterating a very large set was 10x faster. | ||
| 9e5738a8 | 2021-05-26 15:12:39 | [set] Okay, giving up on constexpr till C++14 ../src/hb-set.hh:213:89: error: call to non-'constexpr' function 'const elt_t& hb_vector_size_t<elt_t, byte_size>::operator[](unsigned int) const [with elt_t = long long unsigned int; unsigned int byte_size = 64]' | ||
| 90fa558a | 2021-05-26 15:05:48 | [set] Another try at constexpr to make msvc happy | ||
| bf5d4a63 | 2021-05-26 14:27:02 | [set] Add TODO | ||
| 11d03f1f | 2021-05-26 14:26:05 | [set] Mark a couple methods as constexpr | ||
| d2829ad3 | 2021-05-26 14:24:27 | [set] Refactor code into page_t::is_subset() | ||
| e47e44a8 | 2021-05-26 14:19:27 | [set] Whitespace | ||
| 2000f47a | 2021-05-19 00:34:09 | [set] Compute is_subset by comparing pages. Test subsets one page at a time instead of by codepoints. On my machine this is about 250x faster than the previous implementation. | ||
| 1dffb553 | 2021-05-18 12:31:14 | Chromium build fixes for C++ 17 warning and missing _remap_indexes Use class instead of typename, move _remap_indexes out of #ifndef. Fixes #2979 | ||
| bbc5fc37 | 2021-05-13 11:39:09 | [aat] If shaping via morx, don't adjust mark positioning when zeroing widths. | ||
| 4f1e8d2b | 2021-05-05 11:11:43 | [aat] Update glyph properties from GDEF if available when doing a replacement. | ||
| 5e0ec33b | 2021-05-12 14:46:54 | Error when link width not in [2, 4] | ||
| b23f29bf | 2021-04-17 09:59:45 | [subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List Also add support for Offset24 in serializer and repacker | ||
| 413769bf | 2021-05-12 14:14:06 | Add hb-ot-color-colrv1-closure.hh to sources list. | ||
| de0eba20 | 2021-05-12 14:05:34 | Remove array for visited_paint. | ||
| e59ffe54 | 2021-04-01 12:01:19 | [subset] COLRv1 layer/palette indices closure | ||
| a08900b7 | 2021-05-04 16:48:41 | [subset] fix failing colrv0 subsetting when font has composite glyphs. Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0. | ||
| b54d9b69 | 2021-05-06 06:22:48 | start | ||
| b37f03f1 | 2021-05-04 02:07:06 | 2.8.1 | ||
| be50779c | 2021-04-30 12:59:17 | [subset] correct ClassDef format determination. It was possible for glyph_min to be a glyph mapped to class zero which threw off the number of glyph calculation. | ||
| 90713f27 | 2021-04-30 16:56:39 | [hb-ot-layout] Document some return values | ||
| e25efb31 | 2021-04-23 19:09:37 | [subset] consider all value formats when computing effective format. | ||
| 84dbfacf | 2021-04-15 16:52:11 | [subset] fix collect_variation_idx in PairPosFormat2 | ||
| d356d0f7 | 2021-04-23 17:41:09 | [subset] optimize ValueRecord's for PairPosFormat1. | ||
| f9fbe481 | 2021-04-23 17:06:06 | [subset] implement value record optimization for PairPosFormat2. | ||
| badb8e40 | 2021-04-23 16:32:56 | [subset] use copy_values for PairPos serialize. | ||
| 2f50283c | 2021-04-23 15:21:30 | [subset] Begin implementing ValueRecord optimization: remove value records which have a zero value. | ||
| 5df7c668 | 2021-04-22 16:45:14 | [subset] In SinglePosFormat1 serialize only 1 value record. Previously one record per glyph in the subset was serialized. | ||
| 92757f68 | 2021-04-22 15:18:35 | [subset] Don't drop anchor device tables when dropping hints. These may contain variation data. Update subseting expected files to match latest version of fontTools. | ||
| 6fddc2bb | 2021-04-01 15:34:17 | [subset] subset layout tables (G*) by default. | ||
| 425ba1f4 | 2021-04-19 18:01:24 | [subset] fixes infinite loop in hb_set_get_max(). Fixes https://oss-fuzz.com/testcase-detail/5363902507515904 | ||
| ec432106 | 2021-04-19 17:18:05 | [subset] fix infinite loop caused by alloc failure in repacker. Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544. | ||
| 0e845d97 | 2021-04-19 16:09:37 | [subset] fix memory leak in repacker caused by failed alloc. Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400. | ||
| 3fb62cdc | 2021-04-05 15:48:34 | [subset] fail on offset overflow in tables that we don't repack. Fixes: https://oss-fuzz.com/testcase-detail/5229304507138048 | ||
| ed2ee8a8 | 2021-04-16 13:53:43 | Revert "Disable -Wunused-macros under GCC" This reverts commit 1b1413246b8b4a9c6f7e0aac16afd6d110c142cf. Err. It wasn't working. We already have that disabled in the files it is warning about. Doesn't work. | ||
| 1b141324 | 2021-03-30 20:54:20 | Disable -Wunused-macros under GCC Since the pragram in hb-ot-shape-complex-indic-table.cc didn't seem to silence GCC, eg: ../../src/hb-ot-shape-complex-indic-table.cc:55: warning: macro "ISC_TL" is not used [-Wunused-macros] 55 | #define ISC_TL INDIC_SYLLABIC_CATEGORY_TONE_LETTER /* 7 chars; Tone_Letter */ disable it at compiler level. | ||
| 23a28f5a | 2021-04-16 13:22:05 | Avoid undefined-behavior If a struct had (because it's a union) sizeof that is larger than the null_size, we were providing only null_size bytes for its Null object. We know we'd never access beyond that, but is undefined-behavior nonetheless according to the standard. The alternative fix would have required use of flexible-arrays, which are not standard and have their own issues in various compiler. We've discussed that extensively in the follow Mozilla issue (currently locked; I've asked that it be opened): https://bugzilla.mozilla.org/show_bug.cgi?id=1577584 Part of https://github.com/harfbuzz/harfbuzz/pull/2067 | ||
| 499248c5 | 2021-04-16 13:14:48 | [blob] Use min_size, instead of null_size in .as<T>() Part of https://github.com/harfbuzz/harfbuzz/pull/2067 | ||
| e116058b | 2021-04-15 13:52:19 | [directwrite] Use correct UTF-16 string length Fixes https://github.com/harfbuzz/harfbuzz/issues/2474 | ||
| 668acff1 | 2021-04-12 14:25:19 | similarly improve comments on Hebrew ccc 18 & 19 Should have committed this along with commit 9658435a25c2ba82 but forgot. | ||
| 43d95520 | 2021-04-12 14:01:56 | improve comments on Hebrew ccc 18 & 19 improve comments to reflect that: ccc 18 includes both "flavors" of qamats: qamats [gadol] and qamats qatan ccc 19 includes both "flavors" of holam: holam [not haser for vav] and holam haser for vav This code and its comments may have been written before these code points were added to Unicode. I.e. originally, these comments may have been complete, but they may have become incomplete in the meantime. | ||
| 9dc9f038 | 2021-04-08 11:00:17 | [subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/5858518134554624 | ||
| 430a67ce | 2021-04-01 12:01:19 | [subset] COLRv1 struct definitions | ||
| 553ffaf6 | 2021-04-07 17:15:32 | [subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/6382598554255360 avoid writing to null pointer | ||
| 8b686afe | 2021-04-06 11:33:38 | [subset] add unlikely(). | ||
| 64122b5a | 2021-04-05 12:53:08 | [subset] don't visit lookup if covered glyph set has failed. If covered glyph set is in error then the same lookup can be recursed into repeatedly potentially causing a fuzzer timeout. Fixes: https://oss-fuzz.com/testcase-detail/5416421032067072. | ||
| 6f98a8ed | 2021-04-02 14:37:10 | [subset] Anchor should only use format 1 when hints are dropped. Refactor Anchor to have a subset method instead of copy. This also allows use to use serialize_subset in several places which simplifies calculating offset bases. | ||
| 71d6d156 | 2021-04-05 12:03:17 | [subset] clamp distance to prevent shifting outside of the limits of int64. Fixes https://oss-fuzz.com/testcase-detail/4961171477233664. | ||
| fcacd177 | 2021-04-05 22:27:39 | [ot] Update _hb_glyph_info_is_default_ignorable_and_not_hidden() Used _hb_glyph_info_substituted() similar to the change made to _hb_glyph_info_is_default_ignorable() in 7686ff854bbb9698bb1469dcfe6d288c695a76b7. | ||
| 596f4258 | 2021-04-02 12:41:09 | [subset] copy Lookup::markFilteringSet when subseting. | ||
| d3a2f999 | 2021-04-02 08:32:41 | Fix up build This was left out; oops. | ||
| c35d7863 | 2021-04-01 14:32:38 | [subset] never drop the 'pref' feature. Never ever drop feature 'pref', even if it's empty. Harfbuzz uses it to choose the shaper for Khmer. | ||
| 092094f7 | 2021-04-01 15:47:21 | Use as_array() and range loops in a few places | ||
| 55e7f3fe | 2021-04-01 13:35:30 | [subset] Match FeatureVariationRecord dropping from fontTools. Only drop records with no matching features that are at the end of the list. See: https://github.com/fonttools/fonttools/commit/cab7d13dc0883765cde435215c7d65e9212f152d |