[FIX]l10n_ch: remove font's hack, register the font into the main engine.

For some reason, reportlab still fails to embed the font into the PDF.
Please fix that.

bzr revid: hmo@tinyerp.com-20100929134611-rx5b9wwp5w3aq7eh
This commit is contained in:
P. Christeas 2010-09-29 19:16:11 +05:30 committed by Harry (OpenERP)
parent a00ba7134c
commit c97280933d
4 changed files with 18 additions and 24 deletions

View File

@ -66,7 +66,7 @@ TODO :
""",
"version" : "5.0",
"version" : "5.1",
"author" : "Camptocamp SA",
"category" : "Localisation/Europe",
"website": "http://www.camptocamp.com",

View File

@ -1,8 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<docinit>
<registerFont fontFile="/tmp/ocrbb.ttf" expr="{'fontFile':str(police_absolute_path('addons/l10n_ch/report/ocrbb.ttf'))}" fontName="ocrb" />
</docinit>
<template pageSize="(210.0mm,297.0mm)" title="Invoices BVR" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">

View File

@ -39,12 +39,28 @@ from datetime import datetime
from report import report_sxw
from tools import mod10r
import logging
log = logging.getLogger('init')
try:
this_module = 'l10n_ch'
from report.render.rml2pdf import customfonts
from addons import get_module_resource
ocrb_fname = get_module_resource(this_module, 'report', 'ocrbb.ttf')
if not ocrb_fname:
raise OSError("Cannot find ocrbb.ttf in %s resources", this_module)
customfonts.CustomTTFonts.append( ('ocrb', 'ocrb', ocrb_fname , None ) )
log.debug("module: %s registered custom OCR-B font at %s", this_module, ocrb_fname)
except ImportError:
log.debug("Import error", exc_info=True)
pass
except Exception, e:
log.exception("Cannot register custom font")
class account_invoice_bvr(report_sxw.rml_parse):
"""Report class that Allows to print BVR payement vector"""
def __init__(self, cr, uid, name, context):
super(account_invoice_bvr, self).__init__(cr, uid, name, context)
self.copyocrbfile('addons/l10n_ch/report/ocrbb.ttf')
self.localcontext.update({
'time': time,
'user':self.pool.get("res.users").browse(cr,uid,uid),
@ -53,8 +69,6 @@ class account_invoice_bvr(report_sxw.rml_parse):
'_get_ref': self._get_ref,
'comma_me': self.comma_me,
'format_date': self._get_and_change_date_format_for_swiss,
'police_absolute_path' : self.police_absolute_path,
'copyocrbfile': self.copyocrbfile
})
def _get_and_change_date_format_for_swiss (self,date_to_format):
date_formatted=''
@ -63,23 +77,6 @@ class account_invoice_bvr(report_sxw.rml_parse):
date_formatted = strptime(date_to_format,'%Y-%m-%d').strftime('%d.%m.%Y')
return date_formatted
def police_absolute_path(self, inner_path) :
path = os.path.join(os.path.dirname(sys.argv[0]), inner_path)
return path
def copyocrbfile(self,file):
src = self.police_absolute_path(file)
file = os.path.basename(src)
dest = os.path.join('/tmp/',file)
if not os.path.isfile(dest):
try:
shutil.copyfile(src,dest)
except:
"""print ocrbfile was not copy in /tmp/ please
copy it manually from l10_ch/report"""
def comma_me(self,amount):
if type(amount) is float :
amount = str('%.2f'%amount)

View File

@ -1,7 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<docinit>
<registerFont fontFile="/tmp/ocrbb.ttf" expr="{'fontFile':str(police_absolute_path('addons/l10n_ch/report/ocrbb.ttf'))}" fontName="ocrb" />
</docinit>
<template pageSize="(210.0mm,297.0mm)" title="BVR" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">