QScintilla/Exporters/ExporterPDF.py

changeset 429
dcc623c99907
parent 25
5163e6f94ba5
child 535
4b00d7336e19
--- a/QScintilla/Exporters/ExporterPDF.py	Thu Jul 29 11:02:09 2010 +0200
+++ b/QScintilla/Exporters/ExporterPDF.py	Thu Jul 29 17:25:00 2010 +0200
@@ -74,7 +74,7 @@
         @param objectData data to be written (integer or string)
         """
         if isinstance(objectData, int):
-            self.file.write("%d" % objectData)
+            self.file.write("{0:d}".format(objectData))
         else:
             self.file.write(objectData)
         
@@ -108,7 +108,7 @@
         self.write("\n0000000000 65535 f \n")
         ind = 0
         while ind < len(self.offsetList):
-            self.write("%010d 00000 n \n" % self.offsetList[ind])
+            self.write("{0:010d} 00000 n \n".format(self.offsetList[ind]))
             ind += 1
         return xrefStart
 
@@ -170,10 +170,11 @@
         if styleNext != self.styleCurrent or style_ == -1:
             if self.style[self.styleCurrent].font != self.style[styleNext].font or \
                style_ == -1:
-                buf += "/F%d %d Tf " % (self.style[styleNext].font + 1, self.fontSize)
+                buf += "/F{0:d} {1:d} Tf ".format(self.style[styleNext].font + 1, 
+                                                  self.fontSize)
             if self.style[self.styleCurrent].fore != self.style[styleNext].fore or \
                style_ == -1:
-                buf += "%srg " % self.style[styleNext].fore
+                buf += "{0}rg ".format(self.style[styleNext].fore)
         return buf
         
     def startPDF(self):
@@ -206,8 +207,8 @@
         # to be inserted (PDF1.4Ref(p317))
         for i in range(4):
             buffer = \
-                "<</Type/Font/Subtype/Type1/Name/F%d/BaseFont/%s/Encoding/%s>>\n" % \
-                (i + 1, PDFfontNames[self.fontSet * 4 + i], PDF_ENCODING)
+                "<</Type/Font/Subtype/Type1/Name/F{0:d}/BaseFont/{1}/Encoding/{2}>>\n"\
+                .format(i + 1, PDFfontNames[self.fontSet * 4 + i], PDF_ENCODING)
             self.oT.add(buffer)
         
         self.pageContentStart = self.oT.index
@@ -229,31 +230,31 @@
         pageObjectStart = self.oT.index
         pagesRef = pageObjectStart + self.pageCount
         for i in range(self.pageCount):
-            buffer = "<</Type/Page/Parent %d 0 R\n" \
-                     "/MediaBox[ 0 0 %d %d]\n" \
-                     "/Contents %d 0 R\n" \
-                     "/Resources %d 0 R\n>>\n" % \
-                     (pagesRef, self.pageWidth, self.pageHeight, 
-                      self.pageContentStart + i, resourceRef)
+            buffer = "<</Type/Page/Parent {0:d} 0 R\n" \
+                     "/MediaBox[ 0 0 {1:d} {2:d}]\n" \
+                     "/Contents {3:d} 0 R\n" \
+                     "/Resources {4:d} 0 R\n>>\n".format(
+                     pagesRef, self.pageWidth, self.pageHeight, 
+                     self.pageContentStart + i, resourceRef)
             self.oT.add(buffer)
         
         # create page tree object (PDF1.4Ref(p86))
         self.pageData = "<</Type/Pages/Kids[\n"
         for i in range(self.pageCount):
-            self.pageData += "%d 0 R\n" % (pageObjectStart + i)
-        self.pageData += "]/Count %d\n>>\n" % self.pageCount
+            self.pageData += "{0:d} 0 R\n".format(pageObjectStart + i)
+        self.pageData += "]/Count {0:d}\n>>\n".format(self.pageCount)
         self.oT.add(self.pageData)
         
         # create catalog object (PDF1.4Ref(p83))
-        buffer = "<</Type/Catalog/Pages %d 0 R >>\n" % pagesRef
+        buffer = "<</Type/Catalog/Pages {0:d} 0 R >>\n".format(pagesRef)
         catalogRef = self.oT.add(buffer)
         
         # append the cross reference table (PDF1.4Ref(p64))
         xref = self.oT.xref()
         
         # end the file with the trailer (PDF1.4Ref(p67))
-        buffer = "trailer\n<< /Size %d /Root %d 0 R\n>>\nstartxref\n%d\n%%%%EOF\n" % \
-                 (self.oT.index, catalogRef, xref)
+        buffer = "trailer\n<< /Size {0:d} /Root {1:d} 0 R\n>>\nstartxref\n{2:d}\n%%EOF\n"\
+                 .format(self.oT.index, catalogRef, xref)
         self.oT.write(buffer)
         
     def add(self, ch, style_):
@@ -299,7 +300,7 @@
                 self.styleCurrent = self.stylePrev
             else:
                 self.pageData += self.segStyle
-            self.pageData += "(%s)Tj\n" % self.segment
+            self.pageData += "({0})Tj\n".format(self.segment)
             self.segment = ""
             self.segStyle = ""
             self.justWhiteSpace = True
@@ -315,7 +316,8 @@
         self.yPos = self.pageHeight - self.pageMargins["top"] - fontAscender
         
         # start a new page
-        buffer = "BT 1 0 0 1 %d %d Tm\n" % (self.pageMargins["left"], int(self.yPos))
+        buffer = "BT 1 0 0 1 {0:d} {1:d} Tm\n".format(
+            self.pageMargins["left"], int(self.yPos))
         
         # force setting of initial font, colour
         self.segStyle = self.setStyle(-1)
@@ -334,8 +336,8 @@
         
         # build actual text object; +3 is for "ET\n"
         # PDF1.4Ref(p38) EOL marker preceding endstream not counted
-        textObj = "<</Length %d>>\nstream\n%sET\nendstream\n" % \
-                  (len(self.pageData) - 1 + 3, self.pageData)
+        textObj = "<</Length {0:d}>>\nstream\n{1}ET\nendstream\n".format(
+                  len(self.pageData) - 1 + 3, self.pageData)
         self.oT.add(textObj)
         
     def nextLine(self):
@@ -359,7 +361,7 @@
         if self.firstLine:
             # avoid breakage due to locale setting
             f = int(self.leading * 10 + 0.5)
-            buffer = "0 -%d.%d TD\n" % (f // 10, f % 10)
+            buffer = "0 -{0:d}.{1:d} TD\n".format(f // 10, f % 10)
             self.firstLine = False
         else:
             buffer = "T*\n"
@@ -389,9 +391,9 @@
         for component in [color.red(), color.green(), color.blue()]:
             c = (component * 1000 + 127) // 255
             if c == 0 or c == 1000:
-                pdfColor += "%d " % (c // 1000)
+                pdfColor += "{0:d} ".format(c // 1000)
             else:
-                pdfColor += "0.%03d " % c
+                pdfColor += "0.{0:03d} ".format(c)
         return pdfColor
         
     def exportSource(self):

eric ide

mercurial