Completing Font Metadata

Finish the identity and descriptive data before producing a release. These fields affect identification, selection, permissions processing, and application behavior even though most of them do not change a glyph outline.

Identity, Authorship, and Legal Metadata

Review the Creator and Legal pages in Font Info alongside the family/style naming workflow in Naming Fonts and Families.

Use the Vendor code for the short vendor identifier and the manufacturer field for the full manufacturer name. They are not interchangeable. The code contains up to four Latin letters or digits and exports as OS/2.achVendID. Use your Microsoft-registered vendor code where applicable; for an unregistered code, follow FontLab’s lowercase-letter/digit convention rather than borrowing another foundry’s identifier. The adjacent vendor-name lookup helps find a code; it does not replace the exported manufacturer-name field.

Enter the designer and vendor names and URLs, the description, and the appropriate creation information. Check that URLs point to the intended public pages. These are descriptive records, not an automatic connection to a vendor service. Their principal OpenType targets are:

Metadata Export target
Manufacturer name ID 8
Designer / Designer URL name IDs 9 / 12
Vendor URL name ID 11
Description name ID 10
Copyright / Trademark name IDs 0 / 7
License / License URL name IDs 13 / 14
Creation timestamp head

In Type 1 output, the description maps to Copyright and the copyright notice to Notice; do not infer the field mapping from similar labels alone.

Complete the copyright notice with the actual rights holder and applicable dates, and add trademark information where appropriate. The license description and License URL should match the terms distributed with the font. Preserve third-party notices when working under a license that requires them.

Localizable fields on the Creator and Legal pages have a language-icon button, using the same translation flyout as the Names page. Add a language row with +, enter the corresponding text, and use − to remove a translation. These family-level translations are shared across masters and retained in native VFC/VFJ sources; supported values are written to the OpenType name table. Review translated copyright and license text against the actual terms before export.

These strings document identity and terms; they do not themselves implement every restriction or replace the accompanying license agreement. Do not infer permission to modify or redistribute a third-party font simply because FontLab can open it.

Version Metadata

The font's public version is different from the source project's working history. Many edits can lead to one release, and several format variants can belong to that same release.

On Font Info > Creator, set the numeric Major/Minor values and keep the generated version string consistent. The version-string builder can produce a form such as Version 1.000; additional release detail may follow a semicolon. The numeric head.fontRevision and the name ID 5 version string should identify the same release.

Use one monotonically increasing public version. A useful default policy is MAJOR for compatibility-breaking or reflowing changes, MINOR for backward-compatible additions, and PATCH for fixes that preserve the glyph set and layout behavior. Date-based releases are another convention, but require an equally clear progression. Kerning changes can affect text layout, so do not classify every kerning change automatically as a harmless patch.

If you use semantic or date-based labels externally, document how they map to the font's numeric fields. Bump the public release version before distributing changed output, while distinguishing disposable test exports from a new public release. Do not distribute different revised content under a reused public version. Working history and test builds are tracked separately; see Project Data and Versioning.

Embedding Permissions and Classification

Embedding permissions, on Font Info > Legal, encode document-embedding policy in OS/2.fsType.

Setting Declared embedding behavior
Restricted Requires the rights holder’s explicit permission before embedding.
Print/preview Allows temporary loading to view or print a document, not to edit it.
Editable Also allows editing the document with its embedded font.
Installable Allows embedding and permanent installation by the recipient, subject to the font’s license.

Bitmap embedding only permits embedded bitmap data but excludes outlines; it does not generate bitmaps for a font that lacks them. Allow subsetting permits embedding only the required portion of the font. Turning it off requires complete-font embedding when embedding is otherwise permitted. These modifiers do not override the selected permission level.

The Legal page separates copyright and license text from the embedding-permission controls below them.

The Legal page separates copyright and license text from the embedding-permission controls below them.

Choose values consistent with the actual license and delivery requirements. These machine-readable fields are not a general-purpose substitute for contractual terms or a guarantee that every application enforces them identically. In particular, web licensing is not established merely by choosing an fsType value.

PANOSE is a ten-value classification describing aspects of the design. Its Family kind determines how the remaining values are interpreted. The special values 0 and 1 express unspecified/any and no-fit cases where applicable. Vendors sometimes classify loosely or leave values zero; an automatic estimate is a starting point to review, not proof of a correct classification. Interpret measurements in the UPM system introduced in The Em and the Coordinate System.

