|The Licensee is not entitled to change, adapt, translate, reverse engineer, decompile, disassemble or dismantle, modify or attempt to discover the source code of the Font Software in any other way. Nevertheless, you are permitted to subset web fonts. View license|
|Grilli Type||You may not modify the Fonts under any circumstance, except by subsetting the character set of the Fonts, meaning using an application or service to reduce the number of characters or features in the Font while not modifying any of the underlying character designs (also known as the design of the typeface) or Font name tables. View license|
|HEX||You may only modify the fonts for your own purposes. You must not distribute any modified version of the fonts. Any modified versions of the fonts remain the property of HEX and are subject to the same license and limitations. View license|
|Klim||You can subset the Fonts only for the purpose of reducing the file size. Klim will neither provide subsetted fonts nor software to create subsets. Klim will not support subsetted Fonts. Any subsetted Fonts You create under this clause will be subject to the full terms and conditions of this Agreement. View license|
|Okay Type||… you are allowed to subset the fonts in order to reduce their file size. Okay Type is not responsible, however, for any technical issues that might result from your subsetting. View license|
|Process||The following are allowed by this agreement; you may: … Remove glyphs from the fonts (“subsetted fonts”) solely for the purpose of reducing the font’s file size. The use of the subsetted fonts remains controlled by this agreement and no other modifications are allowed. Process will not support the resulting amended fonts. View license|
|Razziatype||You must not modify the fonts under any circumstance with the exception of subsetting the character set of the fonts. “Subsetting” shall mean to reduce the number of characters or features in the fonts using an application or service. View license|
|Typemates||You may not convert the fonts to other font formats, nor may you modify, decompile or instruct a third party to convert, modify or decompile them. Nevertheless, you are allowed to subset our WebFonts. View license|
|Commercial||FAQ mentions “we can help by subsetting the fonts”, but it is unclear whether buyers may subset fonts they purchase. View FAQ|
|Milieu Grotesque||Buyers may not subset fonts, but Milieu Grotesque will provide a standard subset for free (basic uppercase, lower case, numerals, basic interpunction) on request, or custom glyph tables for a fee. View tweet|
|Colophon||Any modifications of our font software is strictly prohibited. View license|
|Displaay||You are not allowed to (or enable a third party to) alter, modify, rename, convert or otherwise change the webfonts or to create derivative works from the webfonts or any their parts … View license|
|Frere-Jones||Under no circumstances may you, nor may you cause any third party to, modify, alter, translate, convert or otherwise change the Font Software in any manner whatsoever, including converting the Font Software into a different font format or using any tool or service to subset or otherwise modify the Font Software. View license|
|Hoefler&Co||Licensee may not … extract, decompile, modify, reformat, translate, reverse-engineer, assemble, re-digitize, or discover the source code of, or remove or disable any Security Feature of, any Licensed Software or other H&Co Property. View license|
|Lineto||Modifying the Font Software is prohibited, even in the event that it is necessary for fullling personal design requirements. View license|
|Sharp||If you modify, alter or “improve” the Font Software in any way, you will have violated this license … View license|
How do I subset fonts?
We recommend using the library glyphhanger. This tutorial by Florian Brinkmann provides helpful step-by-step instructions.
How big of a difference does it make?
The change in file size depends on how many characters you remove. When I’ve created a subset for English, a reduction from 45KB to 15KB per font has been typical.
Is there a downside?
There are a few pitfalls with subsetting that are hard to spot. First, subsetting can remove kerning or OpenType features; we haven't had that experience with glyphhanger, but it has happened with other tools.
Second, subsetting can cause weirdness with website translation tools. If you create a subset with only English characters and a visitor uses Google Translate to read in Spanish, the letter E will use your custom typeface while the letter É will use the fallback. The solution: create multiple subsets—one for the primary language, and one for additional characters. You can use the unicode-range property to tell the browser which subset(s) to load.
Why don’t browsers do this automatically?
W3C is working on Incremental Font Transfer. If this effort is successful, manual subsetting would become unnecessary.
Does Google Fonts support subsetting?
Google Fonts sources from multiple foundries, and licenses vary. Most use
the Open Font License, which supports subsetting.
Does something look wrong? Want to add your type foundry? Send me an
email or post a Github issue.