Commit Graph

9934 Commits

Author SHA1 Message Date
Behdad Esfahbod 90d0200ac7 [simd] Use set1 operator 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 997809ea4a [simd] Blend 9ary search with bsearch 2019-12-11 10:52:14 -06:00
Behdad Esfahbod bc25a5694c [simd] Enable ksearch for (non-range) GlyphID search 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 38c84b2246 [simd] Reduce one vector op 2019-12-11 10:52:14 -06:00
Behdad Esfahbod b7d01281d2 [simd] Add disabled code for preferring bsearch for shorter lists 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 41a7ec0697 [simd] Fix build 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 6013ead1f5 [simd] Use faster byteswap, using shuffle 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 343da74ec6 [simd] Add HB_SIMD_VERIFY 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 6bba9d876a [simd] Implement 9ary search for RangeRecord
Is good on correctness.  Have not measured performance yet.

Part of https://github.com/harfbuzz/harfbuzz/issues/566
2019-12-11 10:52:14 -06:00
Behdad Esfahbod 291d30b1ff [simd] Comments 2019-12-11 10:52:14 -06:00
Behdad Esfahbod c799742ac1 [simd] Enable GCC avx2 target if HB_SIMD_AVX2 is defined 2019-12-11 10:52:14 -06:00
Behdad Esfahbod 0033641189 [simd] Add general design and structure
Part of https://github.com/harfbuzz/harfbuzz/issues/566
2019-12-11 10:52:14 -06:00
Daeren 4ef597e170 Fix unary minus operator applied to unsigned int
Applying unary minus operator to unsigned int causes the following error on MSVS: error C4146
This patch fixes the error.
2019-12-11 09:19:28 -06:00
Daeren 1770493cf5 Fix unary minus operator applied to unsigned int
Applying unary minus operator to unsigned int causes the following error on MSVS: error C4146
This patch fixes the error.
2019-12-11 09:19:19 -06:00
Behdad Esfahbod a061e47fcc Change a few HB_INTERNAL static methods to static inline 2019-12-10 13:31:50 -06:00
Behdad Esfahbod dd3972a364 [GSUB] Simplify Extension is_reverse()
We don't allow extension lookups to chain to another extension lookup.
Simplify code for that.
2019-12-10 13:28:39 -06:00
Behdad Esfahbod 858b627984 [machinery] Remove CastR<>() 2019-12-10 13:18:32 -06:00
Behdad Esfahbod b84ceb2fcf [machinery] Remove CastP 2019-12-10 13:02:48 -06:00
Behdad Esfahbod 85574ec287 [machinery] Minor 2019-12-10 12:52:32 -06:00
Behdad Esfahbod e101a67257 [perf] Add texts/fa-thelittleprince.txt 2019-12-10 12:46:14 -06:00
Behdad Esfahbod 2c781a6701 [perf] More rename 2019-12-10 12:43:42 -06:00
Behdad Esfahbod d703392afe [perf] Adjust text/fa-monologue.txt 2019-12-10 12:42:29 -06:00
Behdad Esfahbod 19d1b9d4f3 [perf] Renames 2019-12-10 12:39:01 -06:00
Behdad Esfahbod 6a60ca117c [algs] Fold last other bsearch() in
Now truly have only one bsearch implementation.
2019-12-10 12:32:59 -06:00
Ebrahim Byagowi 53dc8d944f
Add initial shaping performance test and profiler 2019-12-10 21:53:30 +03:30
Behdad Esfahbod 39afe608b4 [algs] Fold one more custom bsearch() in
One more to go.
2019-12-10 12:13:40 -06:00
Behdad Esfahbod b1dc676eaa [algs] Reduce one more bsearch() impl
Ouch, there were three more left.  Down one.  Two to go.
2019-12-10 12:13:40 -06:00
Ebrahim Byagowi 6f76c325e5
[test] Update 10.15 results
Turned out only SFNS, which wasn't available in 10.14 anyway, needed an update
See https://crbug.com/1005969#c37 also
2019-12-10 21:43:11 +03:30
Ebrahim Byagowi 2241a676ba
[test] Add macOS 10.15 related fonts
breaks the test and 10.15 bot, will add the fix in next commit, also adds a broken test for f47cbade1
2019-12-10 19:50:34 +03:30
Ebrahim Byagowi f3de3b6d3d
[ci] fix macOS 10.15 bot
Xcode 11.3.0 image is supposed to work per https://circleci.com/docs/2.0/testing-ios/
but isn't https://circleci.com/gh/harfbuzz/harfbuzz/118693 AFAICS

