Impacted versions: Odoo 11 on windows server 2012

Steps to reproduce: 
Create a new out invoice, select a product and set a negative amount for unit price.
Print the invoice.

Current behavior:
in PDF the char "-" is shown as "|" even if the total amount is correct (amount1 - amount2 = total)

Expected behavior:
the printed invoice should show the char "-"

Video/Screenshot link (optional):
![image](https://user-images.githubusercontent.com/37513316/42877323-8c712b2e-8a89-11e8-9690-27f00e08b6b2.png)

this is the negative item on odoo:
![image](https://user-images.githubusercontent.com/37513316/42877389-bf04eba2-8a89-11e8-91c0-e38059673b42.png)


openerp/addons/base/ir/ir_qweb.py
_name = 'ir.qweb.field.integer'
    _inherit = 'ir.qweb.field'
    def value_to_html(self, cr, uid, value, field, options=None, context=None):
        if context is None:
            context = {}
        lang_code = context.get('lang') or 'en_US'
        return self.pool['res.lang'].format(cr, uid, [lang_code], '%d', value, grouping=True).replace(r'-', u'\u2011')
class FloatConverter(osv.AbstractModel):
    _name = 'ir.qweb.field.float'
    _inherit = 'ir.qweb.field'
    def precision(self, cr, uid, field, options=None, context=None):
        _, precision = field.digits or (None, None)
        return precision
    def value_to_html(self, cr, uid, value, field, options=None, context=None):
        if context is None:
            context = {}
        precision = self.precision(cr, uid, field, options=options, context=context)
        fmt = '%f' if precision is None else '%.{precision}f'
        lang_code = context.get('lang') or 'en_US'
        lang = self.pool['res.lang']
        formatted = lang.format(cr, uid, [lang_code], fmt.format(precision=precision), value, grouping=True).replace(r'-', u'\u2011')
        
        
        
        
        if precision is None:
            formatted = re.sub(r'(?:(0|\d+?)0+)$', r'\1', formatted)
        return formatted
class DateConverter(osv.AbstractModel):