can't map determine font family/bold/italic

Bug #1083774 reported by Torvald Baade Bringsvor
50
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Odoo Addons (MOVED TO GITHUB)
New
Undecided
Unassigned

Bug Description

When trying to print invoice in latest trunk version:

s
   handle_pageBegin args=()
2012-11-27 20:30:14,040 9597 ERROR None openerp.netsvc: Can't map determine family/bold/italic for dejavu sans
   handle_pageBegin args=()
(<type 'exceptions.ValueError'>, ValueError("Can't map determine family/bold/italic for dejavu sans\n handle_pageBegin args=()",), <traceback object at 0x7f7670947f38>)
Traceback (most recent call last):
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/netsvc.py", line 361, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py", line 679, in dispatch
    res = fn(db, uid, *params)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py", line 784, in exp_report_get
    return self._check_report(report_id)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py", line 762, in _check_report
    netsvc.abort_response(exc, exc.message, 'warning', exc.traceback)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/netsvc.py", line 67, in abort_response
    raise openerp.osv.osv.except_osv(description, details)
except_osv: (u"Can't map determine family/bold/italic for dejavu sans\n handle_pageBegin args=()", (<type 'exceptions.ValueError'>, ValueError("Can't map determine family/bold/italic for dejavu sans\n handle_pageBegin args=()",), <traceback object at 0x7f7670947f38>))

Seems like a problem in the PDF generation. An absolute showstopper for me going to 7.0 at this time.

Revision history for this message
Torvald Baade Bringsvor (torvald) wrote :
Download full text (6.7 KiB)

27/Nov/2012 20:30:13] "POST /web/dataset/search_read HTTP/1.1" 200 -
2012-11-27 20:30:13,147 9597 INFO None werkzeug: 84.202.130.177 - - [27/Nov/2012 20:30:13] "GET /web/binary/image?model=res.partner&field=image_small&id=2&resize=&session_id=31c34f17046f462583fef304137314a6 HTTP/1.1" 304 -
2012-11-27 20:30:13,294 9597 INFO ? werkzeug: 84.202.130.177 - - [27/Nov/2012 20:30:13] "POST /web/session/eval_domain_and_context HTTP/1.1" 200 -
2012-11-27 20:30:13,752 9597 ERROR ? openerp.service.web_services: Exception: Can't map determine family/bold/italic for dejavu sans
   handle_pageBegin args=()
Traceback (most recent call last):
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py", line 736, in go
    (result, format) = obj.create(cr, uid, ids, datas, context)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/report_sxw.py", line 442, in create
    fnct_ret = fnct(cr, uid, ids, data, report_xml, context)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/report_sxw.py", line 476, in create_source_pdf
    result = self.create_single_pdf(cr, uid, [obj.id], data, report_xml, context)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/report_sxw.py", line 533, in create_single_pdf
    pdf = create_doc(etree.tostring(processed_rml),rml_parser.localcontext,logo,title.encode('utf8'))
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/interface.py", line 192, in create_pdf
    obj.render()
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/render.py", line 59, in render
    self._result = self._render()
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml.py", line 41, in _render
    return rml2pdf.parseNode(self.rml, self.localcontext, images=self.bin_datas, path=self.path,title=self.title)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml2pdf/trml2pdf.py", line 985, in parseNode
    r.render(fp)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml2pdf/trml2pdf.py", line 310, in render
    pt_obj.render(el)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml2pdf/trml2pdf.py", line 969, in render
    self.doc_tmpl.build(fis)
  File "/usr/lib64/python2.7/site-packages/reportlab/platypus/doctemplate.py", line 877, in build
    self.clean_hanging()
  File "/usr/lib64/python2.7/site-packages/reportlab/platypus/doctemplate.py", line 510, in clean_hanging
    self.handle_flowable(self._hanging)
  File "/usr/lib64/python2.7/site-packages/reportlab/platypus/doctemplate.py", line 757, in handle_flowable
    f.apply(self)
  File "/usr/lib64/python2.7/site-packages/reportlab/platypus/doctemplate.py", line 140, in apply
    getattr(doc,arn)(*args)
  File "/usr/lib64/python2.7/site-packages/reportlab/platypus/doctemplate.py", line 535, in handle_pageBegin
    self.pageTemplate.onPage(self.canv,self)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml2pdf/trml2pdf.py", line 589, in render
    cnv.render(self.node)
  File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/report/render/rml2pdf/trml2pdf.py", ...

