Użytkownik Paul McNett napisał:
> dabo Commit
> Revision 6076
> Date: 2010-10-05 16:56:06 -0700 (Tue, 05 Oct 2010)
> Author: Paul
> Trac:http://trac.dabodev.com/changeset/6076
>
> Changed:
> U   trunk/dabo/lib/reportWriter.py
> U   trunk/dabo/settings.py
>
> Log:
> ReportWriter patch by Jacek, that addresses unicode issues and adds a way to 
> register
> TrueType Font files and directories. Thanks! Trac #1382
>
>
>
> Diff:
> Modified: trunk/dabo/lib/reportWriter.py
> ===================================================================
> --- trunk/dabo/lib/reportWriter.py    2010-10-05 21:47:01 UTC (rev 6075)
> +++ trunk/dabo/lib/reportWriter.py    2010-10-05 23:56:06 UTC (rev 6076)
> @@ -56,6 +56,10 @@
>   from dabo.lib.caselessDict import CaselessDict
>   from reportlab.lib.utils import ImageReader
>   from dabo.lib.utils import ustr, resolvePathAndUpdate
> +from reportlab.pdfbase.pdfmetrics import registerFont
> +from reportlab.pdfbase.ttfonts import TTFont, TTFError
> +from reportlab.pdfbase.pdfmetrics import getRegisteredFontNames
> +from reportlab.rl_config import TTFSearchPath
>   import Image as PILImage
>   import reportUtils
>
> @@ -73,6 +77,28 @@
>       ParaClass = platypus.Paragraph
>
>
> +def addReportTTFontFilePath(paths):
> +     if isinstance(paths, basestring):
> +             paths = (paths,)
> +     for path in paths:
> +             TTFSearchPath.append(path)
> +
> +
> +if dabo.reportTTFontFilePath:
> +     addReportTTFontFilePath(dabo.reportTTFontFilePath)
> +
> +
> +def addReportTTFontFilePath(paths):
> +     if isinstance(paths, basestring):
> +             paths = (paths,)
> +     for path in paths:
> +             TTFSearchPath.append(path)
> +
> +
> +if dabo.reportTTFontFilePath:
> +     addReportTTFontFilePath(dabo.reportTTFontFilePath)
> +
> +
>   ## Can't use None for uninitialized group values, because None
>   ## could be a meaningful value in the dataset.
>   UNINITIALIZED_VALUE = 'UNINITIALIZED_f49dc68b-1e4c-43ad-81c1-227c1e4f59e6'
> @@ -108,7 +134,29 @@
>               # callback to the rw to draw the cached pagecount strings
>               self.__rw.drawPageCounts(page, len(self.__saved_page_states))
>
> +     def setFont(self, psfontname, size, leading=None):
> +             if psfontname not in getRegisteredFontNames():
> +                     if psfontname in dabo.reportTTFontFileMap:
> +                             psfontfile = 
> dabo.reportTTFontFileMap[psfontname]
> +                     else:
> +                             psfontfile = "%s.ttf" % psfontname
> +                     try:
> +                             registerFont(TTFont(psfontname, psfontfile))
> +                     except TTFError:
> +                             dabo.log.info(_("Font file can not be found: 
> %s") % psfontfile)
> +             canvas.Canvas.setFont(self, psfontname, size, leading)
>
> +     def setFont(self, psfontname, size, leading=None):
> +             if psfontname not in getRegisteredFontNames():
> +                     if psfontname in dabo.reportTTFontFileMap:
> +                             psfontfile = 
> dabo.reportTTFontFileMap[psfontname]
> +                     else:
> +                             psfontfile = "%s.ttf" % psfontname
> +                     try:
> +                             registerFont(TTFont(psfontname, psfontfile))
> +                     except TTFError:
> +                             dabo.log.info(_("Font file can not be found: 
> %s") % psfontfile)
> +             canvas.Canvas.setFont(self, psfontname, size, leading)
>
>   class ReportObjectCollection(list):
>       """Abstract ordered list of things like variables, groups, and band 
> objects."""
> @@ -1330,13 +1378,18 @@
>    

Look into your commit source changes, please.
Code is duplicated until @@ -1330,13 +1378,18 @@ tag.
My version of patch was correct.

-- 
Regards
Jacek Kałucki


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to