Q 1: I want entries to /etc/magic - used by file(1) to determine file types
A: Add the following lines to /etc/magic:
# Paint Shop Pro Image File Format # (as per specification from JASC Software http://www.jasc.com/) 0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image # Version information >32 leshort x (version %u. >34 leshort x %u) # Size as: width x height x bitsperpixel >50 lelong x %ld >54 lelong x x %ld >69 leshort x x %d, # Number of layers >86 leshort =1 1 layer >86 leshort >1 %d layers # Compression >67 leshort =0 uncompressed >67 leshort =1 RLE >67 leshort =2 LZ77
A: I know it is much harder to get a well-defined interface than writing only code for a rather small plugin, but:
At the moment, the library is only a static one. A shared library will arrive when the read part for the most common features is finished which won't be before 0.2.
Q 3: What types of images can the file format support?
A: Layered images with up to 64 layers in true-color, gray-scale and indexed (1, 4 and 8 bit) are available. Taking a look at the PSP specs and at what GIMP does support will give in-depth information not available here at the moment.
Note: The psp-library will not be limited to the 64 layer limit mentioned in the format specification.
Q 4: So in what order will features be implemented?
A: I have created this list to give some hints, as time goes by and work proceeds this may change a little of course but I think the general direction is clear.
Q 5: What features won't be implemented
A: First of all, anything not supported by GIMP. Furthermore, there are still some features not documented very well. And some others not used too often...
Q 6: Which blending modes will, which ones won't be available?
A: All blending modes which occur in both programs will be usable. (Assuming that PSPs Luminosity is GIMPs Value there are some that remain unsupported)
List of GIMP modes not available if saved to a PSP file: Addition, Subtract
List of PSP modes not available in GIMP: Dodge, Burn, Exclusion, Hard Light, Soft Light.
Actually, GIMP 1.1 says it knows about Dodge and Burn modes but to me it seems these behave quite different from the PSP implementation (more investigation needed.)
Unsupported PSP blending modes will be stored as layer parasites (therefore requires GIMP 1.1 to work). GIMP modes not known to PSP will be lost when saving.
Note: Working on the plugin I noticed different behaviour for some of the blend modes.
Q 7: Where can I get the latest plugin and documentation?
A: Point your web browser to http://www.xeye.org/. Information about the Paint Shop Pro File Format is also available at http://www.jasc.com/specs/psp.html
Q 8: What are the GIMP parasites that will be used?
A: I am not finished with a list I will propose to become standard in GIMP but here is a snapshot of my thoughts after replies from the list by Austin Donnelly (general comments) and Andreas Dilger (especially concerning PNG format):
Format: character string
Support: PSP, PNG, TIFF, GIF and perhaps
more
PSP Creator field: Description
Comment: The PSP Description field will also
include the gimp-description.
Format: character string
Support: PSP, PNG, TIFF and perhaps
more
PSP Creator field: Author
Format: character string
Support: PSP, PNG (TIFF? others?)
PSP Creator field: Title
Format: character string
Support: PSP, PNG (any more?)
PSP Creator field: Copyright
Format: character string
Support: PSP, PNG (are there other
formats?)
PSP Creator field: Description
Comment: The PSP Description field will also
include the gimp-comment.
Format: character string
Support: PSP, PNG (there are more
perhaps)
PSP Creator field: Application ID +
Application Version
Comment: This field will be the hardest to be
translated once the PSP format knows more applications
because of the conversion of the character string to
the ID and Version integers. The PNG spec doesn't
tell about a recommended way to format this string so
there won't be an easy machine-readable form, but some
heuristics could be used.
Format: undecided (RFC 1123 compliant
character representation? this is the recommended way
to store this information in PNG files and has the big
advantage of being human readable.)
Support: PSP, PNG
PSP Creator field: Creation Date
Comment: Complexity of conversion depends on
format.
Comment: Not yet decided if this field is really useful and will be exported.
Note: All character strings are represented in the ISO 8859-1 (Latin 1) character set.
Note 2: Information not automatically translatable could be appended to the description. The same could be done with other descriptive fields (known to PNG and perhaps other file formats).