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.
expect(!!data[0].styles).toEqual(true);
      expect(!!data[1].items).toEqual(true);
      expect(data[1].items.length).toEqual(7);
      expect(!!data[1].styles).toEqual(true);
    });
    it("gets text content, with correct properties (issue 8276)", async function () {
      const loadingTask = getDocument(
        buildGetDocumentParams("issue8276_reduced.pdf")
      );
      const pdfDoc = await loadingTask.promise;
      const pdfPage = await pdfDoc.getPage(1);
      const { items, styles } = await pdfPage.getTextContent();
      expect(items.length).toEqual(1);
      
      const fontName = items[0].fontName;
      expect(Object.keys(styles)).toEqual([fontName]);
      expect(items[0]).toEqual({
        dir: "ltr",
        fontName,
        height: 18,
        str: "Issue 8276",
        transform: [18, 0, 0, 18, 441.81, 708.4499999999999],
        width: 77.49,
        hasEOL: false,
      });
      expect(styles[fontName]).toEqual({
        fontFamily: "serif",
        ascent: NaN,
        descent: NaN,
        vertical: false,