MKEOT(1)

πŸ’… MKEOT β€” the mkeot(1) page, but make it cute

okay bestie, welcome to the EOT UTILITIES corner of the manual. this is mkeot, and she is literally here to make you an Embedded OpenType file. no cap. let's get into it πŸŽ€


✨ NAME ✨

mkeot β€” generate Embedded OpenType. that's the whole job description, she's very focused πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

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

so you give her a font file, you can throw in as many URLs as you want (or zero, we'll get to that πŸ‘€), and she pipes the EOT file out to standard output. redirect it, bestie.


🌸 DESCRIPTION 🌸

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. simple as that, periodt.

mkeot handles TrueType files, OpenType files with TrueType outlines, and OpenType files with Postscript outlines. (Technically: all files with the "sfnt" format β€” she's not picky like that.)

⚠️ HOWEVER. Microsoft's Web browser Internet Explorer (version 8) cannot handle Postscript outlines. like, at all. so if you wanna use EOT files with that browser, OpenType files with Postscript outlines must be converted to TrueType files first. several programs are able to do that, including the free fontforge. so go do that first, don't come crying to me 😭

The URLs that are added to the EOT file list the Web pages on which the EOT font may be used. and here's the thing β€” they act as prefixes πŸ’… which means that, e.g., a URL such as http://example.org/foo enables a font not only for that precise page, but also for http://example.org/foo2 or http://example.org/foo/bar or any other pages whose URL starts with the prefix. it's giving ✨prefix energy✨ iykyk.

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. so like... useless? πŸ™ˆ

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(http://example.org/fonts/fancy-roman.eot);
}
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. πŸ“š

oh and btw, for the file-naming girlies: TrueType files typically have the extension .ttf, OpenType files typically have the extension .otf and EOT files typically end in .eot. keep those straight bestie 🫢


🌈 SEE ALSO 🌈


πŸ’€ BUGS πŸ’€

okay now the part nobody wants to hear but we gotta be honest, bestie 😭

  • mkeot does not apply the optional MicroType Express compression. not doing it. skipping that step entirely.
  • 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. so like, lowkey fine 🌸)
  • 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. no shortcuts, babe πŸ’…

version 1.x Β· dated 25 Jan 2010 β€” yeah she's an elder icon but she still ate, and honestly? main character energy forever πŸ‘‘βœ¨ bye bestie, go embed some fonts πŸ¦‹πŸ’–