PANOSE Weight classifies weight within the PANOSE scheme; Names > Weight class uses the separate numeric scale that identifies the font’s style weight. Do not copy a number from one field into the other as though their scales were interchangeable. Keep monospaced declarations and proportion classification consistent with the actual widths; changing a classification does not make a proportional design monospaced. In the usual Latin-text PANOSE family, monospaced export sets bProportion to 9; other PANOSE family kinds use their own mapping.

Codepage and Unicode Coverage

Coverage fields declare supported repertoires; they do not add missing glyphs or mappings. Use Detect codepages and Unicode-range Detect as starting points, then compare the declarations with the actual encoded glyph set.

Codepages & Languages separates available codepages from the selected declarations.

Codepages & Languages separates available codepages from the selected declarations. This example has Windows 1252 Latin 1 selected.

Recall the Codepage filter in Font Filters and customizable .cpg/uranges.dat files in The User Data Folder and Customizable Data Files. The codepage fields describe legacy Windows character sets. Unicode-range fields describe broader block coverage. Manual or hexadecimal editing is available for specialized cases, but set bits because the font supports the repertoire, not to make it appear more complete.

If Unicode ranges are left unset, export can generate them from the font's coverage. Review the result when precise repertoire declarations matter.

Use Symbol font only for a deliberate symbol-font workflow. Its legacy character-set and cmap conventions can involve the U+F020–U+F0FF private-use range and differ from an ordinary Unicode text font. Do not enable it merely because the drawings are pictorial.

Design-language and supported-language metadata use language identifiers such as BCP 47 tags. Auto-calculation can propose values, but language support also depends on shaping, marks, and appropriate forms, not only the presence of characters.

Text Formatting Metadata

Underline position/thickness and strikeout position/thickness tell applications where to draw decorations. Inspect them with The Preview Panel, including descenders, marks, and small sizes. Underline position/thickness map to the post table and, in supported CFF1 output, UnderlinePosition/UnderlineThickness; strikeout maps to OS/2.yStrikeoutPosition and yStrikeoutSize.

Subscript and superscript size/offset values in Font Info > Other Values guide application synthesis where that behavior is used. They populate the OS/2.ySubscript* and ySuperscript* size/offset fields; they do not create the carefully drawn glyphs offered by real subs or sups features.

Optical offsets and per-glyph optical-bound information can support margin alignment through appropriate features such as lfbd and rtbd. Per-glyph guides named ol and or can also supply optical bounds; the positioning-feature side is taught in Mark Features and Export. Their use depends on consumer and export policy. Use the units indicated for each control, and verify the applications expected to honor the result.

Digital Signature

Digital signing can provide evidence of the exported artifact's signer and integrity. Where signing is intended, enable Digitally sign exported OpenType fonts under Preferences > Digital Signature, then configure the Authenticode certificate, key paths, password handling, timestamp service, and supported hash algorithm.

Protect private keys and verify the resulting signature. A trusted timestamp can support verification after the signing certificate expires, subject to the certificate and validation policy. Signing is optional release infrastructure; it does not certify the design or guarantee acceptance by every consumer.

Keep the vendor identity and URLs consistent with the release information. Sign the final intended artifact rather than assuming a signature remains valid after binary changes.

Font and Master Libraries

A lib is structured metadata beyond the fixed fields: strings, numbers, booleans, lists, and dictionaries. Font Lib holds font-wide data; Master Lib holds per-master data. In UFO/DesignSpace exchange, Font Lib maps to the DesignSpace lib, while Master Lib maps to the corresponding UFO lib.plist; see Interchange and Legacy Formats.

Use namespaced keys, such as com.example.project, to avoid collisions. FontLab uses com.fontlab. keys; shared UFO conventions use public.. Do not repurpose an application key whose meaning you do not know.

Some keys affect output rather than serving only as notes. com.fontlab.masterFilename and com.fontlab.mastersFolder influence master filenames and project paths. Review them when moving a project or preparing interchange output.

Glyph and layer libs are also accessible through the Source panel; programmatic access is covered in The Python API and Libraries. Preserve relevant structured metadata during handoff, but do not assume every destination interprets it or every production format stores it.