Embedding bits

From Fontlab Wiki

The embedding bits (also known as the fsType field) are part of TrueType and OpenType fonts, and exist in the 'OS/2' table. They are intended to declare under what circumstances the font may be embedded in documents. For a background to embedding fonts, see font embedding.

It is not explicit how the embedding bits relate to the EULA: for example, the EULA may allow the user to embed fonts in a PDF that is only used within a company, yet forbid the user from placing that PDF on a public website.

Official specification

This is copied directly from Microsoft OpenType specification: 'OS/2' table (http://www.microsoft.com/typography/otspec/os2.htm). Note that from around 1991 to 1997, the specification only covered bits 1, 2 and 3. Thus fonts could only contain the settings "installable", "editable", "print & preview", or "restricted".


fsType

Format: 2-byte unsigned short
Title: Type flags.
Description: Indicates font embedding licensing rights for the

font. Embeddable fonts may be stored in a document. When a document with embedded fonts is opened on a system that does not have the font installed (the remote system), the embedded font may be loaded for temporary (and in some cases, permanent) use on that system by an embedding-aware application. Embedding licensing rights are granted by the vendor of the font.

The OpenType Font Embedding DLL Specification and DLL release notes describe the APIs used to implement support for OpenType font embedding and loading. Applications that implement support for font embedding, either through use of the Font Embedding DLL or through other means, must not embed fonts which are not licensed to permit embedding. Further, applications loading embedded fonts for temporary use (see Preview & Print and Editable embedding below) must delete the fonts when the document containing the embedded font is closed.

This version of the OS/2 table makes bits 0 - 3 a set of exclusive bits. In other words, at most one bit in this range may be set at a time. The purpose is to remove misunderstandings caused by previous behavior of using the least restrictive of the bits that are set.

Bit Bit Mask Description
  0x0000 Installable Embedding: No fsType bit is set. Thus fsType is zero.
Fonts with this setting indicate that they may be embedded and permanently installed on the remote system by an application. The user of the remote system acquires the identical rights, obligations and licenses for that font as the original purchaser of the font, and is subject to the same end-user license agreement, copyright, design patent, and/or trademark as was the original purchaser.
0 0x0001 Reserved, must be zero.
1 0x0002 Restricted License embedding:
Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the legal owner.
Caution: For Restricted License embedding to take effect, it must be the only level of embedding selected.
2 0x0004 Preview & Print embedding: When this bit is set, the font may be embedded, and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened "read-only;" no edits can be applied to the document.
3 0x0008 Editable embedding: When this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview

& Print fonts, documents containing Editable fonts may be opened for reading, editing is permitted, and changes may be saved.

4-7   Reserved, must be zero.
8 0x0100 No subsetting: When this bit is set, the font may not be subsetted prior to embedding. Other embedding restrictions specified in bits 0-3 and 9 also apply.
9 0x0200 Bitmap embedding only: When this bit is set, only bitmaps contained in the font may be embedded. No outline data may be embedded. If there are no bitmaps available in the font, then the font is considered unembeddable and the embedding services will fail. Other embedding restrictions specified in bits 0-3 and 8 also apply.
10-15   Reserved, must be zero.


Invalid embedding bits

Many fonts generated with Fontographer contain invalid embedding bits. Some software treats invalid data as permission to embed the font.

Unauthorized editing of the fsType field

The right to edit the embedding bits on a font you do not own, whether you have licensed it or not, was challenged in 1999 by Agfa-Monotype under the DMCA. The maker of a free tool that could edit fsType bits to make fonts freely embeddable was asked to stop distribution. The case attracted controversy, from those who declared that since the fonts were not encrypted, there was no crime being committed.