Extensions & Plugins
Apps & Tools
D-Type 8 supports OpenType fonts with color glyph layers. This is a Microsoft extension of the OpenType format which defines a special COLR table and a supplementary CPAL table in OpenType fonts. Microsoft uses this format for their color emoji fonts on Windows.
Display of OpenType Color Glyph Layers in D-Type Font Utility (OFF and ON)
D-Type 8 supports the OpenType sbix table with embedded PNG and/or JPEG images. This is the format that Apple uses for their color emoji fonts on macOS.
Display of OpenType Bitmap Glyph Images in D-Type Font Utility (OFF and ON)
Thanks to the underlying HarfBuzz 2 shaping engine, the Text Layout Extension that ships with D-Type 8 exposes an API for vertical writing. The existing lxLayoutApply and lxLayoutApplyPlus functions have been enhanced to provide two new text direction options: top-to-bottom (LX_DIRECTION_TTB) and bottom-to-top (LX_DIRECTION_BTT).
Also, our example_layout_extension example has been upgraded to show how to render both horizontal and vertical text. You can study, modify and/or use its source code, either in its original or modified form, as you see fit.
A: For the most part this is true. While in many use case scenarios, color glyphs/emojis are not that important, they still represent an interesting extension of the OpenType font format. It's a feature that some of our customers asked for and we decided to support. But because there are so many different and even competing ways that color glyphs can be implemented in OpenType (as bitmap images, color glyph layers and even SVG documents), we didn't want this support to be an afterthought. We wanted to support it right.
At the same time, there are many other important enhancements under the hood in D-Type 8. For example, D-Type's Ultra-Fast Grayscale Rasterizer and Ultra-Fast RGBA Rasterizer now provide support for parallel rasterization (making it possible for many threads to rasterize the same vector description at the same time on multi-core machines!) while their already high output quality has been improved slightly. Also, D-Type Text Layout Extension now exposes an API for vertical writing.
UPDATE: For other new features and enhancements in D-Type 8, see our What's New page.
A: D-Type External Format Plugin provides support for external graphics formats, such as PNG and JPEG. Support for PNG and JPEG formats is not available in D-Type Font Engine or D-Type PowerDoc Engine. In the future, D-Type External Format Plugin will be updated to provide support for other required external graphics formats, such as SVG or TIFF. Support for these external formats will always be provided outside of core D-Type Engines.
A: Technically, yes, however this is of limited use and not recommended. In this use case scenario D-Type External Format Plugin will only help you decode PNG and JPEG images. All additional work associated with displaying color glyph images still needs to be done by you. Please note that D-Type External Format Plugin is first and foremost an extension for D-Type PowerDoc Engine and D-Type Unicode Text Module.
If D-Type External Format Plugin is used in conjunction with D-Type PowerDoc Engine and/or D-Type Unicode Text Module, you never have to access it directly. Simply add it to your source project, let D-Type Engine use it, and forget it.
A: Support for SVG glyphs is currently being worked on. Thanks to D-Type External Format Plugin, we believe that SVG support will be much easier to provide in the near future. Keep in mind that OpenType is an evolving format and its specifications keep growing. As with previous major extensions of the OpenType format, our goal is to support any OpenType features and capabilities that are worthy of adding to D-Type.
UPDATE 1: On August 24, 2020 we released D-Type Engine 220.127.116.11. In this release D-Type Font Engine can return raw SVG glyph data from the OpenType SVG table. While this is still not full SVG support (as far as rendering is concerned), it is the first important step in this direction.
UPDATE 2: On November 25, 2020 we released D-Type Engine 18.104.22.168. In this release D-Type PowerDoc Engine brings experimental support for rendering OpenType color fonts with SVG data (SVG Native only). This means that some level of SVG support is already available. Note that SVG Native will be a strict subset of SVG 1.1 and SVG 2.0 and, therefore, will support a limited subset of SVG features.
A: If you only want to support OpenType Color Glyph Layers, you don't need any other D-Type engine or extension. If, however, you also want to support OpenType Bitmap Glyph Images, then you will need to purchase D-Type External Format Plugin. You can purchase this extension using our Purchase Form.
A: The answer to this questions is exactly the same as to the question Q9 above.
A: Using D-Type Font Engine you will be able to get raw data describing color glyph layers and bitmap glyph images. There is a new API function for this. However, unless you upgrade to D-Type PowerDoc Engine or D-Type Unicode Text Module and additionally purchase our D-Type External Format Plugin, you will need to render these glyphs yourself.
A: It's not easy. You need to decode PNG and JPEG images, scale them to the specified size and blend with your background. On top of this, you probably want to implement some sort of caching, as extracting and rendering RGB(A) bitmap images can be a resource intensive task. Also, if you need your output to work properly when skewed, rotated or transformed using an arbitrary affine and/or perspective transformation matrix, such as in the following illustrations, be prepared for some extra work. Thus, if you haven't done already, we strongly suggest that you upgrade to D-Type PowerDoc Engine and purchase D-Type External Format Plugin.
Rendering color glyph layers and bitmap glyph images in D-Type PowerDoc Editor
A. This is not too hard, as you don't need to read, decode and render any bitmap images. However, you still need to process raw data describing color glyph layers and render these layers yourself. You probably want to implement some sort of caching if rendering speed is important.
A: Doing this would turn D-Type Font Engine into a mini D-Type PowerDoc Engine. Large portions of D-Type PowerDoc Engine code would then end up in D-Type Font Engine. It doesn't make sense to do this from a technical standpoint. Also, bear in mind that D-Type PowerDoc Engine supported its own colored glyphs (called PowerGlyphs) since the early 2000, i.e. long before colored glyph support was available in OpenType. Having support for colored glyphs in two different engines also doesn't make a lot of sense from a design standpoint.
A: This question should be directed to the developers and maintainers of the OpenType font format.
A: Of course. This is how D-Type has been designed since its inception.
A: You can now support vertical text yourself using only D-Type Font Engine and D-Type Text Layout Extension. Simply call the existing lxLayoutApply or lxLayoutApplyPlus function and pass it your Unicode text along with one of the two new text direction options: top-to-bottom (LX_DIRECTION_TTB) or bottom-to-top (LX_DIRECTION_BTT). As before, you will get back an array of glyphs to display in the correct visual order along with the coordinates necessary to properly position those glyphs. The only difference is that the glyphs in this array will be positioned vertically. This means that their x coordinates will be more or less uniform, while the y coordinates will be in an increasing (or decreasing) order, depending on the specified text direction option.
However, using our PowerDoc Engine or Unicode Text Module is still the most advanced method of rendering vertical text, since it provides features and possibilities that are not provided by the Text Layout Extension on its own (e.g. automatic bidirectional reordering or rotation for non-vertical scripts, different types of baseline alignment options etc).
A: If you have an existing active support contract, yes, you will continue to receive support. Otherwise, if you need assistance, you should purchase one of the available technical support options.
A: Yes, D-Type 8 will definitely be available for ARM based Mac computers. We can't wait to see D-Type running on yet another platform and experience the performance and energy improvements that Apple is promising. As soon as we have the libraries for this platform ready, we will release them and make an announcement on our web site. Our initial thinking is that these should be two separate libraries, not one universal library (for ARM and Intel), due to the following considerations:
Note: This answer was posted on July 23, 2020.
A: D-Type 8 for ARM based Macs will be available shortly after Xcode 12 reaches the production-ready release status (i.e. official release). As of September 7, 2020, Xcode 12 is still in Beta stage. Based on Apple's Xcode release history (e.g. see https://xcodereleases.com), it typically takes a few months for a major Xcode release to advance from a beta to the production-ready release level. If this trend continues with Xcode 12, then we expect that production-ready Xcode 12 will be available sometime in October and possibly earlier, by the end of September 2020. However, please note that this is our own best guess and we cannot make any guarantees regarding Apple's software release cycle. If you need more accurate information, please contact Apple. Also, please note that we cannot build production ready D-Type 8 libraries for any macOS platform using Xcode beta releases.
Once production-ready Xcode 12 is made available by Apple, then you can expect the following:
Note: This answer was posted on September 7, 2020 and may be updated or revised in the near future, as more information become available.
UPDATE 1: On September 15 Apple released XCode 12 GM seed. GM means Gold Master, the final build before distribution of the official release. This means the next release should be production-ready.
UPDATE 2: On September 17 Apple released Xcode 12 GM but without macOS SDK 11.0 (20A5374f) which was available in all previous Xcode 12 beta releases and which is required to build applications and libraries that target macOS arm64. This SDK is now available in Xcode 12.2 beta instead. As a result, XCode 12 GM cannot be used to build applications for macOS arm64. In order to build for macOS arm64 one needs Xcode 12.2 beta, which is still not a production-ready release.
UPDATE 3 (FINAL): On November 12 Apple released Xcode 12.2 with macOS SDK 11.0. It is now possible to build applications for macOS arm64 using a production ready version of Xcode. D-Type customers who pre-paid their D-Type license for macOS arm64 will be able to download D-Type 8 for Apple's ARM processor by November 27, 2020.
If you have a question that is not answered on this page, use our Obtain Additional Information form. We will post your question and our response to this page within a few days.