an ASCII art editor supporting arbitrary color palettes and character sets.

!!NOTE!! EDSCII is no longer supported or maintained in any way. Playscii is its successor,
with many more features, a much better UI, animation and game creation abilities:



Getting EDSCII:

Source and binaries are available here:

Running EDSCII:
* for windows EXE builds, just click the EXE or run it from a command prompt.
* on OSX, run the edscii.command launcher.
* on Linux or any other OS, run the python script from the command line.


Python 2.* and PyGame.  I do periodic windows EXE builds for folks who don't want to install those two things.

Command Line Usage:

python petscii.py [file]

where [file] is the name of the file you wish to edit.  If it doesn't exist, it will be created.  If no file is given, a file called 'new' will be opened.

Help / Keyboard Shortcuts:

Press 'h' in EDSCII to bring up its help screen, which shows all commands and keyboard shortcuts.

Raster Image Conversion:

Type 'conv filename' at the in-app command line, where filename is the name of your image, to convert a raster image in JPG or PNG or BMP format into the currently loaded character set and palette.  You'll see the conversion happen at runtime and can edit it while it's happening.  Wowie zowie!

Authoring New Palettes:

Any image with palettized (8-bit or "indexed", as some art tools call it) color works.  Palettes can contain any number of colors.  The pixel data of the image is disregarded; only the palette data is used.  The color order seen in the color selector matches that of the source image's palette.

Authoring New Character Sets:

Restrictions regarding character set images:
- Like palettes, they must be palettized.
- Any black pixels will be dealt with as transparent.
- Any non-block pixels will be treated as opaque and single-color, determined by the colors with which you paint them in EDSCII.
- The top left character in a character set image must be blank.
- Images can show the characters in any sequence, so long as the configuration file (see below) matches that sequence.
- Images should not have blank pixels between characters and at the margins that is not intended to be part of the characters themselves.

Each character map image needs a configuration file:
- Same name as the image itself, but with a .char extension.
- This file is plain text, create it with your favorite text editor.
- The characters on each line of this file should match those in the image 1-for-1.  If you can't recreate a particular character in the image with your keyboard, use a blank space instead.  The .char file just exists to help with UI drawing.

For reference, check out the character sets and palettes included with EDSCII in the char/ and pal/ directories, respectively.

Cool Things About EDSCII:

* support for arbitrary charsets / palettes (C64, Atari 8-bit, DOS, ZX Spectrum, whatever)
* UI optimized for speed of the most common painting operations, ie high "flow"
* UI can scale up to any resolution
* UI renders in the current character set and palette (looks cool!)
* one of the more sophisticated raster->ASCII conversions out there, and the only one I know of that works with arbitrary palettes and character sets
* open source

Design Principles:

* minimal UI - mostly just you and your art
* quasimodal char/color selection - no mousing back and forth between the selectors, they appear beneath your cursor when you hold a key
* fixed zoom - no details to get lost in
* laptop-friendly - avoid function key usage, avoid requiring multiple mouse buttons (multiple mouse buttons okay for shortcuts)
* photoshop-esque flow - left hand stays on left side of keyboard doing shortcuts, right hand stays on mouse
* no icons or OS native UI - UI is rendered using current character set
* little to no special CLI invocations, use in-app command line to do stuff at runtime

Legality of Distributing System Pixel Font Data:

As far as anyone on the net can determine, it is legal to distribute bitmap font pages: