Open-source project
CatharsisFonts/Cormorant avatar
CatharsisFonts/Cormorant

Cormorant is a 45 file display family that still needs a commercial editor to build

Cormorant open-source display font family

644 stars28 forksPythonOFL-1.1

At a glance

What is it?
Cormorant is an open source display typeface by Christian Thalmann, released under the SIL Open Font License and hosted on Google Fonts, with Glyphs source files in the repository. Its variable fonts build with gftools, but the static fonts still require a commercial font editor, which is the constraint that shapes the workflow.
Who is it for?
Cormorant is a good choice when you need a refined display face for headings and can accept a Garamond-adjacent texture, since the family covers Roman, Italic, Infant, Garamond, Cursive, Small Caps and Unicase across five weights, and the licence is permissive enough for commercial work.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Nine styles, five weights, forty-five files

Cormorant is a free display type family developed by Christian Thalmann of Catharsis Fonts. The README describes its scope precisely, which is useful for anyone choosing a typeface: 45 font files spanning nine different styles, namely Roman, Italic, Infant, Infant Italic, Garamond, Garamond Italic, Upright Cursive, Small Caps and Unicase, across five weights from Light through Regular and Medium to Semibold and Bold. The Garamond and Unicase and Small Caps cuts are the reason the family is larger than a typical display family, and they are also where the design work is most visible. The Infant style exists because Roman at small sizes carries too much contrast to work, which is a design decision rather than a technical one. An illustrated presentation and description of the family is on its Behance page, and the project also appears in the free webfonts service at Google Fonts, which is the fastest route for a web project that only needs the font in a browser.

The Glyphs sources are published, but they are not the whole story

Cormorant is open source in the sense that matters for a typeface, which is that all of its working files in Glyphs format are in the repository. The author adds a caveat that is worth taking seriously: if you want to work with Cormorant in a different font editor, which he would not recommend, he can provide UFO versions of the files instead. That single sentence describes the state of the project. The sources are open, but the tooling around them is commercial. Glyphsapp is the editor the family was drawn in, the acknowledgements call it the best font editing software and say it is not free but worth every penny, and the author notes that he used the public beta of the RMX Harmonizer plug-in to ensure curve quality. The type itself was drawn from scratch rather than from a specific Garamond font, though the Claude Garamont legacy is named as the inspiration, and when a specific character needed guidance he searched for the term Garamond on MyFonts for a general impression. The feedback that shaped the family came from the TypeDrawers, Typografie.info and Typophile communities.

Variable fonts build with gftools, statics still need Glyphs

The build documentation is split, and the split is the interesting part. The variable fonts are built with the gftools builder, which needs Python 3.7 or newer, and the sequence is a virtual environment, a requirements install and a builder run from the sources directory.

code
pwd # this command will return our current working directory. Make sure it's the project's main directory!
python3 -m venv venv
code
source venv/bin/activate
code
pip install -r requirements.txt
code
cd sources/
gftools builder build.yaml

The static fonts are the awkward part. The README says that because of the complexity of renaming and swapping glyphs for the static fonts, Glyphsapp is needed, because the gftools builder does not support those features. Inside Glyphsapp you load the sources and generate the static TrueType files into one directory and the static OpenType files into another, then post process the statics so they pass the internal QA tools, and finally generate the webfonts.

code
sh fix_statics.sh
code
sh gen_webfonts.sh

So the contributor without a Glyphsapp licence can build the variable fonts and nothing else, which is a meaningful constraint for a project that presents itself as fully open. The pinned requirements file is long and tells you what the pipeline involves: gftools, fontmake, fontTools, ufo2ft, defcon, fontParts, fontMath, HarfBuzz bindings, and the full Google Fonts toolchain including language sets and subsetting tools.

The Makefile derives seven styles from three master sources

The Makefile explains the structure of the family better than the prose does. Three Glyphs sources are listed as the inputs, the Roman, the Italic and the Upright Cursive, and the rest of the family is derived from them at build time using babelfont, with a filter that applies custom parameters for a specific instance and another that drops unexported glyphs. The derived styles are Infant, Infant Italic, Garamond, Garamond Italic and Unicase.

