本文整理汇总了Python中reportlab.pdfbase.ttfonts.TTFont类的典型用法代码示例。如果您正苦于以下问题:Python TTFont类的具体用法?Python TTFont怎么用?Python TTFont使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TTFont类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: testStringWidth
def testStringWidth(self):
"Test TTFont.stringWidth"
font = TTFont("Vera", "Vera.ttf")
self.assert_(font.stringWidth("test", 10) > 0)
width = font.stringWidth(utf8(0x2260) * 2, 1000)
expected = font.face.getCharWidth(0x2260) * 2
self.assertNear(width,expected)
开发者ID:Distrotech,项目名称:reportlab,代码行数:7,代码来源:test_pdfbase_ttfonts.py
示例2: testStringWidth
def testStringWidth(self):
"Test TTFont.stringWidth"
font = TTFont("TestFont", "luxiserif.ttf")
self.assert_(font.stringWidth("test", 10) > 0)
width = font.stringWidth(utf8(0x2260) * 2, 1000)
expected = font.face.getCharWidth(0x2260) * 2
self.assert_(abs(width - expected) < 0.01, "%g != %g" % (width, expected))
开发者ID:eaudeweb,项目名称:naaya,代码行数:7,代码来源:test_pdfbase_ttfonts.py
示例3: testSubsetInternalName
def testSubsetInternalName(self):
"Tests TTFont.getSubsetInternalName"
doc = PDFDocument()
font = TTFont("Vera", "Vera.ttf")
# Actually generate some subsets
text = b"".join(utf8(i) for i in range(513))
font.splitString(text, doc)
self.assertRaises(IndexError, font.getSubsetInternalName, -1, doc)
self.assertRaises(IndexError, font.getSubsetInternalName, 3, doc)
self.assertEquals(font.getSubsetInternalName(0, doc), "/F1+0")
self.assertEquals(font.getSubsetInternalName(1, doc), "/F1+1")
self.assertEquals(font.getSubsetInternalName(2, doc), "/F1+2")
self.assertEquals(doc.delayedFonts, [font])
开发者ID:Distrotech,项目名称:reportlab,代码行数:13,代码来源:test_pdfbase_ttfonts.py
示例4: testSplitStringSpaces
def testSplitStringSpaces(self):
# In order for justification (word spacing) to work, the space
# glyph must have a code 32, and no other character should have
# that code in any subset, or word spacing will be applied to it.
doc = PDFDocument()
font = TTFont("Vera", "Vera.ttf")
text = b"".join(utf8(i) for i in range(512, -1, -1))
chunks = font.splitString(text, doc)
state = font.state[doc]
self.assertEquals(state.assignments[32], 32)
self.assertEquals(state.subsets[0][32], 32)
self.assertEquals(state.subsets[1][32], 32)
开发者ID:Distrotech,项目名称:reportlab,代码行数:13,代码来源:test_pdfbase_ttfonts.py
示例5: testSubsetInternalName
def testSubsetInternalName(self):
"Tests TTFont.getSubsetInternalName"
doc = PDFDocument()
font = TTFont("TestFont", "luxiserif.ttf")
# Actually generate some subsets
text = string.join(map(utf8, range(0, 513)), "")
font.splitString(text, doc)
self.assertRaises(IndexError, font.getSubsetInternalName, -1, doc)
self.assertRaises(IndexError, font.getSubsetInternalName, 3, doc)
self.assertEquals(font.getSubsetInternalName(0, doc), "/F1+0")
self.assertEquals(font.getSubsetInternalName(1, doc), "/F1+1")
self.assertEquals(font.getSubsetInternalName(2, doc), "/F1+2")
self.assertEquals(doc.delayedFonts, [font])
开发者ID:ShaulBarkan,项目名称:PRION,代码行数:13,代码来源:test_pdfbase_ttfonts.py
示例6: testSplitString
def testSplitString(self):
"Tests TTFont.splitString"
doc = PDFDocument()
font = TTFont("TestFont", "luxiserif.ttf")
text = string.join(map(utf8, range(0, 512)), "")
allchars = string.join(map(chr, range(0, 256)), "")
chunks = [(0, allchars), (1, allchars)]
self.assertEquals(font.splitString(text, doc), chunks)
# Do it twice
self.assertEquals(font.splitString(text, doc), chunks)
text = string.join(map(utf8, range(511, -1, -1)), "")
allchars = string.join(map(chr, range(255, -1, -1)), "")
chunks = [(1, allchars), (0, allchars)]
self.assertEquals(font.splitString(text, doc), chunks)
开发者ID:eaudeweb,项目名称:naaya,代码行数:15,代码来源:test_pdfbase_ttfonts.py
示例7: testParallelConstruction
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)
开发者ID:ShaulBarkan,项目名称:PRION,代码行数:12,代码来源:test_pdfbase_ttfonts.py
示例8: testSplitString
def testSplitString(self):
"Tests TTFont.splitString"
doc = PDFDocument()
font = TTFont("Vera", "Vera.ttf")
text = b"".join(utf8(i) for i in range(511))
allchars = b"".join(int2Byte(i) for i in range(256))
nospace = allchars[:32] + allchars[33:]
chunks = [(0, allchars), (1, nospace)]
self.assertEquals(font.splitString(text, doc), chunks)
# Do it twice
self.assertEquals(font.splitString(text, doc), chunks)
text = b"".join(utf8(i) for i in range(510, -1, -1))
allchars = b"".join(int2Byte(i) for i in range(255, -1, -1))
nospace = allchars[:223] + allchars[224:]
chunks = [(1, nospace), (0, allchars)]
self.assertEquals(font.splitString(text, doc), chunks)
开发者ID:Distrotech,项目名称:reportlab,代码行数:17,代码来源:test_pdfbase_ttfonts.py
示例9: testSplitString
def testSplitString(self):
"Tests TTFont.splitString"
doc = PDFDocument()
font = TTFont("Vera", "Vera.ttf")
text = string.join(map(utf8, xrange(0, 511)), "")
allchars = string.join(map(chr, xrange(0, 256)), "")
nospace = allchars[:32] + allchars[33:]
chunks = [(0, allchars), (1, nospace)]
self.assertEquals(font.splitString(text, doc), chunks)
# Do it twice
self.assertEquals(font.splitString(text, doc), chunks)
text = string.join(map(utf8, range(510, -1, -1)), "")
allchars = string.join(map(chr, range(255, -1, -1)), "")
nospace = allchars[:223] + allchars[224:]
chunks = [(1, nospace), (0, allchars)]
self.assertEquals(font.splitString(text, doc), chunks)
开发者ID:B-Rich,项目名称:M2M,代码行数:17,代码来源:test_pdfbase_ttfonts.py
示例10: testParallelConstruction
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)
开发者ID:eaudeweb,项目名称:naaya,代码行数:10,代码来源:test_pdfbase_ttfonts.py
示例11: testParallelConstruction
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
开发者ID:Distrotech,项目名称:reportlab,代码行数:17,代码来源:test_pdfbase_ttfonts.py
示例12: no_longer_testAddObjectsResets
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
开发者ID:Distrotech,项目名称:reportlab,代码行数:13,代码来源:test_pdfbase_ttfonts.py
示例13: testAddObjects
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')
开发者ID:ShaulBarkan,项目名称:PRION,代码行数:19,代码来源:test_pdfbase_ttfonts.py
示例14: testAddObjects
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
开发者ID:Distrotech,项目名称:reportlab,代码行数:24,代码来源:test_pdfbase_ttfonts.py
示例15: testAddObjectsEmpty
def testAddObjectsEmpty(self):
"TTFont.addObjects should not fail when no characters were used"
font = TTFont("Vera", "Vera.ttf")
doc = PDFDocument()
font.addObjects(doc)
开发者ID:Distrotech,项目名称:reportlab,代码行数:5,代码来源:test_pdfbase_ttfonts.py
注:本文中的reportlab.pdfbase.ttfonts.TTFont类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论