typefacefiles

Home

How we measure

Every figure on this site is read from the google/fonts repository at commit 9862abc, dated 28 October 2026: the family metadata file (METADATA.pb) for names, designers, category, subsets, axes, date added and licence, and the font file itself for every measurement.

Which file is measured

For each family we open one upright file: the regular weight (400) when the family has one, otherwise the weight closest to it. Variable fonts are measured at weight 400 when their weight axis reaches it, with every other axis at its default. The outlines drawn on the family pages come from the same file and the same position.

Vertical proportions

Heights are taken from the outlines, not from the values a font declares in its header tables, which are sometimes missing or rounded. The x-height is the top of the lowercase x, the cap height the top of H, the ascender the top of d and the descender the lowest point of p. All are converted to units per 1,000 em (font units divided by the font’s units per em, times 1,000), so a family drawn on a 2,048-unit grid compares directly with one drawn on 1,000. An x-height of 500 means the lowercase x is half the font size.

x-height ÷ cap height divides the two, so it describes the shape of the alphabet independently of how large the letters sit in the em.

Width and ink

Average lowercase width is the mean advance width of a to z, per 1,000 em: the space each letter occupies including its side bearings. Ink coverage is our own index: the filled area of the 26 lowercase outlines divided by the sum of their advance widths times the x-height, as a percentage. It is a measure of colour on the page at the regular weight; it is not comparable with a printed tone value.

Files, features and scripts

Glyph count is the number of glyphs in the measured file; mapped characters are the Unicode code points in its character map. OpenType features are the feature tags declared in its substitution and positioning tables; a declared tag shows the feature exists, not how many letters it touches. Script subsets are the ones listed in the metadata, which is how Google Fonts splits a family for delivery.

Ranks and neighbours

Ranks are counted among the 1,899 measured families or among the members of one class; a statement such as “the third-widest lowercase” always names its group. Ties share a rank, and tied values are not used as headline facts. Measured neighbours are found with six proportions (x-height, cap height, ascender, descender depth, width and ink), each standardised by its spread across the library; the distance is the straight-line distance between those standardised values. Neighbours are similar in proportion only: two families with close numbers can look very different.

Class medians

Classx-heightCap heightWidthInk
Sans serif51970252240.2%
Serif48270051441.5%
Display50770150648.7%
Handwriting44573341844.3%
Monospace51769960036.0%

Dates and scope

“Added” is the date_added field of the metadata. It records when a family entered the library, not when it was designed and not when a later version, a new axis or a new subset arrived. Everything here describes the library as of 28 October 2026; families added or removed after that date are not included. The repository holds no usage or popularity figures, so the site has none either.

Families left out

The repository held 2,040 family folders at that commit. Of these, 141 could not be measured on the same terms and appear nowhere on the site:

ReasonFamilies
guideline companion font (letters drawn with ruled guide lines)56
not measurable: no basic Latin letters36
implausible measurement22
colour font21
TeX math symbol font (letter slots hold math symbols)6

Most are families without basic Latin letters (for example many Noto families for a single script, and symbol or icon fonts), which have no x or H to measure.

Which families have their own page

A family gets its own page when the measurements set it apart: a top-five place in the library or a top-three place in its class on one of the measures above, a rarely covered script, an uncommon variable axis, or one of the first additions to the library. Families that share a designer and either a name (Noto Sans and Noto Sans Arabic, for example) or practically the same measurements are grouped: the one with the shortest name gets the page and lists the others with what sets each apart. Where two family pages would still say nearly the same thing, only the one with the stronger facts is kept. The 1,703 others are listed in the class, script, axis and designer pages and in the type finder.

Licences

Font files in the repository are free software under the SIL Open Font License 1.1, the Apache License 2.0 or the Ubuntu Font Licence 1.0, as stated in each folder. This site shows glyph outlines drawn from those files and does not distribute the files. The descriptions in the repository are not reproduced.