About this site

Why this site exists

A company founded in Europe needs a typeface for its website, logo and printed matter, and that typeface has to grow with the business. At the latest when you enter new markets, it becomes clear whether it contains every character you need: French accents, Polish and Romanian diacritics, the Greek and Cyrillic alphabets. If they are missing, the brand breaks exactly where it needs to convince.

Until now there was no overview of which fonts meet this requirement. CloudEurope.eu closes that gap: Fonts for Europe lists every open-source font from Google Fonts that fully covers all 24 official EU languages, checked character by character.

Why self-host your fonts?

Google Fonts did the important work: it publishes high-quality open-source fonts and keeps their sources on GitHub. We use it as the source for this site. But we recommend that you don't load fonts from Google's servers on your website. Download them and serve them yourself.

Privacy and the GDPR

When a page loads a font from fonts.googleapis.com, every visitor's browser sends their IP address to Google. In January 2022 the Munich Regional Court (LG München I, 3 O 17493/20) ruled that doing this without consent violates the GDPR and awarded the plaintiff damages. Self-hosted fonts don't send anything to a third party.

No speed advantage from a CDN

It used to be argued that a shared CDN was faster because the font was already in the visitor's cache from another site. That is no longer true: all major browsers now partition their cache by site, so a font from a shared CDN is downloaded again for every website. Serving from your own domain saves a DNS lookup and a TLS handshake, so it is usually faster.

Control

Self-hosted fonts don't change unexpectedly and don't break if a third-party service changes. They also allow a strict Content-Security-Policy without exceptions for external domains. This site follows its own advice: it makes no third-party requests.

How it works

  1. Open a font and click Download .zip.
  2. Unzip it into your website, for example as /fonts/<name>/.
  3. Include the provided fonts.css, then use the font family in your CSS.

The zip contains unmodified WOFF2 conversions of the original files from google/fonts, the license text and the @font-face rules. The originals are linked on every font page, both on GitHub and on Google Fonts. The licenses (OFL, Apache 2.0, UFL) allow you to use and redistribute the fonts. Keep the license file next to the fonts.

How we choose the fonts

We check every font family in google/fonts automatically, once a month. A family is listed only if every one of its style files contains all the characters needed for each of the 24 official EU languages:

Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish.

Source: European Union – Languages. The official languages are set by Regulation No 1 of 1958, as amended.

The character sets come from the Unicode CLDR via Google's gflanguages database: the letters of each alphabet in upper and lower case, numerals, punctuation and the euro sign €. In practice that means Latin with many accents (for example Romanian ș ț with comma below, Maltese ħ ċ ġ ż, Hungarian ő ű), plus Greek and Bulgarian Cyrillic.

CLDR also lists some characters that ordinary text rarely needs. A font without them is still listed, and its page shows its character coverage, at least 98.9%. Fonts that have these characters too have 100% coverage: