asciitoppm
Convert ASCII art to PPM image
SYNOPSIS
asciitoppm [-font fontfile] [-fontsize size] [-width width] [-height height] [-margin margin] [-background color] [-foreground color] [-xgrid] [-ygrid] [textfile]
PARAMETERS
-font fontfile
Specifies the font file to use. The default is fixed.pcf.
-fontsize size
Sets the size of the font in pixels. Default is 10.
-width width
Defines the exact width of the output image in pixels.
-height height
Defines the exact height of the output image in pixels.
-margin margin
Specifies the margin in pixels around the text content. Default is 0.
-background color
Sets the background color of the image. Can be a name (e.g., red) or a hex code (e.g., #FF0000). Default is black.
-foreground color
Sets the foreground (text) color of the image. Default is white.
-xgrid
Draws horizontal grid lines between characters in the output image.
-ygrid
Draws vertical grid lines between characters in the output image.
textfile
Optional. The path to the ASCII text file to convert. If omitted, asciitoppm reads from standard input.
DESCRIPTION
asciitoppm is a utility from the Netpbm image manipulation toolkit. It reads plain ASCII text from standard input or a specified file and renders it into a Portable Pixmap (PPM) image. The resulting image is written to standard output.
This command is particularly useful for converting text-based reports, code snippets, or arbitrary text content into a graphical format for embedding in documents, web pages, or for further image processing. Users can customize the font, font size, image dimensions, margins, and foreground/background colors. It's designed for simple bitmap fonts and outputs only PPM, which can then be converted to other formats using Netpbm's extensive suite of tools.
CAVEATS
asciitoppm primarily supports simple bitmap fonts, typically in .pcf format. It does not natively support advanced font formats like PostScript or TrueType.
The quality of the output image heavily depends on the chosen font and its size.
The command always outputs to the PPM format. To obtain other image formats (e.g., PNG, JPEG), the PPM output must be piped to another Netpbm utility (e.g., pnmtopng).
<B>INPUT/OUTPUT STREAM HANDLING</B>
asciitoppm is designed with the Unix philosophy in mind. It reads text from standard input (or a specified file) and writes the resulting PPM image to standard output. This design allows for seamless integration into shell scripts and piping with other commands, facilitating complex image processing workflows.
<B>FONT MANAGEMENT</B>
The command relies on the availability and proper configuration of font files. Users might need to ensure that the specified font file (e.g., fixed.pcf) is accessible within a configured font path or provide the full path to the font file if it resides in a non-standard location.
HISTORY
asciitoppm is a component of the comprehensive Netpbm project, a widely used suite of graphics file format conversion tools. The Netpbm project's philosophy emphasizes small, single-purpose tools that can be chained together via pipes to perform complex tasks.
asciitoppm was authored by David S. Miller and later extended by Bryan Henderson, a key maintainer of the Netpbm suite. Its development aligns with Netpbm's goal of providing robust, open-source tools for manipulating various image formats, with a focus on portability and extensibility.