Re: Setting TrueType fonts in table cell

Nils Smeds <[email protected]>
Newsgroups gmane.comp.python.reportlab.user
Message-ID <[email protected]>
Nils Smeds <nils.smeds <at> gmail.com> writes:

Here is a simple test case:
Modify the base_style array as indicated to expose the problem I see.

/Nils

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import MySQLdb

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, A4, inch,cm
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Paragraph, SimpleDocTemplate, PageBreak
from PIL import Image
from datetime import datetime

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, A4, inch, cm
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Paragraph, SimpleDocTemplate, PageBreak


from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase.pdfmetrics import registerFontFamily

# My Liberation fonts are installed in:  /usr/share/fonts/liberation
pdfmetrics.registerFont(TTFont('SansR', 
'/usr/share/fonts/liberation/LiberationSans-Regular.ttf'))
pdfmetrics.registerFont(TTFont('SansB', 
'/usr/share/fonts/liberation/LiberationSans-Bold.ttf'))
pdfmetrics.registerFont(TTFont('SansI', 
'/usr/share/fonts/liberation/LiberationSans-Italic.ttf'))
pdfmetrics.registerFont(TTFont('SansBI', 
'/usr/share/fonts/liberation/LiberationSans-BoldItalic.ttf'))
registerFontFamily('Sans',normal='SansR',bold='SansB',italic='SansI',boldIta
lic='SansBI')

filename='mytest.pdf'

page_width, page_height = A4
PDFdoc = SimpleDocTemplate(filename,pagesize=A4)
PDFdoc_elements=[]


        
from reportlab.lib.colors import black
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Table,TableStyle
from reportlab.platypus import Paragraph, SimpleDocTemplate, PageBreak

styles = getSampleStyleSheet()
styleH = styles['Heading1']
styleN = styles['Normal']

base_style=[('GRID', (0,0), (-1,-1), 1, (0,0,0)),
                ('FONT', (1,0), (1,-1), 'SansR'),
#                ('FONT', (1,0), (1,-1), 'Courier'),
                ('BOX', (0,0), (-1,-1), 3, (0,0,0)),
                ('ALIGN',(1,0),(1,-1),'RIGHT'),
                ('ALIGN',(3,0),(3,-1),'RIGHT'),
                ('VALIGN',(0,0),(-1,-1),'TOP')]

data=[('ČOL1','ČOL2','ČOL3','COL4','COL5')]
data.append(['ČOL1','ČOL2','ČOL3','COL4','COL5'])
data.append(['ČOL1','ČOL2','ČOL3','COL4','COL5'])
data.append(['ČOL1','ČOL2','ČOL3','COL4','COL5'])
t=Table(data)
styles=list(base_style)
t.setStyle(TableStyle(styles))
PDFdoc_elements.append(t)
PDFdoc.build(PDFdoc_elements)

PDFcanvas=PDFdoc.canv

PDFcanvas.setStrokeColorRGB(132.0/255,0.0/255,50.0/255)
PDFcanvas.setFont("Courier", 20)
PDFcanvas.drawString(5*cm, page_height - 8*cm, 'Č TALLY HOOO!!! č')
PDFcanvas.setFont("SansB", 20)
PDFcanvas.drawString(5*cm, page_height - 10*cm, 'Č TALLY HOOO!!!  č')

PDFcanvas.showPage()
PDFcanvas.save()


_______________________________________________
reportlab-users mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/reportlab-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.