Let's try Xcode 11.2.1 image
2019-12-10 16:37:48 +03:30
Ebrahim Byagowi 49434bdd49
[ci] Add a macOS 10.15 bot
Should update macos.tests with the fonts, for now
2019-12-10 16:28:04 +03:30
Behdad Esfahbod f47cbade18 [aat] Adjust fallback positioning logic
Fixes https://github.com/harfbuzz/harfbuzz/issues/1528

Wish could add a test...

$ ./hb-view --font-file Thonburi.ttc --unicodes U+0E17,U+0E35,U+0E48,U+0E4A --shaper ot

                   ▃

         ▂▃▃▄▃▂▁▊        ▃  ▃       ▎
      ▗   ▅▆▆▅          ▌ ▆▆▅▆▙ ▌▗
     ▗                  ▙ ▂  ▎▗   ▟
     ▅▆▆▆▇▇▇▇▇▇▇▆▆▅▄     ▇▅▅▅ ▙▆▇
    ▁▁▂▁       ▁▁
         ▖                    ▖ ▂▂
  ▉   ▁        ▆▆        ▌   ▆  ▙▄ ▁▁
   ▙            ▉      ▃▖           ▟
      ▊         ▉      ▅▟           ▗▄
      ▊         ▉     ▗ ▏           ▇▆
      ▊    ▟    ▉      ▆             ▖
      ▊         ▉        ▌        ▂
      ▊   ▏     ▉           ▌ ▗   ▄▟
      ▊                        ▆
2019-12-09 18:11:04 -06:00
Behdad Esfahbod fa7edf87c9 [bsearch] Massage API some more 2019-12-09 17:51:41 -06:00
Behdad Esfahbod 70aa5071d8 [algs] Adjust return value of hb_ctz(0) to be 32 instead of 0 2019-12-09 17:48:10 -06:00
Behdad Esfahbod eefb78f674 Minor 2019-12-09 17:46:56 -06:00
Behdad Esfahbod 9fb030585a Rename start/end to first/last in RangeRecord
Because that's what they are.
2019-12-09 17:46:08 -06:00
Evgeniy Reizner 8ac4ba14dc Fix typo in TESTING.md (#2066) 2019-12-09 20:28:28 +03:30
Ebrahim Byagowi 9b1d5c4a59
[number] fix where strtod_l not available 2019-12-09 12:29:28 +03:30
Ebrahim Byagowi 5c8f960289
[number] minor, include the renamed header 2019-12-09 10:48:43 +03:30
Behdad Esfahbod 48eef2724c [algs/array] Consolidate the last two bsearch implementations!
Yay!  Seems to work.
2019-12-06 05:04:11 +00:00
Behdad Esfahbod ed35dea8c0 Fourth try... sighs 2019-12-06 04:37:11 +00:00
Behdad Esfahbod 9168310bb4 Fix build, third times... 2019-12-06 04:28:06 +00:00
Behdad Esfahbod 34f5cc2cc8 Second try at fixing build 2019-12-06 04:09:33 +00:00
Behdad Esfahbod 14ce5ab0b7 First try at fixing build errors 2019-12-06 03:54:46 +00:00
Behdad Esfahbod 2274270c6a [algs] Streamline bsearch some more 2019-12-06 03:42:21 +00:00
Behdad Esfahbod bd55d4b49f [algs] Streamline bsearch() API more towards hb_array_t::bsearch_impl()
Preparing to merge the two finally!
2019-12-06 03:35:24 +00:00
Behdad Esfahbod fd6df520a1 [array] Isolate bsearch implementation more 2019-12-06 03:01:34 +00:00
Behdad Esfahbod 06d3c2019f [array] Simplify bfind() positioning
I had copied the old scheme from fontconfig's fccharset.c.  I just
convinced myself that this change is correct and produces exact
same results.  But I also am skeptical.  Anyone else feel like
convincing themselves as well please?
2019-12-06 02:52:54 +00:00
Ebrahim Byagowi d67ba649a3 Rename hb_array_t::in_range to hb_array_t::check_range 2019-12-06 02:27:23 +00:00
Ebrahim Byagowi 72d83a0280 Make hb_array_t::in_range similar to hb_sanitize_context_t::check_range 2019-12-06 02:27:23 +00:00