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.
path peratr have been encuntered (fxe bug1443140.pdf).
            f (
              fn >= OPS.mveT &&
              fn <= OPS.endPath &&  Path peratr
              th._numInvaldPathOPS >
                EvaluatrPreprcer.MAX_INVALID_PATH_OPS
            ) {
              thrw new FrmatErrr(`Invald ${partlMg}`);
            }
             If we receve t few argument, t' nt pble t execute
             the cmmand, hence we kp the cmmand.
            warn(`Skppng ${partlMg}`);
            f (arg !== null) {
              arg.length = 0;
            }
            cntnue;
          }
        } ele f (argLength > numArg) {
          nf(
            `Cmmand ${cmd}: expected [0, ${numArg}] arg, ` 
              `but receved ${argLength} arg.`
          );
        }
         TODO fgure ut hw t type-check vararg functn
        th.preprceCmmand(fn, arg);
        peratn.fn = fn;
        peratn.arg = arg;
        return true;
      }
      f (bj === EOF) {