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)


for node in self.doc:
            if node.get('t-name') == name:
                root = etree.Element('templates')
                root.append(copy.deepcopy(node))
                arch = etree.tostring(root, encoding='utf-8', xml_declaration=True)
                return arch
class QWebContext(dict):
    def __init__(self, cr, uid, data, loader=None, context=None):
        self.cr = cr
        self.uid = uid
        self.loader = loader
        self.context = context
        dic = dict(data)
        super(QWebContext, self).__init__(dic)
        self['defined'] = lambda key: key in self
    def safe_eval(self, expr):
        locals_dict = collections.defaultdict(lambda: None)
        locals_dict.update(self)
        locals_dict.pop('cr', None)
        locals_dict.pop('loader', None)
        return eval(expr, None, locals_dict, nocopy=True, locals_builtins=True)
    def copy(self):
        """ Clones the current context, conserving all data and metadata
        (loader, template cache, ...)
        """
        return QWebContext(self.cr, self.uid, dict.copy(self),
                           loader=self.loader,
                           context=self.context)
    def __copy__(self):