code
. venv/bin/activate; babelfont $< --filter 'applyCustomParameters:instance=Cormorant Garamond Regular' --filter 'dropUnexportedGlyphs:force=true' $@

That one line explains why a single Roman source can produce a Garamond cut with different proportions and a Unicase cut with a different case system, and it also explains the tree layout, with a sources directory and a generated directory beneath it. The Makefile's help output lists the four things it can do: build the fonts into the fonts directory, test them with fontbakery, create HTML proof documents in a proof directory, and create PNG specimen images in a documentation directory. Separate virtual environments are used for the build and for the tests, which is a small sign that the toolchain has grown.

The licence allows commercial use with three conditions

Cormorant and all its associated font files are free software under the SIL Open Font License, and the README paraphrases the terms in plain language. You get the right to download, use and redistribute the fonts as you like, provided that you retain the copyright notices, you do not redistribute the software without the licence information, and you do not redistribute the fonts by themselves for a fee, although you are allowed to sell them as part of a bundle containing other items. That third condition is the one that catches people out, and it is the reason the licence is worth reading rather than assuming. Shipping the fonts inside a paid product that includes other items is fine. Shipping the font files alone as a paid download is not. The licence texts are in the tree, with the OFL itself and an FAQ file alongside it, and there is also a FONTLOG file. The family is on Google Fonts, and the acknowledgements credit Google Fonts and Dave Crossland specifically for making the libre release possible through funding of the development process.

Install through the archive or through Google Fonts, but the tags lag the work

There are two installation routes and they suit different needs. If you want the family on your own machine, the README tells you to download the Cormorant_Install ZIP file from the latest release, unpack it, and install the TrueType files as appropriate for your operating system. If you want it on a website, it is offered as part of the free webfonts service at Google Fonts, which sidesteps self hosting entirely. The release history is where the timing question comes up. The tags are v4.002 from 2025-04-10, v3.609 from 2020-10-12 and v3.601 from 2018-11-06, so the gap between tagged releases has been widening even as the work continues, and the last push was on 2026-10-06. The version number itself is in the font metadata and the family name in the manifest, so a careful integrator can check exactly which build is in use. Feedback, bug reports, test results and suggestions for additions are all invited through the issue tracker, which is a low traffic but active channel for a project of this size.

Editorial conclusion

Cormorant is a good choice when you need a refined display face for headings and can accept a Garamond-adjacent texture, since the family covers Roman, Italic, Infant, Garamond, Cursive, Small Caps and Unicase across five weights, and the licence is permissive enough for commercial work. It is a poor choice if you need to build the fonts yourself from source, because the static instances depend on Glyphsapp, a commercial application the author recommends and the build steps assume, so a contributor without a licence is limited to the variable font path. Verify three things before you rely on it: which file the installer archive actually contains, since the static instances come as TrueType files in a ZIP from the latest release, that the version you use matches the one Google Fonts serves, because the newest tagged release is v4.002 from 2025-04-10 while the last push was on 2026-10-06, and that the licence conditions are met in your distribution, since the fonts cannot be redistributed on their own for a fee.

Frequently asked questions

How do I install the Cormorant font family?

For local use, download the Cormorant_Install ZIP archive from the latest release, unpack it and install the TrueType font files for your operating system. For a website, the family is offered through the free webfonts service at Google Fonts.

What styles and weights does Cormorant include?

The README states that the family comprises 45 font files spanning nine styles, Roman, Italic, Infant, Infant Italic, Garamond, Garamond Italic, Upright Cursive, Small Caps and Unicase, and five weights from Light to Bold through Regular, Medium and Semibold.

Can I build the Cormorant fonts from source without a commercial editor?

The variable fonts can, since they are built with the gftools builder from a Python environment. The static fonts cannot, because the README says Glyphsapp is required for the renaming and glyph swapping involved and the gftools builder does not support those features.

Can I sell the Cormorant fonts?

You can include them in a bundle sold with other items, but the licence condition says you must not redistribute the fonts by themselves for a fee. You must also retain the copyright notices and include the licence information with any redistribution.

Official sources

  1. CatharsisFonts/Cormorant on GitHub
  2. Issues
  3. License: OFL-1.1
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/catharsisfonts-cormorant.svg)](https://hysenlabs.com/projects/catharsisfonts-cormorant)

Was this useful?