Commit Graph

13661 Commits

Author SHA1 Message Date
Garret Rieger a424a92ce5 [subset] s/void */intptr_t. 2022-04-29 22:14:03 +00:00
Garret Rieger aad67f5629 [subset] cache results of collect_unicodes. 2022-04-29 22:05:34 +00:00
Behdad Esfahbod 35681b3edb [benchmark-shape] Break lines and shape separately 2022-04-29 16:02:55 -06:00
Behdad Esfahbod be1ac9c572 [benchmark-shape] Data-driven test sets 2022-04-29 15:55:19 -06:00
Behdad Esfahbod ae3efc6424 [perf] Spawn off benchmark-shape from perf runner 2022-04-29 15:37:11 -06:00
Behdad Esfahbod 5f43ce825a [benchmark-set] Split SetLookup into an ordered and random version 2022-04-29 13:39:15 -06:00
Behdad Esfahbod ae9c7b861b [benchmark-set] At least increase needle by one in lookup benchmark 2022-04-29 13:39:04 -06:00
Behdad Esfahbod 68a9b83d15 [benchmark-set] At least increase needle by one in lookup benchmark 2022-04-29 13:28:07 -06:00
Garret Rieger b4236b7de6 [subset] Optimize Cmap4 collect_unicodes.
Use set add_range() instead of individual add() calls.
2022-04-29 19:22:00 +00:00
Behdad Esfahbod 5866ec05f5 [benchmark-map] Remove rand() overhead from benchmark 2022-04-29 13:14:41 -06:00
Behdad Esfahbod 067225a86d [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...
2022-04-29 13:04:36 -06:00
Behdad Esfahbod c283e41ce3 [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.
2022-04-29 12:45:48 -06:00
Behdad Esfahbod dd005911b9 [benchmark-set] Reduce lookup benchmark overhead
Turnsout 90% was overhead...  Now lookup is in the 4ns ballpark.
2022-04-29 12:23:53 -06:00
Behdad Esfahbod 4de5352a3d [test] Add test
From https://github.com/harfbuzz/harfbuzz/issues/3545

Dropped the CFF table.
2022-04-28 14:40:33 -06:00
Behdad Esfahbod d8292b8446 [CFF] Fix parsing of empty Index
https://github.com/harfbuzz/harfbuzz/issues/3545#issuecomment-1111047941
2022-04-27 12:38:35 -06:00
David Corbett 6454cec085 [USE] Classify U+10A38 as CONS_MOD_BELOW 2022-04-24 11:41:32 -06:00
Khaled Hosny f7aee78e90 4.2.1 2022-04-24 05:47:57 +02:00
Behdad Esfahbod 6695bf0560 [gsubgpos] Remove wrong condition in Context application
Fixes https://github.com/harfbuzz/harfbuzz/issues/3545
2022-04-22 13:48:41 -06:00
Khaled Hosny 038203de61 Remove ABI tracker link
Seems dead, no update since 2020.
2022-04-22 02:22:29 +02:00
Khaled Hosny c8810277bb Update Coverity settings 2022-04-22 02:22:29 +02:00
Khaled Hosny b2d317339a Update codacy badge 2022-04-22 02:22:29 +02:00
Khaled Hosny 6a38c83d4f Remove coveralls badge
We stopped pushing coveralls builds since 2020.
2022-04-22 02:22:29 +02:00
Khaled Hosny 392f201047 [ci] Pin gcovr to version 5.0
Fixes https://github.com/harfbuzz/harfbuzz/issues/3540
2022-04-21 13:59:08 -06:00
Behdad Esfahbod 4c177de1f5 [perf] Err. Remove HUGE font from perf suite 2022-04-21 13:51:37 -06:00
Behdad Esfahbod 7f7ebdc6bb [perf] Reuse a font 2022-04-21 11:25:12 -06:00
Garret Rieger 85142f3247 [perf] Add missing ninja command in profiling instructions. 2022-04-21 11:16:12 -06:00
Garret Rieger a5cf917892 [perf] Update readme with profiling instructions. 2022-04-21 11:16:12 -06:00
Behdad Esfahbod df3ecea773 [perf/perf] Fix run when ttfparser is not available 2022-04-21 11:16:12 -06:00
Garret Rieger f48647e589 In perf/README update meson command line to set release build type. 2022-04-21 11:16:12 -06:00
Garret Rieger b3ce96da3b [perf] Add several more fonts to the subset benchmarks. 2022-04-21 11:16:12 -06:00
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