mkeot man page

mkeot — generate Embedded OpenType


mkeot font-file [ URL [ URL ... ] ] > EOT-file


The mkeot command writes an EOT (Embedded OpenType) file on standard output that contains the given font file (OpenType or TrueType) and the given URLs.

mkeot handles TrueType files, OpenType files with TrueType outlines, and OpenType files with Postscript outlines. (Technically: all files with the "sfnt" format.) However, Microsoft's Web browser Internet Explorer (version 8) cannot handle Postscript outlines. To use EOT files with that browser, OpenType files with Postscript outlines must be converted to TrueType files first. Several prgrams are able to do that, including the free fontforge.

The URLs that are added to the EOT file list the Web pages on which the EOT font may be used. They act as prefixes, which means that, e.g., a URL such as enables a font not only for that precise page, but also for or or any other pages whose URL starts with the prefix.

The EOT specification allows EOT files without any URLs, but is not clear on the meaning of such a file. In practice, at least in Microsoft's Internet Explorer (version 8), an empty list of URLs means the font applies to no Web page at all.

EOT font are typically used for Web pages. To that end, a link (URL) to the EOT file must appear in the Web page's style sheet. A typical rule in CSS looks like this:

@font-face {
  font-family: My Fancy Font;
  font-style: normal;
  font-weight: normal;
  src: url(;
body {
  font-family: My Fancy Font, serif;

This downloads the EOT file from the given URL and declares it to be a font of normal weight and roman style with the family name "My Fancy Font." That font can then be used in style rules, such as, in this example, to set the font of body text. See the "CSS Fonts Module level 3" for details on CSS.

TrueType files typically have the extension .ttf, OpenType files typically have the extension .otf and EOT files typically end in .eot.

See Also

eotinfo(1), fontforge(1), WEFT (…), EOT ( CSS Fonts Module level 3 (see


mkeot does not apply the optional MicroType Express compression.

mkeot may fail with fonts that have non-ASCII characters in their names.

mkeot cannot handle fonts that use (only) language tags instead of traditional Microsoft/Apple language numbers in their names table. (Luckily, this feature of OpenType version 1.6 appears to be little used.)

mkeot does not subset the font, unlike Microsoft's graphical WEFT tool. To make a EOT file with a reduced set of glyphs, you must first create a subsetted TrueType font with a font editor.

Referenced By


25 Jan 2010 1.x EOT UTILITIES