Read more...

Revision history for this message
Torvald Baade Bringsvor (torvald) wrote :

I've done a workaround, in
lib/python2.7/site-packages/reportlab/lib/fonts.py
(added two lines)

def ps2tt(psfn):
    'ps fontname to family name, bold, italic'
    psfn = psfn.lower()
    if psfn in _ps2tt_map:
        return _ps2tt_map[psfn]
# Workaround:
    if psfn=='dejavu sans':
        return ('Helvetica', 0,0)

    raise ValueError("Can't map determine family/bold/italic for %s" % psfn)

Revision history for this message
David Deluria (dave-deluria) wrote :

I tried this workaround and works like a charm.

Revision history for this message
Torvald Baade Bringsvor (torvald) wrote : Re: [Bug 1083774] Re: can't map determine font family/bold/italic

Sorry, but I can't see a workaround in this bug tracker?

-Torvald

2012/12/30 David Deluria <email address hidden>

> *** This bug is a duplicate of bug 1077428 ***
> https://bugs.launchpad.net/bugs/1077428
>
> I tried this workaround and works like a charm.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1083774
>
> Title:
> can't map determine font family/bold/italic
>
> Status in OpenERP Addons (modules):
> New
>
> Bug description:
> When trying to print invoice in latest trunk version:
>
> s
> handle_pageBegin args=()
> 2012-11-27 20:30:14,040 9597 ERROR None openerp.netsvc: Can't map
> determine family/bold/italic for dejavu sans
> handle_pageBegin args=()
> (<type 'exceptions.ValueError'>, ValueError("Can't map determine
> family/bold/italic for dejavu sans\n handle_pageBegin args=()",),
> <traceback object at 0x7f7670947f38>)
> Traceback (most recent call last):
> File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/netsvc.py",
> line 361, in dispatch_rpc
> result = ExportService.getService(service_name).dispatch(method,
> params)
> File
> "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py",
> line 679, in dispatch
> res = fn(db, uid, *params)
> File
> "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py",
> line 784, in exp_report_get
> return self._check_report(report_id)
> File
> "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/service/web_services.py",
> line 762, in _check_report
> netsvc.abort_response(exc, exc.message, 'warning', exc.traceback)
> File "/srv/openerp7/openerp-6.2dev-20121127-000102/openerp/netsvc.py",
> line 67, in abort_response
> raise openerp.osv.osv.except_osv(description, details)
> except_osv: (u"Can't map determine family/bold/italic for dejavu sans\n
> handle_pageBegin args=()", (<type 'exceptions.ValueError'>,
> ValueError("Can't map determine family/bold/italic for dejavu sans\n
> handle_pageBegin args=()",), <traceback object at 0x7f7670947f38>))
>
>
> Seems like a problem in the PDF generation. An absolute showstopper for
> me going to 7.0 at this time.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/openobject-addons/+bug/1083774/+subscriptions
>

--
Torvald Baade Bringsvor
Bringsvor Consulting AS - Utvikling og design av IT system.

Revision history for this message
ivan f gautama (ivanfgautama) wrote :

can anyone share where to find the fonts.py file? both on sources tarball and allinone exe the file didnt exist

Revision history for this message
ivan f gautama (ivanfgautama) wrote :

got the file, add 2 line as torvald mentions and done.
thank you

Revision history for this message
nikos (zeusgr1) wrote :

I there a fix for windows installation for this bug?

Revision history for this message
Gerard Werdmuller (1-info-m) wrote :

This bug occurs in the latest Windows version, in spite of advice of OpenERP to download a new version?
"openerp-allinone-setup-7.0-latest7" from 30-01-13!
Any action to be expected?

Revision history for this message
alexander (alexander-lv) wrote :

y just installed the requiere font won windows

i found it here

http://es.fonts2u.com/dejavu-sans.fuente

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.