| Microsoft Typography | Developer | Typography Integrated Development Environment "TIDE" | |||
|
The current font services consist of a 'Font File' service, an 'OpenType Layout' service, and an 'OpenType Layout Assembler' and a 'TrueType Rasterizer' service. Other services may be provided in the future as well. The Font File service is of particular importance, as it allows multiple tools to work on the same font file concurrently. This will also enable the user to switch between different TIDE based font tools without saving and reopening the font file first, providing a seamless user experience. The TIDE SDK, which includes these components, documentation and sample code, is available now. If you are interested in licensing the SDK please contact us.
A TIDE stands for Typography IDE, where IDE stands for Integrated Development Environment. TIDE is an integrated application suite, consisting of font development tools that all leverage from a shared infrastructure. This infrastructure allows these tools to work on the same font file and to leverage from lower level font services. This infrastructure is a stripped down version of COM, known as Lightweight COM, or LCOM.
A No. Although LCOM is based on COM, a tool vendor does not have to have any prior knowledge about COM, unlike ATL. ATL simplifies the use and creation of COM object but still requires the developer to at least have some understanding of concepts like connectable objects, aggregated objects, automation objects, class factories, and such. LCOM is designed to allow a tools vendor to create a simple COM object that can be used in a script language with little or no fuzz. An LCOM object may be as small as 3500 bytes, and still support advanced COM features like script support, events, and reentrance. Writing an LCOM object consist of using a small number of LCOM APIs, and implementing the exported methods of the COM object.
A The current font services consist of a Font File service, an OpenType Layout service, and an OpenType Layout Assembler and a TrueType Rasterizer service. Other services may be provided in the future as well. Note that the Font File service is in particular important, as it allows multiple tools to work on the same font file concurrently. This will also enable the user of TIDE to switch between different font tools without necessarily saving the font file first, and thus provide a very seamless user experience.
A Yes. Any windows application can use a TIDE service. As the services are provided as LCOM object, you would either use the OLE2.0 APIs (e.g. CoCreateInstace, etc.) or TIDE APIs (e.g. UseService). The use of the font services are by no means tied to the shared user interface of the TIDE application suite.
A Yes. For example, a console application can be integrated by creating a short script in VBScript or JScript that invokes the program and re-directs the result of the execution into TIDE. Also, an application supporting OLE, such as an ActiveX Document, may be even more tightly integrated into TIDE.
A The UI consist of one or more regions, called panes, that contain windows specific to the select font tool. Common UI components, like menus, keyboard accelerations, and toolbars are presented as well, and may be specific to the selected font tool. Beside the UI, TIDE is also providing extensive script support, including support for JScript, VBScript, and scripting of all font services and font tools in TIDE.
A Yes. The panes, menus, toolbars and shortcuts may be fully configured both in terms number and appearance. Specific UI components, such as a toolbar button, may be configured individually. There is a rich set of visual attribute for each UI component. Also, loading predefined binary files may alter the entire UI. A configuration tool easily creates these binary files.
A No, not very. Since most aspects of the UI is already handled by TIDE itself, writing a font tool consist of deciding on what the UI should look like, create the UI with a tool, and implementing the core functionality that the tool should provide. In implementing the core functionality, the tool vendor may use already provided font services. The interaction between TIDE and the tool is based on LCOM, and involves accessing and using both font and UI-related services. The tool exports the desired functionality through a set of commands, to TIDE. One or more UI components or scripts may in turn invoke each command. A command may be as complex as bringing up a visual editor for some aspect of a font, or as simple as removing a piece of data from the edited font file.
A An SDK is available now. If you are interested in licensing TIDE please contact us.
|
|||
| Microsoft Typography | Developer | Typography Integrated Development Environment "TIDE" | |||