Attach (recommended) or Link to PDF file here:
[298865.pdf](https://github.com/mozilla/pdf.js/files/2753236/298865.pdf)


Configuration:
- Web browser and its version:chrome 71.0.3578.98
- Operating system and its version:mac os 10.12.6
- PDF.js version:I use online demo in github
- Is a browser extension:no

Steps to reproduce the problem:
1. search "中华" or "电力" or so on,the highlight position is not right

What is the expected behavior? (add screenshot)
![image](https://user-images.githubusercontent.com/10000986/51087378-7eff5100-178d-11e9-991a-005d77b82f31.png)

What went wrong? (add screenshot)
![image](https://user-images.githubusercontent.com/10000986/51087374-6ee77180-178d-11e9-9707-281924f95fd0.png)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
https://mozilla.github.io/pdf.js/web/viewer.html
passwordIncorrectLoadingTask.onPassword = function (callback, reason) {
          if (reason === PasswordResponses.INCORRECT_PASSWORD) {
            throw new Error("Incorrect password");
          }
          
          expect(false).toEqual(true);
        };
        const result2 = passwordIncorrectLoadingTask.promise.then(
          function () {
            
            expect(false).toEqual(true);
            return Promise.reject(new Error("loadingTask should be rejected"));
          },
          function (reason) {
            expect(reason instanceof PasswordException).toEqual(true);
            expect(reason.code).toEqual(PasswordResponses.INCORRECT_PASSWORD);
            return passwordIncorrectLoadingTask.destroy();
          }
        );
        await Promise.all([result1, result2]);
      }
    );
    it("creates pdf doc from empty typed array", async function () {
      const loadingTask = getDocument(new Uint8Array(0));
      expect(loadingTask instanceof PDFDocumentLoadingTask).toEqual(true);
      try {
        await loadingTask.promise;
        
        expect(false).toEqual(true);
      } catch (reason) {