src


Log

Author Commit Date CI Message
Behdad Esfahbod 4fe69bc4 2022-05-05T10:19:16 [subset] Use del_range in _remove_invalid_gids
Behdad Esfahbod 2a42edcc 2022-05-04T17:06:18 [subset] Cosmetic; use set bulk array population instead of for loop
Behdad Esfahbod 43938ecd 2022-05-04T16:59:28 [subset] Remove outdated comment I tried something like that. It was slower because of the allocations.
Behdad Esfahbod 50db78ba 2022-05-04T15:48:18 [subset] In cmap planning, remove a qsort()
Behdad Esfahbod 052812b6 2022-05-04T15:38:30 Merge pull request #3561 from googlefonts/cmap_opt [subset] Further cmap subsetting speed optimizations
Garret Rieger 7cb36e42 2022-05-04T21:22:26 [subset] Re-introduce size threshold in choosing unicode collection method. Threshold is needed since the unicodes set might be an inverted set.
Garret Rieger 42c54eba 2022-05-04T20:21:43 [subset] Presize unicode to gid list to unicodes + glyphs size.
Garret Rieger 7c7c01d2 2022-05-03T22:40:56 [subset] Remove switch to alternate unicode collection at large subset sizes. Benchmarks show that the first path is always faster even at large subset sizes: BM_subset_codepoints/subset_roboto/10_median +0.0324 +0.0325 0 0 0 0 BM_subset_codepoints/subset_roboto/64_median +0.0253 +0.0255 0 1 0 1 BM_subset_codepoints/subset_roboto/512_median +0.0126 +0.0128 1 1 1 1 BM_subset_codepoints/subset_roboto/4000_median +0.0500 +0.0491 6 7 6 7 BM_subset_codepoints/subset_amiri/10_median +0.0338 +0.0332 1 1 1 1 BM_subset_codepoints/subset_amiri/64_median +0.0238 +0.0234 1 1 1 1 BM_subset_codepoints/subset_amiri/512_median +0.0066 +0.0063 8 8 8 8 BM_subset_codepoints/subset_amiri/4000_median -0.0011 -0.0012 13 13 13 13 BM_subset_codepoints/subset_noto_nastaliq_urdu/10_median +0.0226 +0.0226 0 0 0 0 BM_subset_codepoints/subset_noto_nastaliq_urdu/64_median +0.0047 +0.0044 20 20 20 20 BM_subset_codepoints/subset_noto_nastaliq_urdu/512_median +0.0022 +0.0021 165 166 165 166 BM_subset_codepoints/subset_noto_nastaliq_urdu/1000_median -0.0021 -0.0023 166 166 166 165 BM_subset_codepoints/subset_noto_devangari/10_median +0.0054 +0.0054 0 0 0 0 BM_subset_codepoints/subset_noto_devangari/64_median +0.0024 +0.0019 0 0 0 0 BM_subset_codepoints/subset_noto_devangari/512_median +0.0089 +0.0090 5 5 5 5 BM_subset_codepoints/subset_noto_devangari/1000_median -0.0028 -0.0019 5 5 5 5 BM_subset_codepoints/subset_mplus1p/10_median +0.0001 +0.0002 0 0 0 0 BM_subset_codepoints/subset_mplus1p/64_median +0.0073 +0.0075 1 1 1 1 BM_subset_codepoints/subset_mplus1p/512_median +0.0034 +0.0034 1 1 1 1 BM_subset_codepoints/subset_mplus1p/4096_median -0.1248 -0.1248 7 6 7 6 BM_subset_codepoints/subset_mplus1p/10000_median -0.0885 -0.0885 13 12 13 12 BM_subset_codepoints/subset_notocjk/10_median +0.0031 +0.0032 2 2 2 2 BM_subset_codepoints/subset_notocjk/64_median -0.0010 -0.0010 2 2 2 2 BM_subset_codepoints/subset_notocjk/512_median -0.0023 -0.0023 9 9 9 9 BM_subset_codepoints/subset_notocjk/4096_median -0.1725 -0.1726 28 23 28 23 BM_subset_codepoints/subset_notocjk/32768_median -0.0277 -0.0287 140 137 140 136 BM_subset_codepoints/subset_notocjk/100000_median -0.0929 -0.0926 162 147 162 147
Garret Rieger f0c04114 2022-05-03T22:02:59 [subset] Embed unicode to gid list vector in subset plan.
Behdad Esfahbod 15fa8afb 2022-05-02T16:46:41 Add fast-path for big-endian 32-bit byteswap Speeds up cmap format-12 decoding by some 40% as measured by the newly added test in perf/benchmark-font!
Behdad Esfahbod 3fff2e91 2022-05-02T16:31:59 [perf/benchmark-font] Cosmetic
Behdad Esfahbod 307d2d8b 2022-05-02T16:30:22 [cmap] Sprinkle some 'unlikely's
Garret Rieger 85ec5cbc 2022-05-02T22:29:43 [subset] In _populate_unicodes_to_retain populate unicodes in order. Allows the set insert to take advantage of page lookup cache.
Garret Rieger 088133d9 2022-05-02T21:29:16 [subset] cache cp to new gid list in subset plan. This avoids having to recompute the ordered list multiple times during cmap generation.
Garret Rieger 6922a256 2022-04-29T23:30:32 [subset] Change serialize_rangeoffset_glyid back to using iterator.
Garret Rieger c66fd50c 2022-04-29T23:18:53 [subset] in cmap4 serialization save cp to gid iter to memory. Iterator accesses are slow and it's iterated multiple times.
Garret Rieger 17b98563 2022-04-29T22:49:02 [subset] In cmap4 serialization reduce unnessecary calls into the iterator. Gives ~20% speedup for large subsets.
Garret Rieger 5e241094 2022-04-29T22:44:43 [subset] In unicodes cache cleanup if set insert fails.
Garret Rieger a424a92c 2022-04-29T22:14:03 [subset] s/void */intptr_t.
Garret Rieger aad67f56 2022-04-29T22:01:06 [subset] cache results of collect_unicodes.
Garret Rieger b4236b7d 2022-04-29T19:21:13 [subset] Optimize Cmap4 collect_unicodes. Use set add_range() instead of individual add() calls.
Behdad Esfahbod 067225a8 2022-04-29T13:04:36 [set] Optimize const page_for() using last_page_lookup caching Similar to previous commit. This speeds up SetLookup benchmark by 50%, but that's because that lookup always hits the same page...
Behdad Esfahbod c283e41c 2022-04-29T12:45:48 [set] Optimize non-const page_for() using last_page_lookup caching This speeds up SetOrderedInsert tests by 15 to 40 percent, and the subset_mplus1p benchmarks by 9 to 27 percent.
Behdad Esfahbod d8292b84 2022-04-27T12:38:35 [CFF] Fix parsing of empty Index https://github.com/harfbuzz/harfbuzz/issues/3545#issuecomment-1111047941
David Corbett 6454cec0 2022-04-24T11:10:17 [USE] Classify U+10A38 as CONS_MOD_BELOW
Khaled Hosny f7aee78e 2022-04-24T05:47:57 4.2.1
Behdad Esfahbod 6695bf05 2022-04-22T13:48:41 [gsubgpos] Remove wrong condition in Context application Fixes https://github.com/harfbuzz/harfbuzz/issues/3545
Behdad Esfahbod 8575a8f5 2022-04-21T11:14:09 Add _hb_codepoint_is_regional_indicator()
Behdad Esfahbod c1ee7d28 2022-04-20T13:38:05 Typo Co-authored-by: Khaled Hosny <khaled@aliftype.com>
Behdad Esfahbod 4d48fae4 2022-04-20T11:35:19 Enforce Regional_Indicators native direction to LTR And undo the morx direction reversal change introduced in https://github.com/harfbuzz/harfbuzz/pull/3315 23159084b43c1ce429d9e98035bf845919fd8a89 This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314 And the reversion in morx code fixes regressions: https://github.com/harfbuzz/harfbuzz/issues/3528 https://github.com/harfbuzz/harfbuzz/issues/3535 Supersedes: https://github.com/harfbuzz/harfbuzz/pull/3529
Behdad Esfahbod a85461b9 2022-04-20T12:13:16 Add link to Context LookupFlag discussion https://github.com/harfbuzz/harfbuzz/discussions/3538
Simon Cozens 9e59c401 2022-04-20T16:56:34 [myanmar] Reword confusing comment about masks
Behdad Esfahbod 903cf8cf 2022-04-13T15:31:51 [check-static-inits] Unbreak test
Behdad Esfahbod ec925ece 2022-04-13T11:51:48 [khmer] Reinstate a pause after basic features This was removed as part of 044d7a06db552e1564b8575f4d23798f009d9dde, which caused the regression. Just adding a pause fixes the shaping. Debugged by just tracing the good/bad shaping and observing the lookup orders intermingling in the bad shaping. Test: hb-shape LeelawUI.ttf --unicodes U+1780,U+17D2,U+179A,U+17BB Fixes https://github.com/harfbuzz/harfbuzz/issues/3531
Khaled Hosny 88bb746b 2022-04-01T02:18:37 [blob] Return nullptr from create_from_file_or_fail Fix a couple of cases where it would return empty blob, possibly missed in bdfed8f113431a2156e13d59a4b21e19feb7efd9.
Behdad Esfahbod b179d357 2022-03-30T12:59:52 [main] Fix unused-variable warnings
Khaled Hosny 9d5730b9 2022-03-30T15:08:34 4.2.0
Behdad Esfahbod 044d7a06 2022-03-28T12:38:56 [indic-like] Add per-lookup per-syllable flag This allows mix-and-matching per-syllable and other lookups. In fact, removes the clear-syllables call completely. Fixes https://github.com/harfbuzz/harfbuzz/issues/3513
Behdad Esfahbod 61486746 2022-03-28T15:57:07 Revert "[indic] Clear syllables before presentation features" This reverts commit 90f09b1e877dc6edf63fc4ac2b397ef4e5c92083. This regressed Indic shaping. See: https://github.com/harfbuzz/harfbuzz/issues/3513
Behdad Esfahbod e8f3397f 2022-03-28T12:07:05 [matcher] Simplify syllable initialization
Behdad Esfahbod 94f5c630 2022-03-28T11:25:44 [aat] Remove morx deleted-glyphs before GPOS processing Fixes new Apple Color Emoji glyphs sequences rendering. Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
David Corbett 0dcbdbde 2022-03-26T20:56:50 [indic] Categorize U+0D04 as Consonant_Placeholder
Behdad Esfahbod a665e29e 2022-03-23T17:30:25 [use] Avoid O(n^2) in the machine Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
Behdad Esfahbod ccd9161b 2022-03-24T13:10:48 [apply-lookup] Try to fix the logic for contextual lookups Fixes https://github.com/harfbuzz/harfbuzz/issues/1611 Notably, this fixes Myles's AdditionFont: https://litherum.blogspot.com/2019/03/addition-font.html Test with AdditionFont, eg.: $ util/hb-view AdditionFont.otf =1112112+1113134=
Behdad Esfahbod fa15fc44 2022-03-25T15:00:11 [subset] Require exact harfbuzz version in .pc file Fixes https://github.com/harfbuzz/harfbuzz/issues/1446
Behdad Esfahbod b619b05f 2022-03-25T14:56:55 [subset] Adjust name in .pc file
Khaled Hosny 12290786 2022-03-25T22:41:25 [set] Fix annotation
Behdad Esfahbod 3a78cf92 2022-03-25T12:56:44 [gvar] Fix decoding of private vs shared points Fixes https://github.com/harfbuzz/harfbuzz/issues/3506
Behdad Esfahbod a02fb4a0 2022-03-25T12:56:19 [glyf] Don't bail rendering glyf even if gvar failed Part of https://github.com/harfbuzz/harfbuzz/issues/3506
Behdad Esfahbod 0a388785 2022-03-25T09:42:36 [set] Minor touch-up on the previous commit
Andrew John 01829882 2022-03-25T08:36:44 [set] Add call to export set contents to an array. (#3500) [set] Add hb_set_next_many.
aneejit1 a55a4244 2022-03-24T20:16:41 Meson build writes to the source directory (issue #3507 ) (#3508) Don't write to source directory if files did not change Remove writes to the source directory which cause a meson build failure if the source directory is read-only. https://github.com/harfbuzz/harfbuzz/pull/3508
Behdad Esfahbod bf2a845a 2022-03-24T13:09:53 [ot-layout] Comment
Behdad Esfahbod a792e16e 2022-03-24T13:08:51 [ot-layout] Change max nesting level of lookups from 6 to 64
Garret Rieger 444c2375 2022-03-23T16:49:13 [reorg] Use relative includes for hb-ot-layout-gsubgpos.hh
Garret Rieger b342adeb 2022-03-23T16:28:22 [reorg] Move GSUB into OT::Layout::GSUB namespace.
Garret Rieger a9910e25 2022-03-23T16:09:41 [reorg] Move SubstLookup and GSUB into the new layout.
Garret Rieger 90af2143 2022-03-23T15:28:29 [reorg] Move ReverseChainSingleSubst to new layout.
Garret Rieger 403feb38 2022-03-23T15:19:04 [reorg] Move LigatureSubst to new layout.
Garret Rieger 6a369389 2022-03-23T15:04:11 [reorg] Move AlternateSubst to new layout.
Garret Rieger dea0681d 2022-03-23T14:48:58 [reorg] Move MultipleSubst into new layout.
Behdad Esfahbod 7243bf3e 2022-01-26T08:26:50 [reorg] Use relative include
Behdad Esfahbod c180f937 2022-01-26T08:22:40 [reorg] Move sanitize/dispatch and size macros to top
Garret Rieger f577d02f 2022-01-20T14:39:48 [reorg] Fix check-* scripts to work with sources files in directories.
Garret Rieger 3ef180db 2022-01-13T15:22:55 [reorg] Move SingleSubst opentype fields to top of the classes.
Garret Rieger 7dfd9e70 2022-01-13T14:17:51 [reorganization] WIP move single substitution into separate files.
Khaled Hosny c36844d6 2022-03-23T07:20:59 4.1.0
Behdad Esfahbod d35c73cd 2022-03-22T10:20:28 [buffer] Whitespace
Behdad Esfahbod 1449498e 2022-03-21T21:40:07 [ot-font] Vertically center glyph in vertical writing fallback Fixes https://github.com/harfbuzz/harfbuzz/issues/537
Behdad Esfahbod bf03d7e9 2022-03-21T21:27:31 [ot-font] Use ascent+descent for fallback vertical advance This matches what FreeType does. Part of fixing https://github.com/harfbuzz/harfbuzz/issues/537
Behdad Esfahbod df42d28d 2022-03-21T21:17:15 [hmtx] Change default advance for horizontal direction to upem/2 again
Behdad Esfahbod 6d0e67de 2022-03-21T21:07:11 [ot-font] Only use vmtx side-bearing if table exists Part of fixing https://github.com/harfbuzz/harfbuzz/issues/537
Behdad Esfahbod f41945e3 2022-03-21T18:24:30 [cmap] In collect_unicodes() of format 12/13, limit to max Unicode Fixes fuzzer timeout: https://oss-fuzz.com/testcase-detail/5062368881672192
Behdad Esfahbod 03085132 2022-03-21T18:06:33 [buffer] Fix out-buffer under memory-alloc failure This was broken in July refactoring of the buffer, and exposed to ReverseChainSingleSubstFormat1 in 3807061d634b60bd6235d6e1d8c47a034377f924 Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38800 https://bugs.chromium.org/p/chromium/issues/detail?id=1303552
Khaled Hosny 116cc692 2022-03-22T00:11:26 [set] Fix documentation
Behdad Esfahbod 90f09b1e 2022-03-21T10:24:23 [indic] Clear syllables before presentation features Fixes https://github.com/harfbuzz/harfbuzz/issues/3488
Behdad Esfahbod 4289684c 2022-03-21T15:37:05 [set] Fix-up previous commits
Andy John 1176620b 2022-03-21T14:31:47 Move fn, fix doc.
Andy John 7d802994 2022-03-21T13:55:34 Remove null checks.
Andy John ef588ea9 2022-03-21T13:29:22 Add option to insert a sorted arrays of values to sets.
Andy John 7a1e79c3 2022-03-21T13:18:04 Fix typo.
Andy John 4ee00f94 2022-03-21T13:16:28 Use bit shifting instead of multiplying and dividing.
Andy John 3125f5ae 2022-03-21T13:12:14 Add log base 2 versions of constants.
Behdad Esfahbod 1ffe637a 2022-03-21T10:37:42 [coretext] Remove dead code Fixes https://github.com/harfbuzz/harfbuzz/issues/3484
TheBluuDot 7bdc20ec 2022-03-19T17:47:04 restores unintended addition in 43be5ba restores two lines in restore in _hb_allocate_lig_id function that were unintentionally deleted in 43be5ba
Qunxin Liu 7cb002cb 2022-03-14T11:40:35 [subset] bug fix in prune_langsys we should not cache visited langsys cause 2 different Record<Langsys> could have different Tag while pointing to the same Langsys, a langsys is redundant in Record<Langsys> A does not mean it's redundant in Record B. Same thing for visited_script. Also adding the number of features in the LangSys's feature list to the visited langsys count so it's more accurate. Plus some improvement in langsys compare()
Behdad Esfahbod cad2fe8e 2022-03-15T10:49:29 [baseline] Fix HB_NO_METRICS build Fixes https://github.com/harfbuzz/harfbuzz/issues/3482
Behdad Esfahbod a8a89b80 2022-03-15T10:48:03 [layout] Whitespace
Behdad Esfahbod 21f5ef56 2022-03-15T10:45:50 [metrics] Simplify x-height fallback
Behdad Esfahbod 6bf8f0a3 2022-03-15T10:44:41 [baseline] Use ot-metrics fallback API
Dominik Röttsches 965cf1d6 2022-03-14T12:48:18 Make load_num_glyphs_from_loca conditional on HB_NO_BORING_EXPANSION Fixes build errors complaining about this function being unused.
David Corbett 49fb8f90 2022-03-13T15:01:11 [USE] Treat visible viramas like dependent vowels
Khaled Hosny 1f79ba94 2022-03-11T20:19:04 4.0.1
Qunxin Liu a35757c6 2022-02-02T10:30:34 [repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
Matthias Clasen e7ab42b2 2022-03-10T09:05:43 [layout] Fix handling of baseline variations For BASE table format 1.1, the handling of design space vs user space coordinates was inconsistent. We were applying design -> user transformation twice for the deltas, leading to wrong baseline values. Patch by Ebrahim Byagowi <ebrahim@gnu.org> Fixes: #3476
David Corbett e5707a44 2022-03-02T21:30:22 Update IANA Language Subtag Registry to 2022-03-02
David Corbett 13bb46cf 2022-03-06T15:35:31 [USE] Remove obsolete overrides
David Corbett c33468d4 2022-03-06T12:26:37 [USE] Treat all gc=Cn as independent clusters
David Corbett e497a8f1 2022-03-06T11:36:43 [USE] Remove obsolete symbol/punctuation overrides
David Corbett 854219e0 2022-03-05T10:46:31 [USE] Simplify `not_ccs_default_ignorable`