Example #1
0
text = u"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum varius nulla cursus lorem rhoncus a fermentum nisl egestas. Aenean amet. World"

acc = 0
for letter in text:
  context.save()
  pangocairo_context = pangocairo.CairoContext(context)
  layout = pangocairo_context.create_layout()
  layout.set_font_description(font)
  layout.set_text(letter)
  context.set_source_rgb(0, 0, 0)
  pangocairo_context.update_layout(layout)

  width, height = numpy.array(layout.get_size(), dtype='float')/pango.SCALE

  x, y, th = curve.point_at(acc/curve.total_length)[0]
  context.scale(2.54, 2.54)
  context.translate(-dx, -dy)
  context.translate(x, y)
  context.rotate(th)
  context.translate(0, -height)
  pangocairo_context.show_layout(layout)

  acc += width

  context.restore()

surf.flush()
surf.finish()

dc.EndPage()