A commandline text renderer
gozer [options] [file]
gozer is a commandline text rendering utility for creating images from abitrary text in antialised truetype fonts using optional fontstyles, wordwrapping and layout control. gozer uses the imlib2 library to create and save images. gozer has a few options, detailed below. Specify [file] as the filename to save the rendered text to. Options can also be specified in an rc file , allowing you to save commonly used options (such as fontpaths) for reuse. The rc file $HOME/.gozerrc is always parsed for default settings, and other rc files can be specified on the commandline to override these options. See RC FILES for information on syntax.
-h, --help
display help output and exit.
-v, --version
output version information and exit.
-b, --background COL
use COL as the background color, see COLOUR_DEFINITIONS for syntax, default is transparent (0,0,0,0).
-f, --foreground COL
use COL as the foreground color. Default is white (255,255,255,255).
-F, --font STR
draw using font STR. Size is specified with the name, eg 'arial/12' for 12pt arial, default is 20thcent/16 (a font supplied by gozer).
-j, --justification STR
justify text, allowed values for STR are left, right, center or block. Default is left.
-l, --line-spacing INT
separate multiple lines by INT pixels, default 1.
-p, --fontpath STR
colon seperated list of font directories to search for fonts in. Best used in the RCFILE to save typing it each time.
-q, --quality INT
1-100, effects quality of output for certain formats, e.g. jpeg compression (higher means higher quality).
-P, --pipe
Pipe input text from standard in instead of reading it from a file.
-r, --rc-file STR
use STR as the rc file to look for extra options, default is $HOME/.gozerrc
-s, --style STR
use STR as a file to load a fontstyle from, see FONTSTYLES for syntax.
-t, --text STR
use STR as text to draw.
-T, --textfile STR
read text to draw from file STR.
-w, --wrap INT
wordwrap the text to INT pixels.
-x, --x-offset INT
Offset text horizontally from top left by INT pixels.
-y, --y-offset INT
Offset text vertically from top left by INT pixels.
rc file syntax is simple. The '#' character at the start of a line denotes that the line is a comment, otherwise lines are started with the name of a long option from the commandline (without prefixing the --), some whitespace and the value of the option. E.g.
fontpath /usr/share/truetype:/usr/local/share/truetype
NOTE that options in a --rc-file specified rc file OVERRIDE those from the commandline, but the $HOME/.gozerrc file is always read first for default settings.
You can define colours in 4 ways. Using the html style: #RRGGBB (in which case alpha defaults to 255),
#RRGGBBAA, or an alternative style:
r,g,b or r,g,b,a (no spaces between commas please).
eg for white text, either use #ffffff, #ffffffff, "255,255,255" or "255,255,255,255". For red, #ff0000, #ff0000ff or "255,0,0" etc.
fontstyles can be defined in the EFM syntax (for compatibility only, these are not as powerful), or the recommended syntax defined here.
The first line contains the line:
#Style
The second, an optional style name,
#NAME mystyle
There follows a list of layers. Each is described by this rule:
RED GREEN BLUE ALPHA X_OFFSET Y_OFFSET
The special values or 0,0,0,0 for red, green, blue and alpha specify the positioning of the actual text in it's selected colour.
For example, the following style defines a very simple shadow for text:
#Style
#NAME shadow
0 0 0 128 -3 -3
0 0 0 0 0 0
None known.
Copyright Tom Gilbert 2000
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies of the Software, its documentation and marketing & publicity materials, and acknowledgment shall be given in the documentation, materials and software packages that this Software was used.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Email bugs and feature requests to