mkpre.py
1 #!/usr/bin/env python 2 """mkpre.py: Convert ASCII art into something that groff can render to 3 text, HTML, or postscript/pdf 4 5 Copyright (C) 2006 Jeff EpleR 6 License: GPL V2 7 """ 8 9 def substall(s, r): 10 for a, b in r: s = s.replace(a, b) 11 return s 12 13 def mkpre(s): 14 msubst = [('\\', '\\\\'), (' ', '\\ ')] 15 hsubst = [('&', '&'), ('<', '<'), ('>', '>'), 16 (' ', ' '), ('\n', '<BR>'), ('\\', '\')] 17 18 h = "".join(s) 19 print ".ie '\\*[.T]'html' .HTML <PRE>%s</PRE>" % substall(h, hsubst) 20 print ".el \\{\\" 21 print ".ft CR" 22 for i, line in enumerate(s): 23 if i != 0: 24 print r".PP" 25 print substall(line.strip("\n"), msubst) 26 print ".ft R" 27 print r"\}" 28 29 import sys 30 mkpre(list(sys.stdin))