Skip NavigationDesign Science: How Science Communicates
Products Solutions Store Support Reference Company View Cart
 
 

MathType Software Development Kit

Overview

The MathType SDK is primarily for developers who want to explore the advanced capabilities of MathType. The SDK also includes documentation about equation formats and other related information. The MathType SDK is available to developers who:

  • want to customize the special commands that MathType installs into Microsoft Word
  • want documentation for MathType's DLL interface
  • want to modify MathType's translators or create their own translators
  • want to extend MathType's knowledge of fonts and characters
  • want to make their product "equation-friendly" by aligning imported equations with the baseline of surrounding text

The MathType SDK is available for both Windows and Macintosh and has been updated to the latest releases, 6.9 for Windows, 6.7 for Macintosh.

The SDK is provided "as is", free of charge, and Design Science does not provide support for the SDK.

Documentation

The following documentation is supplied with the SDK:

Templates

The following Word Templates are supplied with the SDK:

  • Samples
    • SDKTest.dot
    • MTVarSub.dot
  • templates/Mac/32
    • MT6SDK.dot
    • Archive.zip
      • MathType Commands.dot
      • wordcmds.dot
  • templates/Win/32
    • wordui2007enu32.dotm
    • wordui2010enu32.dotm
    • wordui2013enu32.dotm
    • MT6SDK32.dot
    • wordcmds32.dot
    • wordui2002enu32.dot
    • wordui2003enu32.dot
  • templates/Win/64
    • wordui2010enu64.dotm
    • wordui2013enu64.dotm
    • MT6SDK64.dot
    • wordcmds64.dot

Sample Applications

  • MTGetEquationAddIn
  • MTSDKDN
  • OLECont
  • ConvertEquations (Windows version only)

MathType API Documentation

The MathType API allows you to call functions used by the MathType Commands For Word. On Windows, this API is split between MathPage.WLL and MT6.DLL.

MathPage Documentation

Additional features and settings for MathPage are described in the following documents:

  • MathPage Batch Processing
  • MathPage MathML Targets
  • MathPage Registry Settings

MathType Translator Programmers Manual

This manual describes how to modify or create new translators for MathType 4.0 or later. It describe the Translator Definition Language (TDL) used to specify translators and how to make new or modified translators available to MathType.

Extending MathType's Font and Character Information

MathType 6 has much more knowledge of the fonts and characters it works with than did previous versions. This results in improved formatting, translation into TeX, EPS, and improvements in many other areas. Most of this additional knowledge is in the form of tables built into the code. However, it can be external to the program, allowing it to be expanded and corrected without having to change the application itself. Also, more sophisticated users can customize MathType and we (or they) can then make the results available to other users. This document will show you how to make MathType aware of your fonts and the characters they contain.

MathType's Character Encodings

MathType's knowledge of fonts and characters is built around the concept of character encoding (also called character set). An encoding is simply a mapping from a set of integers to characters. For example, ASCII is an encoding with around 200 characters each assigned an integer between 0 and 255. Unicode is another encoding with thousands of characters, covering all the languages of the world, each assigned a number between 0 and 65,535.

MathType represents characters internally using the MTCode encoding. MTCode is a superset of the Unicode encoding that uses Unicode's Private Use Area to represent mathematical characters that are not part of Unicode proper. MathType also assigns an encoding to each mathematical font it makes use of. Using a font's encoding, MathType knows the identity of every character in the font. It uses this information in many ways: to calculate spacing between characters and to translate to TeX and MathML, for example.

To view MathType's encoding tables, see the following pages on our website (not included in SDK due to large number of GIFs):

MathType's Equation Format (MTEF)

MTEF is MathType's binary equation format. MTEF is embedded in OLE equation objects produced by MathType, as well as in all the file formats in which MathType can save equations.

  • How MTEF is Stored in Files and Objects
  • MathType MTEF v.3 (Equation Editor 3.x)
  • MathType MTEF v.4 (MathType 3.5)
  • MathType MTEF v.5 (MathType 4.0)

MathType 6 introduced a new convention for embedding data in WMF's; dubbed "Application-specific Metafile Comment Convention", it is used by MathType 6 to embed both MTEF and MathML.

Although MTEF is not the most friendly medium for defining equations, there have been so many requests for this information, we decided to publish it anyway. We must warn the reader that it is not an easy format to understand and, more importantly, MathType is not at all forgiving in its processing of it. This means that if you send MathType MTEF with errors, it might crash. At a minimum, you will get an equation with formatting problems. Also, it is a binary format. This means that you can't use character strings to represent equations and it makes creating MTEF a little harder with programming languages like Visual Basic.

Accessing MathML in Output Files and on the Clipboard

MathML is the standard XML encoding for mathematical notation. MathType now embeds MathML markup in equation image files. It also makes MathML data available on the clipboard, when an equation object is cut or copied to the clipboard.

Extracting Baseline Info from Equation Objects and Files

MathType and Equation Editor equation objects and files contain information that word processing, page layout, and other programs can use to automatically align the baseline of in-line equation objects with their surrounding text.  The following notices will provide you with the information needed to extract this data.

  • Extracting Baseline Info from Macintosh PICT Data
  • Extracting Baseline Info from EPS Files
  • Extracting Baseline Info from WMF Data
  • Extracting Baseline Info from GIF Image Files

EGO (Edit Graphic Object) Specification

EGO (Edit Graphic Object) is a Macintosh protocol that employs AppleEvents to implement editing of graphical objects (e.g. equations) embedded in an application's documents. It is similar to the object embedding features of Microsoft's OLE but EGO is much simpler to implement and more broadly supported among Macintosh applications. The EGO Specification gives a Macintosh programmer the information needed to add EGO support to their application. It also contains details regarding the EGO support in MathType and Equation Editor.

License

The MathType SDK License Agreement covers the use of the SDK on your computer. It will be presented to you during the installation of the SDK and you must agree to it to allow the installation to continue.

The MathType SDK Derivative Works Distribution License Agreement describes the rights and restrictions associated with software you may create using the SDK.

Download the MathType Software Development Kit

Before you download the SDK, please complete this form. Your Personal Information Is Protected. We will not share or sell your information at any time for any reason whatsoever. View our Privacy Policy.

Once you have entered your information, click the Download button for the appropriate platform. This will start downloading the SDK, which is around 6MB in size. Please make a note of the folder where you download the SDK. When the download has finished, either open the SDK if your browser offers you this option, or open your download folder and run the downloaded file to install the SDK.

Please complete all fields
First Name:
Last Name:
Organization:
Title:
Street Address:
Street Address 2:
City:
State or Province:
Zip or Postal Code:
Country:
Phone:
E-mail:
URL:
What components of the MathType SDK are you interested in using? Please check all boxes that apply: MathType API Documentation
MathPage Documentation
MathType Translator Programmers Manual
Extending MathType's Font and Character Information
MathType's Character Encodings
MathType's Equation Format (MTEF)
Accessing MathML in Output Files and on the Clipboard
Extracting Baseline Info from Equation Objects and Files
EGO (Edit Graphic Object) Specification
In as much detail as possible, please describe what you plan to do with the SDK:
SDK platform:
- top of page -
Copyright © 1996-2014 Design Science. All rights reserved. | Privacy statement