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.text'
    _inherit = 'ir.qweb.field'
    def value_to_html(self, cr, uid, value, field, options=None, context=None):
        """
        Escapes the value and converts newlines to br. This is bullshit.
        """
        if not value: return ''
        return nl2br(value, options=options)
class SelectionConverter(osv.AbstractModel):
    _name = 'ir.qweb.field.selection'
    _inherit = 'ir.qweb.field'
    def record_to_html(self, cr, uid, field_name, record, options=None, context=None):
        value = record[field_name]
        if not value: return ''
        field = record._fields[field_name]
        selection = dict(field.get_description(record.env)['selection'])
        return self.value_to_html(
            cr, uid, selection[value], field, options=options)
class ManyToOneConverter(osv.AbstractModel):
    _name = 'ir.qweb.field.many2one'
    _inherit = 'ir.qweb.field'
    def record_to_html(self, cr, uid, field_name, record, options=None, context=None):
        if not record:
            return ''
        [read] = record.read([field_name])
        if not read[field_name]: return ''
        _, value = read[field_name]
        return nl2br(value, options=options)
class HTMLConverter(osv.AbstractModel):