In late 2003 we announced D-Type 4.0. This release was written entirely in industry standard C++ which resulted in a faster, easier to maintain and more scalable engine. Not only was the 4.0 engine built upon advanced concepts from object oriented programming but also everything that was learned while working on previous D-Type releases. Today, D-Type 4.0 is probably the only font and graphics rendering engine on the market featuring a true object oriented internal architecture.
Compared to our previous releases, D-Type 4.0 also brings lots of new features, improvements and optimizations. The most
important ones are listed below:
Simplified but more flexible initialization of the engine.
Simplified overall architecture of the engine. The 4.0 engine features a
modern, scalable and powerful API while any inconsistencies and/or legacy issues
have been removed.
Improved font access speed (fonts open noticeably
faster compared to previous releases).
Improved rendering quality even further. This is achieved by utilizing
a new rendering method that relies on our latest in-house rendering technologies.
Advanced filters for a more balanced color contrast and enhanced bitmap quality.
Support for advanced typography including ligatures and contextual
glyph shaping (such as in Arabic scripts).
Significantly improved stream management subsystem. The stream handling
in 4.0 is very abstract and capable of supporting complex fonts files
that exist virtually anywhere. For example, the new engine can support fonts that consist of multiple parts (e.g. glyph data, metrics, character maps) that exist in different streams (e.g. memory, local or network disk or even the Internet). Starting with this release, the new engine supports native kerning for Type 1 fonts that include kerning information in a separate .afm file.
Improved font compression of the native D-Type font format and additionally reduced memory
footprint of the engine. Also, the engine can be configured specifically for memory constrained devices, which reduces the memory footprint even further.
Improved error handling mechanism (e.g. when encountering
bad fonts). The 4.0 release has a very powerful API for reporting errors in
bad fonts back to the end-user.
Font activation and deactivation mechanism. This allows
application to activate fonts only when and if they are used and deactivate fonts when they
are not needed for a longer period of time. Consequently, applications can maintain very large static font catalogs without consuming too much memory.
Ability to save fonts in the D-Type font format and an API for creating subsetted D-Type fonts. This API gives developers full control over the glyph subsetting process. This, for example, allows developers to save in the output D-Type font only those glyphs that are actually used in their documents. Subsetted D-Type fonts are smaller in size than the original input fonts (since they contain fewer glyphs) and, therefore, very suitable for embedding in electronic documents.
An API to access D-Type's pattern catalog.
A new surface type that provides basic support for rendering in 8-bit indexed (palletized) colour mode.
A new method that allows applications to supply their own alpha-levels (grayscale) to be utilized by D-Type Rasterizer when rasterizing output primitives.
New functions that provide precise control over hinting, positioning, sub-pixel precision and output quality.
More ways to construct and render custom shapes.
The end-user API allows developers to specify coordinates as both floating point and 24.8 fractional values.
32-bit representation for Unicode character codes and glyph indices. This allows D-Type Font Engine to support (theoretically) more than 4 billion characters and/or glyphs in a single font file.