       if last < cur
         hex = encoded.slice(last, cur).join ''
         advance = positions[cur - 1].xAdvance - positions[cur - 1].advanceWidth
-        commands.push "<#{hex}> #{-advance}"
+        commands.push "<#{hex}> #{@number(-advance)}"
       
       last = cur
     

    @addContent "#{mode} Tr" if mode

    # Character spacing
    @addContent "#{characterSpacing} Tc" if characterSpacing
    
    # Add the actual text
    # If we have a word spacing value, we need to encode each word separately

    @addContent "BT"

    # text position
    @addContent "1 0 0 1 #{@number(x)} #{@number(y)} Tm"

    # font and font size
    @addContent "/#{@_font.id} #{@_fontSize} Tf"
