Which font do you want to include?

The font pack is 15MB, I don't know if it could be included with web2py.
Also, the problem is that no one is complete (you need several fonts
to cover west / east languages)

https://pyfpdf.googlecode.com/files/fpdf_unicode_font_pack.zip

BTW, thanks for you comments, I gave you contributor access, so you
can change the docs directly in the wiki if you like so:

https://code.google.com/p/pyfpdf/w/list

If you have any patch, also I'll be happy to review and include it ;-)

Best regards,

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com


On Sun, Apr 28, 2013 at 7:40 AM, Jurgis Pralgauskis
<[email protected]> wrote:
> by the way -- would it be possible to pack at least one ttf with web2py,
> and in normalize_text , when it notices unicode,
> automatically add (and set) default ttf font (if such is not set) to render
> ok ?
>
>
>
> On Sun, Apr 28, 2013 at 12:18 PM, Jurgis Pralgauskis
> <[email protected]> wrote:
>>
>> SOLVED - the problem was that I needed to reload web2py -- for changed
>> html.py to make effect ;)
>>
>> one more issue
>> that after write_html(..)   it "forgets" the previously set font (should
>> be at least mentioned in docs.. :)
>> https://code.google.com/p/pyfpdf/issues/detail?id=54#c2
>>
>>
>>
>>
>> On Sat, Apr 27, 2013 at 9:06 PM, Mariano Reingart <[email protected]>
>> wrote:
>>>
>>> Did you add the TTF unicode font with add_font?
>>> Can you post a complete example (ie a script.py just with the code to
>>> test), so I can reproduce it easily.
>>>
>>> Best regards,
>>>
>>> Mariano Reingart
>>> http://www.sistemasagiles.com.ar
>>> http://reingart.blogspot.com
>>>
>>>
>>> On Sat, Apr 27, 2013 at 7:30 AM, Jurgis Pralgauskis
>>> <[email protected]> wrote:
>>> > I see 2 lines were changed, the main
>>> >
>>> > - if 'face' in attrs and attrs['face'].lower() in self.font_list:
>>> > +   if 'face' in attrs:
>>> >
>>> > but I still get
>>> >
>>> >
>>> >   File
>>> > "/home/jurgis/web2py/applications/apskaitele/controllers/default.py",
>>> > line 61, in pdftest
>>> >
>>> >
>>> >     pdf.write_html(u"<font face='DejaVu'>Ąžuolas</font>"
>>> > )
>>> >
>>> >
>>> > File "/home/jurgis/web2py/gluon/contrib/fpdf/html.py", line 397, in
>>> > write_html
>>> >
>>> >   File "/usr/local/lib/python2.7/HTMLParser.py", line 114, in feed
>>> >
>>> >     self.goahead(0)
>>> >   File "/usr/local/lib/python2.7/HTMLParser.py", line 152, in goahead
>>> >
>>> >     if i < j: self.handle_data(rawdata[i:j])
>>> >
>>> >   File "/home/jurgis/web2py/gluon/contrib/fpdf/html.py", line 122, in
>>> > handle_data
>>> >
>>> >   File "/home/jurgis/web2py/gluon/contrib/fpdf/fpdf.py", line 822, in
>>> > write
>>> >
>>> >     txt = self.normalize_text(txt)
>>> >
>>> >   File "/home/jurgis/web2py/gluon/contrib/fpdf/fpdf.py", line 1012, in
>>> > normalize_text
>>> >
>>> >     txt = txt.encode('latin1')
>>> >
>>> > UnicodeEncodeError: 'latin-1' codec can't encode characters in position
>>> > 0-1:
>>> > ordinal not in range(256
>>> > )
>>> >
>>> >
>>> >
>>> > and if I
>>> > pdf.write_html(u"<font face='DejaVu'>Ąžuolas</font>".encode('utf8'))
>>> >
>>> > I get Ä„Å3⁄4uolas
>>> >
>>> >
>>> >
>>> >
>>> > On Sat, Apr 27, 2013 at 3:24 AM, Mariano Reingart <[email protected]>
>>> > wrote:
>>> >>
>>> >> Sorry, I misread the email.
>>> >>
>>> >> Unicode fonts were not supported in html2pdf.
>>> >>
>>> >> I've made a change to allow them, please update html.py:
>>> >>
>>> >> https://pyfpdf.googlecode.com/hg/fpdf/html.py
>>> >>
>>> >> Then, you need to load a ttf unicode font, and then pass it in <font>
>>> >> face attribute:
>>> >>
>>> >> pdf=MyFPDF()
>>> >> # add utf8 font
>>> >> pdf.add_font('DejaVu', '', 'DejaVuSansCondensed.ttf', uni=True)
>>> >> # first page:
>>> >> pdf.add_page()
>>> >> pdf.write_html(u"<font face='DejaVu'>Ąžuolas</font>")
>>> >>
>>> >> For more info and complete code, see:
>>> >>
>>> >> https://code.google.com/p/pyfpdf/wiki/Web2Py
>>> >>
>>> >> Let me know if that works so I can update the docs and web2py contrib
>>> >> version
>>> >>
>>> >> Best regards
>>> >> Mariano Reingart
>>> >> http://www.sistemasagiles.com.ar
>>> >> http://reingart.blogspot.com
>>> >>
>>> >>
>>> >> On Fri, Apr 26, 2013 at 11:45 PM, Mariano Reingart
>>> >> <[email protected]>
>>> >> wrote:
>>> >> > On Fri, Apr 26, 2013 at 11:42 PM, Mariano Reingart
>>> >> > <[email protected]>
>>> >> > wrote:
>>> >> >> On Fri, Apr 26, 2013 at 6:34 PM, Jonathan Lundell
>>> >> >> <[email protected]>
>>> >> >> wrote:
>>> >> >>> On 26 Apr 2013, at 1:17 PM, Jurgis Pralgauskis
>>> >> >>> <[email protected]> wrote:
>>> >> >>>
>>> >> >>> ok, SOLVED ttf issue for  unicode example
>>> >> >>> http://code.google.com/p/pyfpdf/wiki/Unicode
>>> >> >>> just needed to create directory    gluon > contrib > fpdf > font
>>> >> >>> and place needed ttf files insited it :)
>>> >> >>> then pdf.write(8, u"Ąžuolas")  works fine
>>> >> >>>
>>> >> >>>
>>> >> >>> The fpdf logic uses utf8 for fonts it sees as UTF-based, otherwise
>>> >> >>> latin-1.
>>> >> >>> It looks to me as though either it isn't recognizing your fonts as
>>> >> >>> UTF, or
>>> >> >>> there's some overlooked case that it's making a mistake with. Have
>>> >> >>> a
>>> >> >>> look at
>>> >> >>> FPDF.set_font:
>>> >> >>>
>>> >> >>>         self.unifontsubset = (self.fonts[fontkey]['type'] ==
>>> >> >>> 'TTF')
>>> >> >>>
>>> >> >>> ...and make sure it's getting set.
>>> >> >>>
>>> >> >>
>>> >> >> Yes, as Jhonatan saids, FPDF (and the PDF standard, BTW) only
>>> >> >> support
>>> >> >> latin1 characters for standard font.
>>> >> >>
>>> >> >> If you need utf8 characters, you need to embeed a T
>>> >> >
>>> >> > You need to embed a UTF8 TTF font, for example:
>>> >> >
>>> >> > # Add a DejaVu Unicode font (uses UTF-8)
>>> >> > # Supports more than 200 languages. For a coverage status see:
>>> >> > #
>>> >> >
>>> >> > http://dejavu.svn.sourceforge.net/viewvc/dejavu/trunk/dejavu-fonts/langcover.txt
>>> >> > pdf.add_font('DejaVu', '', 'DejaVuSansCondensed.ttf', uni=True)
>>> >> >
>>> >> > (sorry, the previous message was sent incomplete)
>>> >> >
>>> >> > I'll try to enhance the docs about this, thank for reporting the
>>> >> > issue
>>> >> >
>>> >> > Best regards
>>> >> >
>>> >> > Mariano Reingart
>>> >> > http://www.sistemasagiles.com.ar
>>> >> > http://reingart.blogspot.com
>>> >>
>>> >> --
>>> >>
>>> >> ---
>>> >> You received this message because you are subscribed to a topic in the
>>> >> Google Groups "web2py-users" group.
>>> >> To unsubscribe from this topic, visit
>>> >>
>>> >> https://groups.google.com/d/topic/web2py/KJDeQoLKw-M/unsubscribe?hl=en.
>>> >> To unsubscribe from this group and all its topics, send an email to
>>> >> [email protected].
>>> >>
>>> >> For more options, visit https://groups.google.com/groups/opt_out.
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Jurgis Pralgauskis
>>> > tel: 8-616 77613;
>>> > Don't worry, be happy and make things better ;)
>>> > http://galvosukykla.lt
>>> >
>>> > --
>>> >
>>> > ---
>>> > You received this message because you are subscribed to the Google
>>> > Groups
>>> > "web2py-users" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> > an
>>> > email to [email protected].
>>> > For more options, visit https://groups.google.com/groups/opt_out.
>>> >
>>> >
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "web2py-users" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/web2py/KJDeQoLKw-M/unsubscribe?hl=en.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>
>>
>>
>> --
>> Jurgis Pralgauskis
>> tel: 8-616 77613;
>> Don't worry, be happy and make things better ;)
>> http://galvosukykla.lt
>
>
>
>
> --
> Jurgis Pralgauskis
> tel: 8-616 77613;
> Don't worry, be happy and make things better ;)
> http://galvosukykla.lt
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to