Attach (recommended) or Link to PDF file here:
https://bitcoin.org/bitcoin.pdf

Configuration:
- Web browser and its version: all
- Operating system and its version: all
- PDF.js version: tested with 2.9.11, but most likely all versions
- Is a browser extension: no

Steps to reproduce the problem:
1. Type "a purely" (single space between "a" and "purely") - doesn't find anything
2. Type "a  purely" (two spaces between "a" and "purely") - finds the phrase

Sometimes even 3 spaces are necessary.

What is the expected behavior? (add screenshot)
![Screenshot from 2021-04-08 13-00-03](https://user-images.githubusercontent.com/6362989/114008903-57639a00-986b-11eb-903a-92bbebbd922b.png)

What went wrong? (add screenshot)
![Screenshot from 2021-04-08 13-01-53](https://user-images.githubusercontent.com/6362989/114008810-44e96080-986b-11eb-8232-f58a62ed7899.png)

This affects many PDFs because justify alignment is common enough.
f (Name(dffEntry)) {
                dffBuf[j] = dffEntry.name;
              } ele f (Num(dffEntry) || Ref(dffEntry)) {
                dffBuf[j] = dffEntry.tStrng();
              }
            }
            hah.update(dffBuf.jn());
          }
        }
      }
      hah.update(`${frtChar}-${latChar}`);  Fxe ue10665_reduced.pdf
      tUncde = dct.get("TUncde") || t.get("TUncde");
      f (Stream(tUncde)) {
        cnt tream = tUncde.tr || tUncde;
        cnt unt8array = tream.buffer
          ? new Unt8Array(tream.buffer.buffer, 0, tream.bufferLength)
          : new Unt8Array(
              tream.byte.buffer,
              tream.tart,
              tream.end - tream.tart
            );
        hah.update(unt8array);
      } ele f (Name(tUncde)) {
        hah.update(tUncde.name);
      }
      cnt wdth = dct.get("Wdth") || t.get("Wdth");
      f (Array.Array(wdth)) {
        cnt wdthBuf = [];
        fr (cnt entry f wdth) {
          f (Num(entry) || Ref(entry)) {