Attach (recommended) or Link to PDF file here [(PDF in comments below)](https://github.com/mozilla/pdf.js/issues/10900#issuecomment-501034146).  Here is a relevant section:

![image](https://user-images.githubusercontent.com/16158417/59306620-a8ec6f00-8c6a-11e9-9c2e-056bfeebc050.png)

Configuration:
- Web browser and its version: Node v10.11.0
- Operating system and its version: MacOS 10.14.5
- PDF.js version: v2.1.266
- Is a browser extension: No

Steps to reproduce the problem:
1. Calling `getTextContent` on the page is returning inappropriate widths for text items with appended with spaces.

What is the expected behavior?
The expected behavior is that the coordinates for the string "3" are above the coordinates for the string "27.0" coordinates PLUS the width of the "27.0" string.  This should make sense as the numbers are on top of each other.

What went wrong?
![image](https://user-images.githubusercontent.com/16158417/59306769-0680bb80-8c6b-11e9-972c-cb964ca4299f.png)

Unfortunately, the width is calculated wrong and "27.0" has a width of `2.17...` which does not make sense in this context.  The string "3" also has a width of `2.15...` which means that these two strings are off by `.02...` units which is not the case.

I dug into the source code of pdfjs and found commenting out [this line](https://github.com/mozilla/pdf.js/blob/c8c937c2579812798fddc13af9d8c1df1e7ce30b/src/core/evaluator.js#L1657) resolved the issue for me.  I bet this line is necessary though, so would like to start an investigation (happy to help!) into what calculations are going wrong to cause this wrongly reported width.
}
   |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];