You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.4 KiB

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # figfont libcaca FIGfont test program
  5. # Copyright (c) 2010 Alex Foulon <alxf@lavabit.com>
  6. #
  7. # This file is a Python port of "examples/figfont.c"
  8. # which is:
  9. # Copyright (c) 2007-2010 Sam Hocevar <sam@hocevar.net>
  10. # All Rights Reserverd
  11. #
  12. # This library is free software. It comes without any warranty, to
  13. # the extent permitted by applicable law. You can redistribute it
  14. # and/or modify it under the terms of the Do What The Fuck You Want
  15. # To Public License, Version 2, as published by Sam Hocevar. See
  16. # http://sam.zoy.org/wtfpl/COPYING for more details.
  17. #
  18. import os
  19. import sys
  20. import caca
  21. from caca.canvas import Canvas, CanvasError
  22. def main():
  23. """ Main function. """
  24. color = 0
  25. if len(sys.argv) < 3:
  26. sys.stderr.write("Usage: %s <figfont file> <word>\n" \
  27. % os.path.basename(sys.argv[0]))
  28. sys.exit(2)
  29. try:
  30. cv = Canvas(0, 0)
  31. except CanvasError, err:
  32. sys.stderr.write("%s\n" % err)
  33. sys.exit(2)
  34. if cv.set_figfont(sys.argv[1]):
  35. sys.stderr.write("Could not open font...\n")
  36. sys.exit(2)
  37. for c in sys.argv[2].decode('utf8'):
  38. color += 4
  39. cv.set_color_ansi(1+(color % 15), caca.COLOR_TRANSPARENT)
  40. cv.put_figchar(c)
  41. sys.stderr.write(cv.export_to_memory("utf8"))
  42. if __name__ == "__main__":
  43. main()