Some text editors, for example gvim, can display xpm images in graphical form
|
|
Filename extension |
|
---|---|
Internet media type | image/x‑xpixmap |
Developed by | BULL Research |
Type of format | Image file formats |
Extended from | XBM |
Open format? | yes |
X PixMap (XPM) is an image file format used by the X Window System, created in 1989 by Daniel Dardailler and Colas Nahaboo working at Bull Research Center at Sophia Antipolis, France, and later enhanced by Arnaud Le Hors.
It is intended primarily for creating icon pixmaps, and supports transparent pixels. Derived from the earlier XBM syntax, it is a plain text file in the XPM2 format or of a C programming language syntax, which can be included in a C program file.
The XPM format is an array of strings composed of six different sections as follows:
This is a black-and-white image in the first (1989) XPM format.
The values section contains the width, height, number of colors, and number of characters per pixel.
XPM2 simplifies the format by removing all C codes. An example:
This is an XPM2 file with width 48, height 4, 2 colors, and 1 character per pixel. One tool is known to use only a to p for 16 colors, switching to aa up to dp for 64 colors, but still reading single character encodings for 64 colors; compare Base64.
With more colors the codes use more characters, e.g. aa up to pp for 16 × 16 = 256 colors. This is less useful for text editors, because a string ab could be actually the middle of two adjacent pixels dabc. Spaces are allowed as color code, but might be a bad idea depending on the used text editor. Without control codes, space, and quote (needed in XPM1 and XPM3) 128 − 33 − 2 = 93 ASCII characters are available for single character color codes.
Simplified example: 90 US-ASCII characters could be arranged into nine non-overlapping sets of 10 characters. Thus unambiguous strings of nine characters could set the color of each pixel by its XPM palette index with up to 109 = 000000000 colors (compare to 1GIF, which supports only 256).