README
1All of the documentation and the majority of the work done was by
2 Christopher Jones (cjones@insub.org).
3Packaged by Peter Waller <p@pwaller.net>,
4various enhancements by Stefano Rivera <stefano@rivera.za.net>.
5
6 _|_| _| _| _|
7_|_|_| _| _| _| _|_|_| _| _|_| _|_|_|_|
8_| _| _| _| _|_|_|_| _| _| _| _| _|_|_|_| _|
9_| _| _| _| _| _| _| _| _| _| _|
10_|_|_| _|_|_| _| _| _|_|_| _| _|_|_| _|_|
11_| _| _|
12_| _|_| _|_|
13
14
15SYNOPSIS
16
17 pyfiglet is a full port of FIGlet (http://www.figlet.org/) into pure
18 python. It takes ASCII text and renders it in ASCII art fonts (like
19 the title above, which is the 'block' font).
20
21FAQ
22
23 Q. Why? WHY?!
24 A. I was bored. Really bored.
25
26 Q. What the hell does this do that FIGlet doesn't?
27 A. Not much, except allow your font collection to live
28 in one big zipfile. The point of this code is to embed
29 dynamic figlet rendering in Python without having to
30 execute an external program, although it operates on the
31 commandline as well. See below for USAGE details. You can
32 think of this as a python FIGlet driver.
33
34 Q. Does this support kerning/smushing like FIGlet?
35 A. Yes, yes it does. Output should be identical to FIGlet. If
36 not, this is a bug, which you should report to me!
37
38 Q. Can I use/modify/redstribute this code?
39 A. Yes, under the terms of the GPL (see LICENSE below).
40
41 Q. I improved this code, what should I do with it?
42 A. You can mail patches to <cjones@insub.org>. Particularly bugfixes.
43 If you make changes to the kerning/mushing/rendering portion, PLEASE
44 test it throroughly. The code is fragile and complex.
45
46
47USAGE
48
49 You can use pyfiglet in one of two ways. First, it operates on the
50 commandline as C figlet does and supports most of the same options.
51 Run with --help to see a full list of tweaks. Mostly you will only
52 use -f to change the font. It defaults to standard.flf.
53
54 tools/pyfiglet 'text to render'
55
56 Pyfiglet is also a library that can be used in python code:
57
58 from pyfiglet import Figlet
59 f = Figlet(font='slant')
60 print f.renderText('text to render')
61
62
63AUTHOR
64
65 pyfiglet is a *port* of FIGlet, and much of the code is directly translated
66 from the C source. I optimized some bits where I could, but because the smushing
67 and kerning code is so incredibly complex, it was safer and easier to port the logic
68 almost exactly. Therefore, I can't really take much credit for authorship, just
69 translation. The original authors of FIGlet are listed on their website at
70 http://www.figlet.org/.
71
72 The Python port was done by Christopher Jones <cjones@insub.org> (http://gruntle.org/).
73 It is currently maintained by Peter Waller (p@pwaller.net, github:pwaller)
74
75 The toilet fonts (.tlf) were imported from toilet 0.3-1, by Sam Hocevar <sam@zoy.org>.
76
77THANKS
78
79 github:stefanor for various bug fixes and improvements and the debian packaging.
80
81 Thanks to anyone who contributed an issue or code on github!
82
83LICENSE
84
85 Copyright (C) 2007 Christopher Jones <cjones@insub.org>
86
87 This program is free software; you can redistribute it and/or
88 modify it under the terms of the GNU General Public License
89 as published by the Free Software Foundation; either version 2
90 of the License, or (at your option) any later version.
91
92 This program is distributed in the hope that it will be useful,
93 but WITHOUT ANY WARRANTY; without even the implied warranty of
94 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
95 GNU General Public License for more details.
96
97 You should have received a copy of the GNU General Public License
98 along with this program; if not, write to the Free Software
99 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
100
101 (see LICENSE for full details)
102
103CHANGELOG
104
105 2018-10-17 0.7.6
106
107 #57 Implement colored print
108 #53 Allow fonts to be specified by path
109
110 2016-06-12 0.7.5
111
112 #46 Add 100+ fonts from java.de figlet fonts collection v4.0
113 #48 Include python3 in testing
114
115 2015-05-27 0.7.4
116
117 #43 Don't leak file handles
118
119 2015-04-14 0.7.3
120
121 #41 Add newline and text wrapping support
122
123 2014-09-14 0.7.2
124
125 #35 Add this CHANGELOG
126 #36 Bug fix for #34 (broken --reverse and --flip)
127 (reported "character mapping must return integer, None or unicode")
128
129 2014-07-27 0.7.1
130
131 #29 Fix for UTF8 regression
132 #31 Add __main__ entry point
133 #32 Pep8 the code and minor refactoring
134 #33 Trove classifiers update
135
136 2014-06-02 0.7
137
138 #9 Add --list_fonts and --info_font
139 #10 Add tools/pyfiglet_example for listing all fonts
140 #11 Fix the pyfiglet command (had bad python path)
141 #12 Pyflakes fixes
142 #13 Configure Travis Continuous Integration
143 #17 Documentation usage sample fix
144 #19 Enable pyfiglet to use extended ASCII chars
145 #20 Add two cyrillic fonts
146 #21 Python 3 support
147 #27 Code improvements
148 #28 Human readable font list (-l)
149