test


Log

Author Commit Date CI Message
Garret Rieger 52d59bf1 2022-05-10T19:40:37 [perf] Make subset benchmark data driven.
Garret Rieger 8f9f0c49 2022-05-10T17:47:08 [subset] Enforce cmap12 group ordering constraints in collect_mapping. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6365271012540416
Garret Rieger b051f3fa 2022-05-05T23:27:34 [subset] Fix cpal subsetting when there are partial palette overlaps. The existing code doesn't correctly handle the case where palettes partially overlap in the color record array. This changes the subsetting to only share entries in the color record array when palettes have the same first color index. Partially overlapping palettes will be converted to disjoint segments in the color record array. Updates one of the color tests to use multiple palettes. Also fixes fuzzer: https://oss-fuzz.com/testcase-detail/5568200165687296.
Behdad Esfahbod ca8a0f3e 2022-05-06T11:54:38 [gvar] Protect against out-of-range access Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47281 Fixes https://oss-fuzz.com/testcase-detail/5508865908670464
Behdad Esfahbod 4de5352a 2022-04-28T14:40:33 [test] Add test From https://github.com/harfbuzz/harfbuzz/issues/3545 Dropped the CFF table.
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
Khaled Hosny 383c11d7 2022-04-19T16:31:44 Add test for ligature-id allocation Test for the fix in 7bdc20ec810c14056d6362b076aa6717f10f26a0 for the regression from 43be5ba442548528c89ad31c0927cc68515b736e.
David Corbett ecb3e7ec 2022-03-28T19:42:04 Enable indic-feature-order.tests
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 18c0290c 2022-03-28T13:24:16 Add test for previous commit
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 a003fc0d 2022-03-25T09:37:50 Remove accidental files
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.
Khaled Hosny f76ffa83 2022-03-24T06:23:22 [build] Change how platform shaper tests are enable Run the tests unconditionally and skip if the shaper is not available. This fixes distcheck (https://github.com/harfbuzz/harfbuzz/pull/3504) and shows SKIP for these tests instead of ignoring them.
Chun-wei Fan eb44d64b 2022-03-24T10:52:48 test: Dist the platform shaper test data For builds from release tarballs, the tests fail in the DirectWrite and Uniscribe tests when these platform shapers are enabled, since the data files were not found in the source tree, when building with Meson at least. Fix this by dist'ing the platform shaper test data files.
Behdad Esfahbod 36b8f974 2022-03-21T21:50:04 Update tests for recent changes
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
David Corbett 98b48524 2022-03-21T17:17:39 [indic] Test clearing syllables earlier
Andy John ef588ea9 2022-03-21T13:29:22 Add option to insert a sorted arrays of values to sets.
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()
David Corbett 49fb8f90 2022-03-13T15:01:11 [USE] Treat visible viramas like dependent vowels
Qunxin Liu a35757c6 2022-02-02T10:30:34 [repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
Garret Rieger f6071c16 2022-02-28T14:45:40 [subset] Rename codepoint -> unicode in subset plan api
Behdad Esfahbod 222301bf 2022-02-24T12:55:01 Merge pull request #3429 from harfbuzz/external_plan [subset] expose subset plan in public subsetting API
Matthias Clasen d4cb0772 2022-02-18T18:25:56 Add a missing file The style test is using notosansitalic.ttf now, but I forgot to add it with the test. Fix that.
Matthias Clasen 16b232be 2022-02-18T18:05:58 [hb-style] Fix the sign of slant ratios We want negative slant angles to yield positive slant ratios. Fix that. Test included.
Matthias Clasen e76061a7 2022-02-18T17:27:19 [hb-style] Fix synthetic slant values When reporting the slant ratio of a font that has synthetic slant set, we were reporting twice the expected value. Fix that. Test included.
Behdad Esfahbod 56f11ec9 2022-02-18T14:08:43 [buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
Behdad Esfahbod f8e9e315 2022-02-17T14:34:46 Merge pull request #3437 from matthiasclasen/synthesize-missing-baselines [BASE] Synthesize missing baselines
Matthias Clasen f81578fd 2022-02-13T19:15:36 [ot-layout] Synthesize missing baselines Add a variation of hb_ot_layout_get_baseline that synthesizes missing baselines, using heuristics in part taken from the CSS Inline Layout Module, Level 3. Includes some new tests for synthesized baselines. The base2.ttf is a subset of Noto Sans Bengali that includes just the Bengali Ka. New API: hb_ot_layout_get_baseline_with_fallback
Behdad Esfahbod d2998faa 2022-02-16T14:37:09 Merge pull request #3410 from harfbuzz/boring-expansion [Boring Expansion] >64k loca & hmtx tables This does two things: The num-glyphs reported by the face now is the maximum reported by the maxp and that deduced from the length of the loca table; I think this is the right thing to do anyway; According to OpenType such loca tables are invalid. The interpretation hmtx tables that have excessive bytes at the end, again, invalid according to OpenType, has changed. Previously we were interpreting those excessive bytes as extra lsb values. Now we interpret them as extra advance values, the last of which is repeated for all missing glyphs. Again, these are tables that are invalid according to OpenType, and the advances are for glyph indices beyond maxp table's num-glyphs. The combined effect is that the font can have shapes and advances for gid's beyond the maxp limit of 64k. In fact, maxp table becomes optional.
Khaled Hosny cfa8cd7f 2022-02-16T11:42:36 [autotools] Fix make distcheck The test-draw.c can now optionally uses hb-ft, but automake file was not passing FreeType cflags or libs to it.
Behdad Esfahbod a396543a 2022-02-15T18:47:55 Merge pull request #3411 from harfbuzz/draw [draw] Finish and release draw API
Behdad Esfahbod 67eb9acf 2022-02-15T17:17:49 [config] Add HB_NO_BORING_EXPANSION
Behdad Esfahbod 1bf588e2 2022-02-15T16:57:23 [test/shape] Internal rename Residual from e0d7060f80f8c4b9b8241c3a4d8faa33f48da86d
Behdad Esfahbod 197ed8f5 2022-02-15T14:30:12 [test/api] Fix leaks
Behdad Esfahbod 531c27d1 2022-02-15T14:20:54 Fix build
Behdad Esfahbod 8b7ccc41 2022-02-15T14:15:12 [hmtx] Implement [boring-expansion] >64k expansion This implements https://github.com/be-fonts/boring-expansion-spec/issues/7
Behdad Esfahbod 379e526a 2022-02-14T15:02:31 [test] Add test for current hmtx logic
Behdad Esfahbod ed6d287d 2022-02-02T14:10:16 [ot-face] Load num-glyphs from `loca` table before `maxp` Implements [boring-expansion] [maxp] Relax https://github.com/be-fonts/boring-expansion-spec/issues/6
Ebrahim Byagowi 6b75a30a 2022-02-14T01:38:06 [draw/test] Swap a freetype test case with a simpler one As CI failure, apparently the my local freetype and CI one have different result so let's switch the case with a simpler one just to test quadratic command is emitted correctly.
Behdad Esfahbod ae223764 2022-02-13T15:39:14 [test/draw] Typo
Ebrahim Byagowi 0429921c 2022-02-14T00:16:35 [draw/test] Add test for freetype callback Let's have that part of the code also covered.
Ebrahim Byagowi d4588204 2022-02-13T23:49:41 [draw/glyf] Emit empty contours This makes it actually match freetype behaviour even though rasterizer should filter such contours specially for stroking. See https://github.com/harfbuzz/harfbuzz/pull/3411#discussion_r802283827 for the context.
Khaled Hosny 0e357c50 2022-02-11T04:31:13 [draw] Test scaling subfont differently from parent
Behdad Esfahbod 151f2058 2022-02-10T16:27:18 [draw] Emit move_to immediately, like other operators
Khaled Hosny aca80a4a 2022-02-09T22:44:38 [draw] Add test for applying synthetic slant
Khaled Hosny 052fd2d8 2022-02-09T22:10:23 [draw] Add test for hb_draw_move_to() etc
Behdad Esfahbod f1a9a9cc 2022-02-03T14:10:40 [draw-state] Pass state down to callbacks
Behdad Esfahbod 9f05362d 2022-02-03T13:08:32 [test-draw] Fix compiler warning
Behdad Esfahbod 1740916e 2022-02-03T12:50:47 [draw] Remove check for no-op This is unnecessary overhead. Up to rasterizers to handle this. Plus, this throws off point-numbers in uses that rely on it. Disabled one test that broke with this.
Behdad Esfahbod 5610fa1d 2022-02-03T10:29:04 [test-draw] Re-enable two disabled tests
Behdad Esfahbod 8b4f4290 2022-02-03T01:14:47 [draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape() To be implemented in hb-ft.
Behdad Esfahbod 2bed4f46 2022-02-02T21:42:48 [draw] Fix draw signatures
Behdad Esfahbod 08e10966 2022-02-02T19:01:42 [draw-fuzzer] Fix signatures
Behdad Esfahbod e0ac6c58 2022-02-02T18:57:12 Remove remaining traces of HB_EXPERIMENTAL_API
Behdad Esfahbod 5207ce82 2022-02-02T18:54:10 [draw] Enable draw tests Disable two failing ones.
Behdad Esfahbod 157caf25 2022-02-02T18:46:34 [test-draw] Fix compiler warning
Behdad Esfahbod b263371b 2022-02-12T15:06:47 Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY
Behdad Esfahbod b3f8288c 2022-02-12T14:52:42 [test/subset] Don't hash files without reason Fixes https://github.com/harfbuzz/harfbuzz/issues/3118#issuecomment-894021518
Behdad Esfahbod af407dd2 2022-02-12T13:53:16 Add a fuzzer font
Garret Rieger 670ef070 2022-02-11T16:01:33 [subset] Change subset plan create to be or_fail.
Garret Rieger ae8d373b 2022-02-11T14:54:23 [subset] add subset plan reference, set/get user data functions.
Garret Rieger b65e48a7 2022-02-11T12:44:58 [subset] Add subset plan to public API. Add the ability to create a subset plan which an be used to gather info on things like glyph mappings in the final subset. The plan can then be passed on to perform the subsetting operation.
Alexis King 81754a5a 2022-02-09T12:00:47 [ot-math] Add hb_ot_math_get_glyph_kernings closes #3396
Alexis King 1bc4bad7 2022-02-07T19:57:25 [ot-tag] Add HB_SCRIPT_MATH (Zmth) and map it to OT ‘math’ tag The ISO 15924 code for mathematical notation is ‘Zmth’, but the OpenType script is ‘math’.
Behdad Esfahbod 7657bdd9 2022-02-04T19:16:54 Revert "Fix failing Mac test for previous commit" This reverts commit 070e30e6daba74fe62ea486dc97cd01a79f90541.
Behdad Esfahbod 44da4e2a 2022-02-04T19:16:47 Revert "One more fix" This reverts commit cab943a015b1a3d4cd72f0c5dc4ff79e0aefa06f.
Behdad Esfahbod 88798ee8 2022-02-04T18:59:50 [GPOS] Disable split-kerning Fixes https://github.com/harfbuzz/harfbuzz/issues/3408 Reverts https://github.com/harfbuzz/harfbuzz/pull/3235 Fixes https://github.com/harfbuzz/harfbuzz/pull/3235#issuecomment-1029814978
Garret Rieger 4e2f409b 2022-01-31T12:20:32 [subset] Don't hold references to members of the active_glyph_stack. These references may get invalidated after the vector for the stack is resized. Fixes: https://oss-fuzz.com/testcase-detail/5422577634377728
Garret Rieger bc899650 2022-01-28T13:54:10 [subset] Fix for issue #3397. cur_intersected_glyphs gets modified during recursion leading to incorrect filtering of sub tables in some cases. So don't use cur_intersected_glyphs. Instead just add an additional entry onto the parent_active_glyphs () stack. Additionaly expands NotoNastaliqUrdu tests to include coverage of the issue from #3397.
Behdad Esfahbod 61856359 2022-01-28T14:07:29 [fuzz] Disable verification for now.
Behdad Esfahbod 6596e42d 2022-01-28T13:55:24 [fuzz] Verify shape results
Behdad Esfahbod 909e34f6 2022-01-22T09:44:13 [unsafe-to-concat] Adjust Arabic-joining start boundary condition more
Behdad Esfahbod cab943a0 2022-01-20T14:32:30 One more fix
Behdad Esfahbod 070e30e6 2022-01-20T14:31:31 Fix failing Mac test for previous commit
Behdad Esfahbod 84aa1a83 2022-01-20T13:18:19 [PairPos] Split GPOS kerning to both sides (#3235)
Khaled Hosny 1522015b 2022-01-19T23:13:50 [test] Add --single-par to more places in hb-aots-tester [ci skip]
Behdad Esfahbod 7e160dc3 2022-01-19T09:26:53 [gpos] Fix unsafe-to-break of mark-attachment This was undetected because most of the time marks were in same cluster of their base already. Fixes https://github.com/harfbuzz/harfbuzz/issues/3093
Behdad Esfahbod c8195dbc 2022-01-19T06:56:05 Merge pull request #3365 from harfbuzz/gdef-fix GDEF fix
Simon Cozens 28264231 2020-07-08T14:39:31 Test for #2140
Simon Cozens fc5354c5 2020-07-08T14:16:00 Add test for #2516
luz paz e2e30506 2022-01-16T07:00:53 Fix various typos Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
Garret Rieger 87496bf6 2022-01-13T11:03:45 [subset] fix fuzzer timeout if visisted_paint goes into error.
Garret Rieger 067f90a8 2021-12-14T16:24:38 [subset] Fix for fuzzer timeout. Fixes https://oss-fuzz.com/testcase-detail/5549945449480192 In prune_langsys: move LangSys visited check up before any work is done for a LangSys. In this particular case the compare() method is responsible for the majority of the time spent and wasn't being guarded with a visisted check.
Garret Rieger c4573c2e 2021-12-14T14:49:15 [repacker] don't infinite loop if visited or roots is in error. Fixes https://oss-fuzz.com/testcase-detail/5205038086094848
Behdad Esfahbod 23159084 2021-12-10T15:00:16 [morx] Reverse graphemese, not whole buffer Fixes https://github.com/harfbuzz/harfbuzz/issues/3314 Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
Qunxin Liu 706014f6 2021-12-01T20:20:12 [subset] (Chain)ContextSubst glyph_closure fix - When pos_glyphs is empty, use current full glyphs set as input for subsequent recursive closure process - Also increase max_lookup_visit_count to 35000 cause a real font file hit previous limit 20000 and some lookups are dropped unexpectedly
Qunxin Liu 51655a07 2021-12-05T19:27:57 [subset] COLR : only include glyphs after COLR closure
Qunxin Liu 74b46b29 2021-12-02T19:50:16 [subset] MATH: don't serialize coverage table when iterator is empty when iterator is empty, just set coverage offset to 0. serialize() in coverage will at lease write out a 16-bit format header.
Khaled Hosny 6c81cd95 2021-12-01T19:29:34 [tests] Add tests for platform shapers Fixes https://github.com/harfbuzz/harfbuzz/issues/3115
Garret Rieger 9121ed0c 2021-11-30T13:45:22 [subset] Improve sharing of Ligature subtables. Ligature subtables use virtual links to enforce an ordering constraint between the subtables and the coverage table. Unfortunately this has the sideeffect of prevent the subtables from being shared by another Ligature with a different coverage table since object equality compares all links real and virtual. This change makes virtual links stored separately from real links and updates the equality check to only check real links. If an object is de-duped any virtual links it has are merged into the object that replaces it.
Garret Rieger 95329081 2021-11-26T16:18:42 [subset] further optimize cmap4 packing.
Garret Rieger 59914382 2021-11-26T14:19:39 [subset] Don't pad glyphs when using long loca.
Garret Rieger d9660fd5 2021-11-25T18:15:35 [subset] Make cmap4 packing more optimal. The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual.
Behdad Esfahbod 720ab088 2021-11-25T11:49:16 [util] Add --single-par Use it in aots tests Fixes https://github.com/harfbuzz/harfbuzz/issues/3129 Related https://github.com/harfbuzz/harfbuzz/issues/3298
Qunxin Liu 903a6bae 2021-11-15T19:58:33 [subset] layout_features filtering fix we should not use get_size (), which returns length * item_size
Khaled Hosny 69d8f27c 2021-11-20T17:09:15 [meson] Require 0.55.0 We implicitly require it for building ragel subproject. This new version requirement should satisfied in both Fedora 33 and Debian bullseye, and not be too cutting edge for us.
Qunxin Liu 84dc4e85 2021-11-08T09:36:31 [subset] avoid writing out duplicate extra glyph names in post table Add check for possible duplicate with other name index