A portable plugin library that makes reading and writing common graphics formats as easy as counting to three.
D-Type External Format Plugin is a fast and flexible C/C++ library that enables its clients to read and write common image and data compression formats, including PNG, JPEG, GZIP/ZLIB and SVG Native.
The plugin can be employed in several scenarios:
As a dependency of D-Type PowerDoc Engine: Certain OpenType fonts represent color glyphs using bitmap images, which are embedded within font files in PNG and/or JPEG format. For D-Type PowerDoc Engine to render these glyphs, the PNG and JPEG images must be decoded on the fly. This task is efficiently handled by D-Type External Format Plugin.
As a dependency of D-Type 3D Rasterizer: While primarily an auxiliary function, D-Type 3D Rasterizer can export its output to PNG or JPEG format upon request. This functionality is also facilitated by D-Type External Format Plugin.
As a dependency of your own application: If you intend to read or write PNG, JPEG, GIF, or GZIP compressed files within your own application, you will need to access the External Format Plugin C/C++ API directly. The API is designed to simplify the process of reading and writing these formats while ensuring consistent results across all platforms.
It is important to note that in the first two scenarios — when D-Type External Format Plugin is utilized as a dependency of D-Type PowerDoc Engine or D-Type 3D Rasterizer — developers do not interact with the plugin’s C/C++ API directly. Instead, they only supply the library to D-Type PowerDoc Engine and/or D-Type 3D Rasterizer by means of static or dynamic linking (depending on the preferred linking method and the type of library utilized).


Currently D-Type External Format Plugin supports the following file formats.
| File Format | Read | Write | C/C++ API Available |
|---|---|---|---|
| PNG | Yes | Yes |
Yes |
| APNG | Yes (static images only) |
Yes (static or animated images) |
Yes |
| JPEG | Yes | Yes |
Yes |
| GIF | No | Yes (static or animated images) |
Yes |
| GZIP/ZLIB | Yes | Yes |
Yes |
| SVG | Yes (SVG Native only) |
No | No |
In the future, D-Type External Format Plugin may be updated to provide support for additional graphics compression formats, especially if this becomes required by the OpenType font format specification. Support for these external formats will always be provided outside of the core D-Type engine.
Supported Decoding Formats |
|
|---|---|
Supported Encoding Formats |
|
Dependencies |
None |
Availability |
Static or shared (dynamically linked) library for:
See Platforms and Portability for details. |
If you have a question about D-Type technology that you can’t find the answer to, please use our Obtain Additional Information form. We will publish your question along with our response within a few days and notify you once the answer is available on our website.
Additionally, you may find it helpful to explore the history of D-Type releases and review the D-Type News page.
Available in binary, object, and/or source code format for any hardware or operating system environment, D-Type technology is an excellent choice for software developers seeking a rendering solution that is affordable, mature, reliable, secure, well-maintained, well-supported, super-fast and packed with features.