Package: python2.3-reportlab
Version: 1.19debian-0.1
Severity: normal
I tried to generate Japanese PDF file using reportlab, but it failed.
% cat j.py
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfgen.canvas import Canvas
from reportlab.pdfbase.cidfonts import CIDFont
pdfmetrics.registerFont(CIDFont('HeiseiMin-W3','90ms-RKSJ-H'))
pdfmetrics.registerFont(CIDFont('HeiseiKakuGo-W5','90ms-RKSJ-H'))
c = Canvas('test.pdf')
c.setFont('HeiseiMin-W3-90ms-RKSJ-H', 16)
message1 =
'\202\261\202\352\202\315\225\275\220\254\226\276\222\251\202\305\202\267\201B'
c.drawString(100, 675, message1)
c.save()
% python j.ps
Traceback (most recent call last):
File "j.py", line 6, in ?
pdfmetrics.registerFont(CIDFont('HeiseiMin-W3','90ms-RKSJ-H'))
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
286, in __init__
self.encoding = CIDEncoding(encoding)
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
76, in __init__
self.parseCMAPFile(name)
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
92, in parseCMAPFile
cmapfile = findCMapFile(name)
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
32, in findCMapFile
raise IOError, 'CMAP file for encodings "%s" not found!' % name
IOError: CMAP file for encodings "90ms-RKSJ-H" not found!
In Debian system, CMap files are expected in /usr/share/fonts/cmap/*/*, but
/usr/lib/python2.3/site-packages/reportlab/rl_config.py has wrong
CMapSearchPath. It should have
/usr/share/fonts/cmap/adobe-cns1/
/usr/share/fonts/cmap/adobe-gb1/
/usr/share/fonts/cmap/adobe-japan1/
/usr/share/fonts/cmap/adobe-japan2/
/usr/share/fonts/cmap/adobe-korea1/
/usr/share/fonts/cmap/gs-cjk-resource/
(see cmap-adobe-* and gs-cjk-resource packages)
I think other search paths should be modified for debian system.
Even if I added these path to rl_config, it fails except root, because
it tries to generate fastmap in
/usr/lib/python2.3/site-packages/reportlab/fonts/ where appearently
writable only by root.
% python j.py
parsed CMAP 90ms-RKSJ-H in 0.0100 seconds
Traceback (most recent call last):
File "j.py", line 6, in ?
pdfmetrics.registerFont(CIDFont('HeiseiMin-W3','90ms-RKSJ-H'))
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
286, in __init__
self.encoding = CIDEncoding(encoding)
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
78, in __init__
self.fastSave(fontmapdir)
File "/usr/lib/python2.3/site-packages/reportlab/pdfbase/cidfonts.py", line
190, in fastSave
f = open(os.path.join(directory, self.name + '.fastmap'), 'wb')
IOError: [Errno 13] Permission denied:
'/usr/lib/python2.3/site-packages/reportlab/fonts/90ms-RKSJ-H.fastmap'
If I run this by root, it can create pdf file as I expected.
# python j.py
parsed CMAP 90ms-RKSJ-H in 0.0100 seconds
#
Regards,
Fumitoshi UKAI
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]