[reportlab-users] Using an OEM font

Luc Saffre luc.saffre at gmx.net
Fri Oct 20 16:48:52 EDT 2006


Hello,

I'd like to create PDF files with texts encoded in cp437 or cp850. These
texts also contain box characters which are not part of the latin
character set. But most Windows machines can display and print such text
if you use a font that provides the OEM charset (and if you activate the
appropriate codepage).

For example the following script should print a horizontal line that is
20 characters wide. First on the consoloe ("print s"), then in a PDF
file. The console displays it correctly, but the PDF file doesn't.

import os
from reportlab.pdfgen import canvas
from reportlab.lib.units import mm
filename="tmp.pdf"
s=u'\u2500'*20
print s
canvas = canvas.Canvas(filename)
t=canvas.beginText()
t.setTextOrigin(20*mm,200*mm)
t.textOut(s)
canvas.drawText(t)
canvas.showPage()
canvas.save()
os.startfile(filename)

I guess that I must specify the right font to use --- but how?

Luc

(More about why I ask this:
http://lino.saffre-rumma.ee/prn2pdf.html)


More information about the reportlab-users mailing list