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
return int(bool(self.eval(expr, qwebcontext)))
    def render(self, cr, uid, id_or_xml_id, qwebcontext=None, loader=None, context=None):
        """ render(cr, uid, id_or_xml_id, qwebcontext=None, loader=None, context=None)
        Renders the template specified by the provided template name
        :param qwebcontext: context for rendering the template
        :type qwebcontext: dict or :class:`QWebContext` instance
        :param loader: if ``qwebcontext`` is a dict, loader set into the
                       context instantiated for rendering
        """
        if qwebcontext is None:
            qwebcontext = {}
        if not isinstance(qwebcontext, QWebContext):
            qwebcontext = QWebContext(cr, uid, qwebcontext, loader=loader, context=context)
        qwebcontext['__template__'] = id_or_xml_id
        stack = qwebcontext.get('__stack__', [])
        if stack:
            qwebcontext['__caller__'] = stack[-1]
        stack.append(id_or_xml_id)
        qwebcontext['__stack__'] = stack
        qwebcontext['xmlid'] = str(stack[0]) 
        element = self.get_template(id_or_xml_id, qwebcontext)
        element.attrib.pop("name", False)
        return self.render_node(element, qwebcontext, generated_attributes=qwebcontext.pop('generated_attributes', ''))
    def render_node(self, element, qwebcontext, generated_attributes=''):