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)


_name = 'ir.qweb.field.datetime'
    _inherit = 'ir.qweb.field'
    def value_to_html(self, cr, uid, value, field, options=None, context=None):
        if not value: return ''
        lang = self.user_lang(cr, uid, context=context)
        locale = babel.Locale.parse(lang.code)
        if isinstance(value, basestring):
            value = datetime.datetime.strptime(
                value, openerp.tools.DEFAULT_SERVER_DATETIME_FORMAT)
        value = fields.datetime.context_timestamp(
            cr, uid, timestamp=value, context=context)
        if options and 'format' in options:
            pattern = options['format']
        else:
            strftime_pattern = (u"%s %s" % (lang.date_format, lang.time_format))
            pattern = openerp.tools.posix_to_ldml(strftime_pattern, locale=locale)
        if options and options.get('hide_seconds'):
            pattern = pattern.replace(":ss", "").replace(":s", "")
        return babel.dates.format_datetime(value, format=pattern, locale=locale)
    def record_to_html(self, cr, uid, field_name, record, options, context=None):
        field = field = record._fields[field_name]
        value = record[field_name]
        return self.value_to_html(
            cr, uid, value, field, options=options, context=dict(context, **record.env.context))
class TextConverter(osv.AbstractModel):