# OpenRaster

OpenRaster is a file format proposed for the common exchange of layered images between raster graphics editors. It is meant as a replacement for later versions of the Adobe PSD format. OpenRaster is still in development and so far is supported by a few programs. The default file extension for OpenRaster files is ".ora".

## Background

The Adobe Photoshop PSD file format was widely used as a cross-application file format for layered images. Adobe allowed this by releasing the format's specifications publicly. In 2006 Adobe changed this license to only grant access to and use of the specifications and documentation "for the purposes of internally developing Developer Programs in connection with Adobe Software products and incorporating portions or all of the Sample Code into Developer Programs." In response to these restrictions, the OpenRaster format was proposed by KDE and Krita developers Boudewijn Rempt and Cyrille Berger at the first Libre Graphics Meeting at Lyon, France in the spring of 2006 and is drawn from the Open Document Format.

## Requirements

Following features should be present:

### General

* full freely available documentation
* OpenDocument type of file format (archive with multiple files inside)
* extensible, but private undocumented extensions should be excluded, any extension should be added to the spec and documentation of the file format
* applications are not expected to support all features of the file format, but when manipulating the file they should not lose any information they cannot handle

### Metadata

* storage of metadata using {XMP – Dublin Core – IPTC} tags
* possibility of storing metadata tags per layer
* storage of Exif tags
* all text data in Unicode (UTF-8 or UTF-16)

### Layers

* storage of multiple layers
* storage of each layer's coordinates
* storage of blending (compositing) options for each layer
* storage of adjustment layers
* storage of layer effects
* groups of layers
* color information – profile, colorspace

### Other

See
* storage of paths, clipping paths and text on path
* selections and masks
* embedding documents within OpenDocument frameworks
* support undo, history of commands and actions (like PSD)

### Proposals and extensions

* palette
* embedded fonts (proposal to extension)
* multiple pages
* animation support using multiple pages and a timer (like PSD)

## Challenges

According to the draft specification (as of October 2010), a major challenge for a cross-application format is that because not all of the features are available in all the programs, an image won't be displayed the same way in different applications, especially for adjustment/filters layers.
A likely work-around is the optional storage of a redundant extra layer containing the fully rendered pixel data as seen after all image processing, or possibly a lower-resolution snapshot of it suitable for previewing and thumbnailing.
Different implementations levels might be defined, like, tiny, simple, small, normal, full and custom.

## Application support

OpenRaster has limited support in a few graphics programs and among these its cross-application use is not seamless.
| Application | Baseline | SVG |
| DrawPile | Supported | Yes |
| Chasys Draw IES | Supported | Yes |
| GIMP | Basic support since version 2.8 | No |
| Inkscape | Unsupported | |
| Krita | Supported | No |
| LazPaint | Reading since version 5.0 and writing since 5.2 | Yes |
| MyPaint | Default working file format | Yes |
| Nathive | Default format since 0.908 | |
| Pinta | Supported starting with version 0.4 | No |
| XnView | Supported through a user-made plugin | |
| Scribus | Supported starting with version 1.5 | No |
| ImageMagick | Supported starting with version 7.0.10-26 | Yes |
| Paint.net | Supported through a user-made plugin | No |