Ejemplo n.º 1
0
 def testParallelConstruction(self):
     "Test that TTFont can be used for different documents at the same time"
     ttfAsciiReadable = rl_config.ttfAsciiReadable
     try:
         rl_config.ttfAsciiReadable = 1
         doc1 = PDFDocument()
         doc2 = PDFDocument()
         font = TTFont("Vera", "Vera.ttf")
         self.assertEquals(font.splitString('hello ', doc1),
                           [(0, b'hello ')])
         self.assertEquals(font.splitString('hello ', doc2),
                           [(0, b'hello ')])
         self.assertEquals(
             font.splitString(u'\u0410\u0411'.encode('UTF-8'), doc1),
             [(0, b'\x80\x81')])
         self.assertEquals(
             font.splitString(u'\u0412'.encode('UTF-8'), doc2),
             [(0, b'\x80')])
         font.addObjects(doc1)
         self.assertEquals(
             font.splitString(u'\u0413'.encode('UTF-8'), doc2),
             [(0, b'\x81')])
         font.addObjects(doc2)
     finally:
         rl_config.ttfAsciiReadable = ttfAsciiReadable
Ejemplo n.º 2
0
 def testAddObjects(self):
     "Test TTFont.addObjects"
     # Actually generate some subsets
     ttfAsciiReadable = rl_config.ttfAsciiReadable
     try:
         rl_config.ttfAsciiReadable = 1
         doc = PDFDocument()
         font = TTFont("Vera", "Vera.ttf")
         font.splitString('a', doc)  # create some subset
         internalName = font.getSubsetInternalName(0, doc)[1:]
         font.addObjects(doc)
         pdfFont = doc.idToObject[internalName]
         self.assertEquals(doc.idToObject['BasicFonts'].dict[internalName],
                           pdfFont)
         self.assertEquals(pdfFont.Name, internalName)
         self.assertEquals(pdfFont.BaseFont,
                           "AAAAAA+BitstreamVeraSans-Roman")
         self.assertEquals(pdfFont.FirstChar, 0)
         self.assertEquals(pdfFont.LastChar, 127)
         self.assertEquals(len(pdfFont.Widths.sequence), 128)
         toUnicode = doc.idToObject[pdfFont.ToUnicode.name]
         self.assert_(toUnicode.content != "")
         fontDescriptor = doc.idToObject[pdfFont.FontDescriptor.name]
         self.assertEquals(fontDescriptor.dict['Type'], '/FontDescriptor')
     finally:
         rl_config.ttfAsciiReadable = ttfAsciiReadable
Ejemplo n.º 3
0
 def testParallelConstruction(self):
     "Test that TTFont can be used for different documents at the same time"
     doc1 = PDFDocument()
     doc2 = PDFDocument()
     font = TTFont("TestFont", "luxiserif.ttf")
     self.assertEquals(font.splitString("ab", doc1), [(0, "\0\1")])
     self.assertEquals(font.splitString("b", doc2), [(0, "\0")])
     font.addObjects(doc1)
     self.assertEquals(font.splitString("c", doc2), [(0, "\1")])
     font.addObjects(doc2)
Ejemplo n.º 4
0
 def testParallelConstruction(self):
     "Test that TTFont can be used for different documents at the same time"
     doc1 = PDFDocument()
     doc2 = PDFDocument()
     font = TTFont("TestFont", "luxiserif.ttf")
     self.assertEquals(font.splitString(u'hello ', doc1), [(0, 'hello ')])
     self.assertEquals(font.splitString(u'hello ', doc2), [(0, 'hello ')])
     self.assertEquals(font.splitString(u'\u0410\u0411'.encode('UTF-8'), doc1), [(0, '\x80\x81')])
     self.assertEquals(font.splitString(u'\u0412'.encode('UTF-8'), doc2), [(0, '\x80')])
     font.addObjects(doc1)
     self.assertEquals(font.splitString(u'\u0413'.encode('UTF-8'), doc2), [(0, '\x81')])
     font.addObjects(doc2)
Ejemplo n.º 5
0
 def no_longer_testAddObjectsResets(self):
     "Test that TTFont.addObjects resets the font"
     # Actually generate some subsets
     doc = PDFDocument()
     font = TTFont("Vera", "Vera.ttf")
     font.splitString('a', doc)  # create some subset
     doc = PDFDocument()
     font.addObjects(doc)
     self.assertEquals(font.frozen, 0)
     self.assertEquals(font.nextCode, 0)
     self.assertEquals(font.subsets, [])
     self.assertEquals(font.assignments, {})
     font.splitString('ba', doc)  # should work
Ejemplo n.º 6
0
 def no_longer_testAddObjectsResets(self):
     "Test that TTFont.addObjects resets the font"
     # Actually generate some subsets
     doc = PDFDocument()
     font = TTFont("Vera", "Vera.ttf")
     font.splitString('a', doc)            # create some subset
     doc = PDFDocument()
     font.addObjects(doc)
     self.assertEquals(font.frozen, 0)
     self.assertEquals(font.nextCode, 0)
     self.assertEquals(font.subsets, [])
     self.assertEquals(font.assignments, {})
     font.splitString('ba', doc)           # should work
Ejemplo n.º 7
0
 def testParallelConstruction(self):
     "Test that TTFont can be used for different documents at the same time"
     doc1 = PDFDocument()
     doc2 = PDFDocument()
     font = TTFont("TestFont", "luxiserif.ttf")
     self.assertEquals(font.splitString(u'hello ', doc1), [(0, 'hello ')])
     self.assertEquals(font.splitString(u'hello ', doc2), [(0, 'hello ')])
     self.assertEquals(
         font.splitString(u'\u0410\u0411'.encode('UTF-8'), doc1),
         [(0, '\x80\x81')])
     self.assertEquals(font.splitString(u'\u0412'.encode('UTF-8'), doc2),
                       [(0, '\x80')])
     font.addObjects(doc1)
     self.assertEquals(font.splitString(u'\u0413'.encode('UTF-8'), doc2),
                       [(0, '\x81')])
     font.addObjects(doc2)
Ejemplo n.º 8
0
 def testParallelConstruction(self):
     "Test that TTFont can be used for different documents at the same time"
     ttfAsciiReadable = rl_config.ttfAsciiReadable
     try:
         rl_config.ttfAsciiReadable = 1
         doc1 = PDFDocument()
         doc2 = PDFDocument()
         font = TTFont("Vera", "Vera.ttf")
         self.assertEquals(font.splitString('hello ', doc1), [(0, b'hello ')])
         self.assertEquals(font.splitString('hello ', doc2), [(0, b'hello ')])
         self.assertEquals(font.splitString(u'\u0410\u0411'.encode('UTF-8'), doc1), [(0, b'\x80\x81')])
         self.assertEquals(font.splitString(u'\u0412'.encode('UTF-8'), doc2), [(0, b'\x80')])
         font.addObjects(doc1)
         self.assertEquals(font.splitString(u'\u0413'.encode('UTF-8'), doc2), [(0, b'\x81')])
         font.addObjects(doc2)
     finally:
         rl_config.ttfAsciiReadable = ttfAsciiReadable
Ejemplo n.º 9
0
 def testAddObjects(self):
     "Test TTFont.addObjects"
     # Actually generate some subsets
     doc = PDFDocument()
     font = TTFont("TestFont", "luxiserif.ttf")
     font.splitString('a', doc)            # create some subset
     internalName = font.getSubsetInternalName(0, doc)[1:]
     font.addObjects(doc)
     pdfFont = doc.idToObject[internalName]
     self.assertEquals(doc.idToObject['BasicFonts'].dict[internalName], pdfFont)
     self.assertEquals(pdfFont.Name, internalName)
     self.assertEquals(pdfFont.BaseFont, "AAAAAA+LuxiSerif")
     self.assertEquals(pdfFont.FirstChar, 0)
     self.assertEquals(pdfFont.LastChar, 127)
     self.assertEquals(len(pdfFont.Widths.sequence), 128)
     toUnicode = doc.idToObject[pdfFont.ToUnicode.name]
     self.assert_(toUnicode.content != "")
     fontDescriptor = doc.idToObject[pdfFont.FontDescriptor.name]
     self.assertEquals(fontDescriptor.dict['Type'], '/FontDescriptor')
Ejemplo n.º 10
0
 def testAddObjects(self):
     "Test TTFont.addObjects"
     # Actually generate some subsets
     doc = PDFDocument()
     font = TTFont("TestFont", "luxiserif.ttf")
     font.splitString('a', doc)  # create some subset
     internalName = font.getSubsetInternalName(0, doc)[1:]
     font.addObjects(doc)
     pdfFont = doc.idToObject[internalName]
     self.assertEquals(doc.idToObject['BasicFonts'].dict[internalName],
                       pdfFont)
     self.assertEquals(pdfFont.Name, internalName)
     self.assertEquals(pdfFont.BaseFont, "AAAAAA+LuxiSerif")
     self.assertEquals(pdfFont.FirstChar, 0)
     self.assertEquals(pdfFont.LastChar, 127)
     self.assertEquals(len(pdfFont.Widths.sequence), 128)
     toUnicode = doc.idToObject[pdfFont.ToUnicode.name]
     self.assert_(toUnicode.content != "")
     fontDescriptor = doc.idToObject[pdfFont.FontDescriptor.name]
     self.assertEquals(fontDescriptor.dict['Type'], '/FontDescriptor')
Ejemplo n.º 11
0
 def testAddObjects(self):
     "Test TTFont.addObjects"
     # Actually generate some subsets
     ttfAsciiReadable = rl_config.ttfAsciiReadable
     try:
         rl_config.ttfAsciiReadable = 1
         doc = PDFDocument()
         font = TTFont("Vera", "Vera.ttf")
         font.splitString('a', doc)            # create some subset
         internalName = font.getSubsetInternalName(0, doc)[1:]
         font.addObjects(doc)
         pdfFont = doc.idToObject[internalName]
         self.assertEquals(doc.idToObject['BasicFonts'].dict[internalName], pdfFont)
         self.assertEquals(pdfFont.Name, internalName)
         self.assertEquals(pdfFont.BaseFont, "AAAAAA+BitstreamVeraSans-Roman")
         self.assertEquals(pdfFont.FirstChar, 0)
         self.assertEquals(pdfFont.LastChar, 127)
         self.assertEquals(len(pdfFont.Widths.sequence), 128)
         toUnicode = doc.idToObject[pdfFont.ToUnicode.name]
         self.assert_(toUnicode.content != "")
         fontDescriptor = doc.idToObject[pdfFont.FontDescriptor.name]
         self.assertEquals(fontDescriptor.dict['Type'], '/FontDescriptor')
     finally:
         rl_config.ttfAsciiReadable = ttfAsciiReadable
Ejemplo n.º 12
0
 def testAddObjectsEmpty(self):
     "TTFont.addObjects should not fail when no characters were used"
     font = TTFont("Vera", "Vera.ttf")
     doc = PDFDocument()
     font.addObjects(doc)
Ejemplo n.º 13
0
 def testAddObjectsEmpty(self):
     "TTFont.addObjects should not fail when no characters were used"
     font = TTFont("Vera", "Vera.ttf")
     doc = PDFDocument()
     font.addObjects(doc)