test


Log

Author Commit Date CI Message
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
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
Qunxin Liu ca418cac 2021-11-17T16:42:08 [subset] keep features that have FeatureParams and the tag is "size"
Qunxin Liu e88fc41e 2021-11-18T16:53:36 [subset] inputSequence could be empty, change the sanity check
Garret Rieger ace98cc6 2021-11-08T15:47:56 [subset] Only sanitize recursion depth in COLR.
Garret Rieger f51b48c8 2021-11-02T16:16:52 [subset] Fix fuzzer found memory leak. Happens because an insert into a map with an invalid key reports successful, but this causes the set being inserted to be lost.
Qunxin Liu 540f19b6 2021-10-29T17:11:53 [subset] fix bug in (Chain)ContextFormat2 Only keep rulesets for glyphs class numbers that survived in coverage
Garret Rieger e260eeb9 2021-11-02T15:31:32 [subset] Update test goldens for gdef.glyphset.
Qunxin Liu 60e20364 2021-11-02T15:02:36 [subset] use glyphset_gsub instead of glyphset for GDEF
Garret Rieger e39647c0 2021-11-02T15:25:05 [subset] update subset goldens to fix tests.
Qunxin Liu 0a7563a5 2021-11-01T14:56:14 [subset] fuzzer fix: https://oss-fuzz.com/testcase?key=6254792024915968 Make sure input is valid, each gid has a corresponding offset value in the map
Qunxin Liu 364b6b39 2021-10-31T14:38:20 [subset] Don't assume FeatureList is sorted Though the spec said FeatureRecords are sorted alphabetically by feature tag, there're font files with unsorted FeatureList. And harfbuzz is not able to subset these files correctly because we use binary search in finding featureRecords when collecting lookups. Also find_duplicate_features needs to be updated to handle this.
Garret Rieger 49c93924 2021-09-24T09:28:10 [subset] During LigatureSubstFormat1 subsetting always place Coverage last. In Windows 7 on Chrome if the coverage table comes before any of the LigatureSet or Ligature subtables the font won't load. This changes the packing order to always place the Coverage table last. Virtual links are used to ensure the repacker maintains the desired ordering. Coincidentally fontTools also does the same thing (https://github.com/fonttools/fonttools/blob/a3f988fbf621142d7d9b3e68a69725b88f358869/Lib/fontTools/ttLib/tables/otTables.py#L1137) to reduce overflows during packing.
Matthias Clasen 8dc86d07 2021-11-01T19:57:11 Add a test font scale rounding behavior This test verifies the fix for https://github.com/harfbuzz/harfbuzz/issues/3274
Qunxin Liu 85deddb1 2021-10-27T14:36:02 [subset] fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40406
Behdad Esfahbod 42626369 2021-10-23T13:18:22 Merge pull request #3248 from googlefonts/connected_components [repacker] Keep connected subgraphs in the same space.
Qunxin Liu 8c583db9 2021-10-02T20:32:30 [subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap Also fix issues in struct PaintTransform definition
David Corbett 8eaee2f8 2021-10-07T20:10:31 [USE] Only skip default ignorables within CCSes
Garret Rieger 79937d24 2021-10-05T12:53:21 [repacker] Add repacker test that requires space splitting.
Khaled Hosny bb57df7a 2021-10-05T15:40:30 [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978
Khaled Hosny 16245503 2021-10-05T15:35:17 [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/3244
Qunxin Liu 794b00db 2021-09-27T17:21:16 [subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/6616166961905664
Garret Rieger d5beb96e 2021-09-09T10:40:08 [repacker] add repacker isolation test on real font.
Qunxin Liu ca7b9dae 2021-09-20T14:42:51 [subset] subset MATH table
Garret Rieger c2cc566c 2021-09-22T14:15:55 [subset] Fix subset_offset_array adding unused space to serializer. ArrayOf.serialize_append allocates space for the new item, but ArrayOf.pop() does not recover the allocated space. So in the case where the revert path was entered the extra space added by serialize_append gets left in the serialization buffer. This moves the snapshot to before ArrayOf.serialize_append is called so that revert cleans up the buffer extend.
Qunxin Liu 8c5c8174 2021-09-12T20:16:30 [subset] fix find_duplicate_features We should check each feature against all other features with the same tag for duplicates.
Garret Rieger 74f96d9d 2021-09-17T13:46:07 [repacker] fix heap use after free in repacker. Don't store a reference to the link in overflow records as the link object may be freed if the sorted graph vector is resized.
Garret Rieger d700646c 2021-09-16T11:23:09 [subset] In preperation for 3.0.0 release remove legacy subsetting api methods.
David Corbett a0101a31 2021-09-14T18:38:50 [Unicode 14] Add tests
Khaled Hosny 4d9b7de0 2021-09-11T00:43:43 [style] Prepare for release
Behdad Esfahbod 201cbe3c 2021-09-09T11:09:46 [style] Rename HB_STYLE_TAG_SLANT to HB_STYLE_TAG_SLANT_ANGLE