GIMP and Standards
GIMP is supposed to integrate well into your workflow. Thus is
needs to interoperate with other applications and your desktop.
Standards are there to make this happen and so we try to follow
established (and sometimes even proposed) standards. Below you
will find a list with links to specifications that a GIMP
developer may find useful.
Image File Formats
-
Extensible Markup Language (XML)
-
Describes the XML markup language, used to store the menu layout,
the startup tips, help indices and other things.
-
Graphics Interchange Format
-
Describes the GIF file format, used in the GIF plug-in. GIF
is bad, don't use it.
-
JPEG (Joint Photographic Experts Group)
-
Describes the JPEG JFIF file format, used in the JPEG plug-in.
-
JNG (JPEG Network Graphics) Format
-
GIMP doesn't use this format yet but it would be nice to
extend the MNG plug-in to use it and to add a dedicated JNG
plug-in.
-
MNG (Multiple-image Network Graphics) Format
-
Describes the MNG file format, used in the MNG plug-in.
-
Portable Network Graphics (PNG)
-
Describes the PNG file format, used in the PNG plug-in. GIMP
also reads patterns in the PNG file format and it stores
thumbnails as PNG images.
-
Scalable Vector Graphics (SVG) 1.1
-
Describes the SVG file format, used in the SVG plug-in. GIMP
uses SVG for import and export of paths and it also loads
gradients from SVG files.
-
TIFF 6.0
-
Describes the TIFF file format, used in the TIFF plug-in. See also
the
Unofficial TIFF Home Page.
-
Extensible Metadata Platform (XMP)
-
Describes XMP, a labeling technology that allows to embed
data about a file, known as metadata, into the file itself.
-
Digital Negative (DNG)
-
Specifies DNG, a format, proposed by Adobe, aiming to become
a standard for storing raw data from digital cameras.
Color Management
-
sRGB Color Space
-
Describes sRGB, a color space proposed as a standard default
color space for the Internet and other interested vendors.
-
ICC Specification
-
Specifies the profile format defined by the International
Color Consortium (ICC). The intent of this format is to
provide a cross-platform device profile format that can be
used to translate color data between device colorspaces.
-
ICC Profiles In X Specification
-
This is a specification for associating ICC color profiles
with X screens. GIMP 2.4 implements this proposed standard.
Desktop Standards
-
Desktop Entry Specification
-
This document describes desktop entries: files describing
information about an application such as the name, icon, and
description. GIMP installs such
a .desktop file.
-
Desktop Message Bus
-
D-Bus is a message bus for the desktop. If available, GIMP
uses it to detect if another GIMP instance is already
running. In the future, GIMP might make even more use of
D-Bus.
-
File URI Specification
-
Specifies how URIs for normal UNIX filenames (file: URIs)
are interpreted and created. This functionality is provided by GLib,
-
GNOME Human Interface Guidelines
-
We don't follow this spec to the word but we try to adopt as
much of these guidelines as makes sense.
-
Recent File Storage Specification
-
Provides a standard mechanism for storing a list of recently
used files. Supported since GIMP version 2.1.6.
-
Shared MIME Database
-
The shared MIME database contains common MIME types, descriptions,
and rules for determining the types of files. GIMP file plug-ins
should use the MIME types and descriptions defined here.
-
Startup Notification
-
Specifies a mechanism allowing a desktop environment to
track application startup to provide user feedback. GTK+
provides support for this protocol.
-
Thumbnail Managing Standard
-
Deals with the permanent storage of previews for file
content. In particular, it tries to define a general and
widely accepted standard for this task. GIMP 2.0 implements
this standard and dropped support for the old-fashioned
.xvpics.
Standards specific to the X window system
-
Clipboards
-
Not a formal specification, but explains the consensus of the
Qt and GTK+ developers on how the X clipboard works.
-
Clipboard Manager
-
The Clipboard Manager specification describes how
applications can actively store the contents of the
clipboard when the application is quit. This requires that a
compliant clipboard manager is running.
-
Drag-and-Drop Protocol for the X Window System
-
XDND defines a standard for drag and drop on X11. It is implemented
by GTK+.
-
Direct Save Protocol for the X Window System
-
XDS defines an extension to XDND that allow users to save a file by
simply dragging it to a file manager window. GIMP 2.4 supports
this protocol.
-
Extended Window Manager Hints
-
The Window Manager Specification is meant to unify the GNOME and KDE
window manager hint conventions.
-
Inter-Client Communication Conventions Manual (ICCCM)
-
This spec defines the interaction between X11 clients. In
particular it talks about selections, cut buffers, window
and session management, manipulation of shared resources
and device color characterization.
-
XSETTINGS
-
The XSETTINGS protocol provides a mechanism for applications
written with different toolkits to share simple
configuration settings such as double-click-times and
background colors. GTK+ hides this from us.
Programming Standards
-
GIMP Hackordnung
-
The last section from the file HACKING as found in the GIMP
source tree explains how the GIMP source code should be
formatted.
-
GNU coding standards
-
A guide to writing portable, robust and reliable
programs. Also defines the
GNU coding style.
-
ISO/IEC 9899
-
ISO 9899 is the international standard for the C programming language.
|