Ocorre que a maioria dos modelos listados pelo gtk.FontButton parece não
estar disponível no ReportLab, como por exemplo Arial e Times New Roman.
Ao tentar definir uma fonte, tenha a seguinte mensagem de erro:
Traceback (innermost last):
File "<stdin>", line 1, in <module>
File "core/lib/relatorio.py", line 522, in setFonte_modelo
self.relatorio.setFont(self.fonte_modelo, self.fonte_tamanho)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfgen/canvas.py", line
1378, in setFont
font = pdfmetrics.getFont(self._fontname)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfbase/pdfmetrics.py",
line 662, in findFontAndRegister
face = getTypeFace(fontName)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfbase/pdfmetrics.py",
line 621, in getTypeFace
return _typefaces[faceName]
KeyError: 'Times New Roman'
Como proceder com esta situação?
Obrigado.
Antonio.
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
Para usar qualquer fonte TrueType arbitrária, vc precisa registrar ela
antes.
Dá uma olhada na documentação do reportlab,
mais especificamente no
http://www.reportlab.com/docs/reportlab-userguide.pdf
<http://www.reportlab.com/docs/reportlab-userguide.pdf>no ítem "3.5 TrueType
Font Support"
Grande abraço
---
Luciano Barcaro
I´m on a seafood diet. I see food and I eat it
Em 22 de fevereiro de 2011 18:53, Antonio Prado <sup...@antonioprado.eti.br
> escreveu:
> Por padrão, o reportlab (adobe com pdf) disponibiliza apenas algumas fontes
> (que eles podem garantir que sempre existirão).
>
> Para usar qualquer fonte TrueType arbitrária, vc precisa registrar ela
> antes.
>
> Dá uma olhada na documentação do reportlab,
> mais especificamente no
> http://www.reportlab.com/docs/reportlab-userguide.pdf
> <http://www.reportlab.com/docs/reportlab-userguide.pdf>no ítem "3.5
> TrueType
> Font Support"
>
> Grande abraço
> ---
> Luciano Barcaro
>
Segui os procedimentos para registrar a fonte e testei com os dois modelos
citados no manual, no entanto não deu certo::
>>> from reportlab.pdfbase import pdfmetrics
>>> from reportlab.pdfbase.ttfonts import TTFont
>>> pdfmetrics.registerFont(TTFont('Times-Roman', "Times-Roman.ttf"))
>>> TTFError: Can't open file "Times-Roman.ttf"
Continuo buscando a solução.
Obrigado.
Antonio.
Isso acontece porque esse arquivo Times-Roman.ttf não está no search path do
ReportLab.
Mas isso não importa. A Times-Roman é uma das fontes que sempre vão estar
incluídas em um PDF. Você não precisa registrá-la antes de usar.
--
Felipe Bernardo Zorzo
Tentei a Times-Roman apenas como teste, uma vez que foi citada no manual.
O que desejo é utilizar uma fonte escolhida pelo usuário, através de um gtk,FontButton.
Acha que o problema está relacionado a path?
Obrigado.
Antonio.
--- Em python...@yahoogrupos.com.br, "ajprado2000" <suporte@...> escreveu
>
> --- Em python...@yahoogrupos.com.br, Felipe Zorzo <felipe.b.zorzo@> escreveu
> >
> > Em 23 de fevereiro de 2011 08:25, Antonio Prado <suporte@
> > > escreveu:
> >
> > > Em 22 de fevereiro de 2011 19:10, Luciano Barcaro <
> > > luciano.barcaro@
O problema para o registro da fonte está relacionado ao path, conforme informado.
Para adicionar o path com o endereço da font, devemos utilizar:
reportlab.rl_config.TTFSearchPath.append("/usr/share/fonts/truetype/msttcorefonts/")
O endereço acima utilizado é mero exemplo.
Haver encontrado tal solução, me levou a conclusão que utilizar o gtk.FontButton para selecionar fontes para serem utilizadas pelo ReportLab parece não ser o melhor caminho.
O que podem me sugerir para esta finalidade?