GNU ELPA - xpm


edit XPM images
xpm-1.0.4.tar, 2017-Feb-18, 40.0kB
Thien-Thi Nguyen <>
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET xpm RET

Full description

This package makes editing XPM images easy (and maybe fun).
Editing is done directly on the (textual) image format,
for maximal cohesion w/ the Emacs Way.

Coordinates have the form (X . Y), with X from 0 to (width-1),
and Y from 0 to (height-1), inclusive, in the 4th quadrant;
i.e., X grows left to right, Y top to bottom, origin top-left.

  (0,0)        … (width-1,0)
    ⋮                    ⋮
  (0,height-1) … (width-1,height-1)

In xpm.el (et al), "px" stands for "pixel", a non-empty string
in the external representation of the image.  The px length is
the image's "cpp" (characters per pixel).  The "palette" is a
set of associations between a px and its "color", which is an
alist with symbolic TYPE and and string CVALUE.  TYPE is one of:

  c  -- color (most common)
  s  -- symbolic
  g  -- grayscale
  g4 -- four-level grayscale
  m  -- monochrome

and CVALUE is a string, e.g., "blue" or "#0000FF".  Two images
are "congruent" if their width, height and cpp are identical.

This package was originally conceived for non-interactive use,
so its design is spartan at the core.  However, we plan to add
a XPM mode in a future release; monitor the homepage for updates.

For now, the features (w/ correspondingly-named files) are:
- xpm          -- edit XPM images
- xpm-m2z      -- ellipse/circle w/ fractional center

Some things are autoloaded.  Which ones?  Use the source, Luke!
(Alternatively, just ask on help-gnu-emacs (at gnu dot org).)

Old versions



NEWS for xpm.el (et al)
See the end for copying conditions.

- 1.0.4 | 2017-02-17
  - fixed syntax error in ‘defstruct’ usage (how did it work before?!)
  - new THANKS file

- 1.0.3 | 2014-06-13
  - improved docstrings

- 1.0.2 | 2014-05-30
  - new homepage:

- 1.0.1 | 2014-05-21
  - byte-compilation bugfix

- 1.0.0 | 2014-05-18
  - initial release

  Local Variables:
  mode: outline
  outline-regexp: "\\([ ][ ]\\)*- "

Copyright (C) 2014-2017 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.