Commit Graph

13131 Commits

Author SHA1 Message Date
Behdad Esfahbod 9ad300360d [perf/perf-draw] Port to new draw API 2022-04-21 11:16:12 -06:00
Behdad Esfahbod 23c7c305bb [perf/benchmark-map] Adjust range specifiers 2022-04-21 11:16:12 -06:00
Garret Rieger 2b03bcedef [perf] Cleanup range specifiers in set benchmark. 2022-04-21 11:16:12 -06:00
Garret Rieger 178c67003f [perf] Rework set insert test to not use pause/resume timing.
These have high overhead which affect the result. Also change set iteration to time the individual iteration operation.
2022-04-21 11:16:12 -06:00
Garret Rieger fbd183d0eb [perf] Start writing subset benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger fc2027bf07 [perf] Add map benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger 057ec2c953 [perf] Add set ieration and lookup benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger 40975fc3c2 [perf] Add some instructions for building/running benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger cef64b947d [perf] Add the start of a benchmark for set operations. 2022-04-21 11:16:12 -06:00
Garret Rieger e8b40c7a09 Upgrade google benchmark dep to latest version to fix build failure. 2022-04-21 11:16:12 -06:00
Behdad Esfahbod 8575a8f50c Add _hb_codepoint_is_regional_indicator() 2022-04-21 11:15:34 -06:00
Behdad Esfahbod c1ee7d28f3 Typo
Co-authored-by: Khaled Hosny <khaled@aliftype.com>
2022-04-21 11:15:34 -06:00
Behdad Esfahbod 4d48fae4f2 Enforce Regional_Indicators native direction to LTR
And undo the morx direction reversal change introduced in
https://github.com/harfbuzz/harfbuzz/pull/3315
23159084b4

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
2022-04-21 11:15:34 -06:00
Behdad Esfahbod a85461b9b6 Add link to Context LookupFlag discussion
https://github.com/harfbuzz/harfbuzz/discussions/3538
2022-04-20 12:13:40 -06:00
Simon Cozens af9eb6850a Updated version 2022-04-20 12:04:40 -06:00
Simon Cozens 91e2f3b92a Add cheat sheet 2022-04-20 12:04:40 -06:00
Simon Cozens 9e59c401e0 [myanmar] Reword confusing comment about masks 2022-04-20 11:25:15 -06:00
Khaled Hosny 383c11d756 Add test for ligature-id allocation
Test for the fix in 7bdc20ec81 for the
regression from 43be5ba442.
2022-04-19 16:33:57 +02:00
Behdad Esfahbod 903cf8cfce [check-static-inits] Unbreak test 2022-04-13 15:31:51 -06:00
Behdad Esfahbod ec925ece05 [khmer] Reinstate a pause after basic features
This was removed as part of 044d7a06db,
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
2022-04-13 11:54:08 -06:00
Cosimo Lupo cc0f1f3b60 Expose --passthrough-tables option to hb-subset CLI tool 2022-04-12 10:40:46 -06:00
Cosimo Lupo 53eeeab0e3 CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++ 2022-04-06 14:20:59 +02:00
Khaled Hosny 88bb746b42 [blob] Return nullptr from create_from_file_or_fail
Fix a couple of cases where it would return empty blob, possibly
missed in bdfed8f113.
2022-04-01 02:38:23 +02:00
Behdad Esfahbod b179d357a9 [main] Fix unused-variable warnings 2022-03-30 12:59:52 -06:00
Khaled Hosny 9d5730b958 4.2.0 2022-03-30 15:08:34 +02:00
David Corbett ecb3e7ec92 Enable indic-feature-order.tests 2022-03-28 18:02:36 -06:00
Behdad Esfahbod 044d7a06db [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
2022-03-28 17:39:54 -06:00
Behdad Esfahbod 61486746d3 Revert "[indic] Clear syllables before presentation features"
This reverts commit 90f09b1e87.

This regressed Indic shaping. See:
https://github.com/harfbuzz/harfbuzz/issues/3513
2022-03-28 15:57:07 -06:00
Behdad Esfahbod 18c0290cf5 Add test for previous commit 2022-03-28 13:24:16 -06:00
Behdad Esfahbod e8f3397f4e [matcher] Simplify syllable initialization 2022-03-28 13:23:37 -06:00
Behdad Esfahbod 94f5c630fc [aat] Remove morx deleted-glyphs before GPOS processing
Fixes new Apple Color Emoji glyphs sequences rendering.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
2022-03-28 13:10:56 -06:00
David Corbett 0dcbdbde9c [indic] Categorize U+0D04 as Consonant_Placeholder 2022-03-26 21:02:08 -06:00
Behdad Esfahbod a665e29ed7 [use] Avoid O(n^2) in the machine
Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
2022-03-25 15:17:55 -06:00
Behdad Esfahbod ccd9161bfd [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=
2022-03-25 15:14:40 -06:00
Behdad Esfahbod fa15fc44bb [subset] Require exact harfbuzz version in .pc file
Fixes https://github.com/harfbuzz/harfbuzz/issues/1446
2022-03-25 15:00:36 -06:00
Behdad Esfahbod b619b05f39 [subset] Adjust name in .pc file 2022-03-25 15:00:36 -06:00
Khaled Hosny 1229078660 [set] Fix annotation 2022-03-25 22:41:25 +02:00
Behdad Esfahbod 3a78cf92c8 [gvar] Fix decoding of private vs shared points
Fixes https://github.com/harfbuzz/harfbuzz/issues/3506
2022-03-25 13:25:28 -06:00
Behdad Esfahbod a02fb4a0dc [glyf] Don't bail rendering glyf even if gvar failed
Part of https://github.com/harfbuzz/harfbuzz/issues/3506
2022-03-25 13:25:28 -06:00
Behdad Esfahbod 0a38878549 [set] Minor touch-up on the previous commit 2022-03-25 09:42:36 -06:00
Behdad Esfahbod a003fc0df1 Remove accidental files 2022-03-25 09:37:50 -06:00
Andrew John 0182988229
[set] Add call to export set contents to an array. (#3500)
[set] Add hb_set_next_many.
2022-03-25 09:36:44 -06:00
aneejit1 a55a42444d
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
2022-03-24 14:16:41 -06:00
Behdad Esfahbod bf2a845a17 [ot-layout] Comment 2022-03-24 13:09:53 -06:00
Behdad Esfahbod a792e16e48 [ot-layout] Change max nesting level of lookups from 6 to 64 2022-03-24 13:08:51 -06:00
Khaled Hosny f76ffa8374 [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.
2022-03-24 06:48:12 +02:00
Khaled Hosny 38575c9042
Merge pull request #3504 from fanc999/dist-plat-shaper-tests
test: Dist the platform shaper test data
2022-03-24 05:51:22 +02:00
Chun-wei Fan eb44d64bc2 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.
2022-03-24 11:25:50 +08:00
Garret Rieger 444c2375a1 [reorg] Use relative includes for hb-ot-layout-gsubgpos.hh 2022-03-23 18:05:24 -06:00
Garret Rieger b342adeb96 [reorg] Move GSUB into OT::Layout::GSUB namespace. 2022-03-23 18:05:24 -06:00