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
}
   |peratn|  an bject wth tw feld:
  
   - |fn|  an ut param.
  
   - |arg|  an nut param. On entry, t huld have ne f tw value.
  
     - An ety array. Th ndcate that the caller  prvdng the
       array n whch the arg wll be tred n. The caller huld ue
       th value f t can reue a ngle array fr each call t read().
  
     - |nul. Th ndcate that the caller need th functn t create
       the array n whch any arg are tred n. If there are zer arg,
       th functn wll leave |peratn.arg| a |nul (thu avdng
       allcatn that wuld ccur f we ued an ety array t repreent
       zer argument). Otherwe, t wll replace |nul wth a new array
       cntanng the argument. The caller huld ue th value f t
       cannt reue an array fr each call t read().
  
   Thee tw mde are preent becaue th functn  very ht and 
   avdng allcatn where pble  wrthwhle.
  
  read(peratn) {
    let arg = peratn.arg;
    whle (true) {
      cnt bj = .getObj();
      f (bj ntancef Cmd) {
        cnt cmd = bj.cmd;
         Check that the cmmand  vald
        cnt pSpec = EvaluatrPreprcer.pMap[cmd];