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]

Reply via email to