microsoft.com Home   All Products  |   Support  |   Search  |   microsoft.com Home  
Microsoft

Microsoft Typography | Developer | Typography Integrated Development Environment "TIDE"


Typography Integrated Development Environment "TIDE"


If you develop font tools for your own use or sale TIDE may be of interest to you. 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.

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.


Frequently Asked Questions


Q What is TIDE?

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.


Q Is LCOM yet another COM-wrapper technology, such as ATL?

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.


Q Which font services exist today?

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.


Q Can any application use TIDE font services?

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.


Q Can a font tool be integrated into TIDE without using LCOM or OLE?

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.


Q What does the UI of TIDE look like?

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.


Q Is it possible to customize the UI of TIDE to the very particular needs of a tool?

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.


Q Is it hard to implement a font tool that plugs into TIDE?

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.


Q When will TIDE be available?

A An SDK is available now. If you are interested in licensing TIDE please contact us.



this page was last updated 25 May 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of use.
comments to the MST group: how to contact us

 

Microsoft Typography | Developer | Typography Integrated Development Environment "TIDE"