Version numbering limitations

The Version number input controls appear to apply some restrictions to what’s possible.

I want to specify a font version number that corresponds to semver:

`x.y.z`

ie 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.1, 1.1.2, 1.1.3, etc.

In semver, leading zeroes are not permitted:

:cross_mark: 1.000

:cross_mark: 1.01

Glyphs won’t let me specify 1.0(it’s converted to 1.000) or 1.0.0 (not possible).

Any workrounds?

The font version number follows the OpenType specification. Fonts contain a majorVersion and minorVersion, the latter stored with leading zeros.

What are you trying to do exactly? There is no way to change this, as this would go against the spec.

Ok, I guess it can’t be done. Thanks!

I wanted the version number to be a valid semver value so that the font version and the release number can be the same and kept in step. Obviously the release number has to be semver-compliant when fonts have to behave like software (GitHub etc). It would be easier if the font version and font release number could be the same. Otherwise, it’s “install version 1.023 of the font which was released as version 1.23 (no zero)”, which is potentially confusing.

there are several places where version information is stored:

  1. font revision in the head table. From the OpenType spec:
    Fixed | fontRevision | Set by font manufacturer.
    and “Fixed” is “32-bit signed fixed-point number (16.16)” (have a look what that means :wink:
  2. the version string in the name table. Here you can write whatever you like, it is just a string.
  3. there is probably some versioning in the CFF table …

Thanks. So which one is visible to the user (eg in the Finder):slight_smile:

Here, 17.0d1e1

That is probably the version string. What do your files show there?

The Finder Info

Screenshot 2026-07-16 at 12.24.34

shows the same information as the Glyphs > Font Info > Version:

Screenshot 2026-07-16 at 12.23.43

So the non-standard Menlo version number means that Menlo wasn’t made with Glyphs… Well, it’s too old, as well… :slight_smile:

I strongly assume that that’s the “version string”, which is stored on the name table.

You can see that yours says Version 0.063; ttfautohint... (I assume).

You can set this in Glyphs with the font info parameter Version String. You can put anything in there.

If that parameter is absent, Glyphs generates a version string based on the major/minor version set, plus the Glyphs version.

1 Like

Thanks, this works!