A collection of beautiful free and open source fonts: instructions for installing, Unicode fallback chains, instructions to replace Windows ClearType and fix browser fonts.
Contents:
- All non-CJK fonts in one archive (list of all non-CJK fonts).
- All CJK fonts in one archive (list of all CJK fonts).
- Install Open Fonts in pip and conda (non-CJK only).
First of all OTF and TTF versions of every font have different display weight on Windows on small sizes for some reason (see this and that) hence use TTF version as it looks closer to original design.
Sans serif fonts used for main fonts and fallbacks have the following support of the top writing systems** of the internet:
- LGC (Latin, Greek, Cyrillic): Source Sans Pro, Open Sans, Roboto, Sourcing Sans Pro, Noto Sans, DejaVu Sans, Lato.
- Cyrillic variants: Source Sans Pro (see language variants and math support).
- CJK variants (Chinese, Japanese, Korean): Source Han Sans (see language variants and math support).
- Math: DejaVu Sans, fonts from serif section.
- Emoji: Symbola (black and white), Twemoji Mozilla (color).
- Arabic: Noto Sans Arabic, DejaVu Sans.
- Armenian: Noto Sans Armenian, DejaVu Sans.
- Bengali: Noto Sans Bengali.
- Georgian: Noto Sans Georgian, DejaVu Sans.
- Hebrew: Noto Sans Hebrew, DejaVu Sans.
- Hindi-Devanagari: Noto Sans Devanagari.
- Hindi-Urdu: fonts from serif section.
- Tamil: Catamaran, Noto Sans Tamil.
- Thai: Noto Sans Thai.
Only 3 fonts are maintained for multilingual stylistic fit: Source Sans Pro, Open Sans, Roboto.
** Top 15 writing systems of the internet: Threshold to include languages was via Wikipedia statistics of Total page views over Last 12 Months: it should be more than 115M (10.2020). And a language should either be in the Font Library list or in the Google Fonts list.
Honorable 2: Math, Emoji. Top 15: Latin, Greek, Cyrillic, Chinese, Japanese, Korean, Arabic, Armenian, Bengali, Georgian, Hebrew, Hindi-Devanagari, Hindi-Urdu, Tamil, Thai.
(designed by Paul D. Hunt), Preview old ver., Preview, Preview, Download, Download original, Backup
My favorite!
In the latest version the "Source Sans Pro" name was changed to "Source Sans 3". I hope that it would be reverted but for now I recommend to use both latest version stll named 'Source Sans Pro'
and 'Sourcing Sans Pro'
(that is simply a renamed 'Source Sans 3'
) in the fallback chain:
Font fallback chain: 'Source Sans Pro', 'Sourcing Sans Pro', 'Noto Sans', 'Noto Sans Armenian', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Georgian', 'Noto Sans Arabic', Catamaran, 'Noto Sans Thai', 'DejaVu Sans', 'STIX Two Math', Symbola, 'Source Han Sans', sans-serif
.
- Noto Sans Hebrew might be a better Hebrew fallback than DejaVu Sans if you need to use semibolds (600):
'Source Sans Pro', 'Sourcing Sans Pro', 'Noto Sans Hebrew', ...
- Urdu alterantive to Arabic:
'Noto Nastaliq Urdu'
- Color Emoji:
'Twemoji Mozilla'
I had a bug when 'Source Sans Pro'
did not work properly in LibreOffice with language variations. But 'Sourcing Sans Pro'
worked fine. But this might be some re-installation bug. Check yourself.
Fallback fonts:
- CJK fallback: Source Han Sans (by Adobe and Google), Preview: JP, CN, KR, HK, TW, Download Language-specific OTFs (Japanese is default), Download other options, Source code, Backup.
- Math fallback: STIX Two Math (see below),
- Unicode fallback:
- Noto Sans (see below),
- DejaVu Sans (by Jim Lyles and others), Preview, Download, Backup, Backup2,
- Final: Symbola (by George Douros), Preview, Download latest free version, Latest but not free version
- Arabic fallback: Noto Sans Arabic (by Google), Preview, Download, Download original.
- Armenian fallback:
- Noto Sans Armenian (by Google), Preview, Download, Download original.
- DejaVu Sans (by Jim Lyles and others), Preview, Download, Backup, Backup2,
- Bengali fallback: Noto Sans Bengali (by Google), Preview, Download, Download original.
- Georgian fallback: Noto Sans Georgian (by Google), Preview, Download, Download original.
- Hebrew fallback:
- Noto Sans Hebrew (by Google), Preview, Download, Download original.
- DejaVu Sans (by Jim Lyles and others), Preview, Download, Backup, Backup2,
- Hindi-Devanagari fallback: Noto Sans Devanagari (by Google), Preview, Download, Download original.
- Hindi-Urdu: Noto Nastaliq Urdu (see below in serif section).
- Tamil fallback:
- Noto Sans Tamil (by Google), Preview, Download, Download original.
- Catamaran (by Pria Ravichandran), Preview, Download, Download, Backup,
- Thai fallback: Noto Sans Thai (by Google), Preview, Download, Download original.
- Emoji fallback:
- balck and white: Symbola (by George Douros), Preview, Download latest free version, Latest but not free version
- color: Twemoji Mozilla (by Twitter), Preview, Download, Backup. You can install Twemoji Mozilla on Windows 7 but it won't work out of the box in Chromium so you should use it with font-face (otherwise you would get empty space instead of emoji). For example Stylebot can set font-face:
@font-face { font-family: 'Twemoji Mozilla'; src: url("file:///C:/Windows/Fonts/TwemojiMozilla.ttf") format("truetype"); font-weight: 400; font-style: normal; }
(Noto Sans by Steve Matteson and Google), Preview, Preview, Download, Download original latest version.
They are almost the same font. But still not the same font!
- Noto Sans is a bit heavier than Open Sans,
- Noto Sans has much wider Unicode coverage,
- Open Sans has gouble-story g when Noto Sans has singe-story g.
Mind that Noto Sans has more font weghts than Open Sans so if using them together as here do not use 100, 200, 500, 800 (use 900 instead).
Font fallback chain: 'Open Sans', 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Georgian', 'Noto Sans Arabic', 'Noto Sans Hebrew', Catamaran, 'Noto Sans Thai', 'DejaVu Sans', 'STIX Two Math', Symbola, 'Source Han Sans', sans-serif
.
- Noto Sans fallback is the same but without
'Open Sans'
- Urdu alterantive to Arabic:
'Noto Nastaliq Urdu'
- Color Emoji:
'Twemoji Mozilla'
Font fallback chain: Roboto, 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Georgian', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans Tamil', 'Noto Sans Thai', 'DejaVu Sans', 'STIX Two Math', Symbola, 'Source Han Sans', sans-serif
.
Urdu alterantive to Arabic: 'Noto Nastaliq Urdu'
(by Łukasz Dziedzic), Preview, Preview old ver., Download latest version, Backup, Backup2
Font fallback chain: Lato, sans-serif
.
First of all OTF and TTF versions of every font have different display weight on Windows on small sizes for some reason (see this and that) hence use TTF version as it looks closer to original design.
Serif fonts used for main fonts and fallbacks have the following support of the top writing systems of the internet:
- LGC (Latin, Greek, Cyrillic): STIX Two Text, Source Serif Pro, Vollkorn, XITS Two Text, Noto Serif, DejaVu Serif, Linus Libertinus, Libertinus Serif, XITS, XITS One Text.
- Cyrillic variants: Source Serif Pro, Vollkorn.
- CJK variants (Chinese, Japanese, Korean): Source Han Serif.
- Math: STIX Two Math (XITS Two Math), XITS Math (XITS One Math), Linus Libertinus Math (Libertinus Math), STIX Two Text (XITS Two Text), XITS (XITS One Text), Linus Libertinus (Libertinus Serif), Symbola, Amiri, MathJax version of Computer Modern.
- Emoji: Symbola (black and white), Twemoji Mozilla (color).
- Arabic: Noto Naskh Arabic, Amiri.
- Armenian: Noto Serif Armenian, DejaVu Serif.
- Bengali: Noto Serif Bengali.
- Georgian: Noto Serif Georgian, DejaVu Serif.
- Hebrew: David Libre, DejaVu Serif, Linus Libertini.
- Hindi-Devanagari: Noto Serif Devanagari, Halant.
- Hindi-Urdu: Noto Nastaliq Urdu.
- Tamil: Noto Serif Tamil.
- Thai: Noto Serif Thai.
Only 3 fonts are maintained for multilingual stylistic fit: STIX Two Text, Source Serif Pro, Vollkorn.
(by Ross Mills and others), Preview, Download STIX Two (OTF format, thickening distortion on Windows), Download XITS Two (TTF format), Backup
My favorite math font!
Font fallback chain: 'STIX Two Text', 'STIX Two Math', 'Noto Serif Armenian', 'Noto Serif Devanagari', 'Noto Serif Bengali', 'David Libre', 'Noto Serif Georgian', 'Noto Naskh Arabic', 'Noto Serif', 'Noto Serif Tamil', 'Noto Serif Thai', 'DejaVu Serif', Symbola, 'Source Han Serif', serif
.
- Urdu alterantive to Arabic:
'Noto Nastaliq Urdu'
- Alterantive Arabic style:
Amiri
- Color Emoji:
'Twemoji Mozilla'
- Note that STIX Two is OTF only font. Hence it would look heavier on Windows than it's original design (that's not necessary a bad thing). But you can use
'XITS Two Text'
and'XITS Two Math'
that is simply STIX Two converted to TTF. Download XITS Two (TTF format).
Archives above also contain XITS Two Math (TTF format) and STIX Two Math (OTF format) font families for OpenType math-capable applications like LuaTeX, XeTeX or MS Word 2007+.
Fallback fonts:
- CJK fallback: Source Han Serif (by Adobe and Google). Preview: JP, CN, KR, TW, Download Language-specific OTFs (Japanese is default), Download other options, Source code, Backup.
- Math fallback: STIX Two Math,
- Unicode fallback:
- Noto Serif LGC (by Steve Matteson and Google), Preview, Preview, Download, Download original latest version.
- DejaVu Serif (by Jim Lyles and others), Preview, Download, Backup, Backup2.
- Final: Symbola (by George Douros), Preview, Download latest free version, Latest but not free version,
- Arabic fallback:
- Noto Naskh Arabic (by Google), Preview, Download, Download original,
- Amiri (by Khaled Hosny, Sebastian Kosch), Preview, Download, Download, Backup,
- Armenian fallback: Noto Serif Armenian (by Google), Preview, Download, Download original.
- Bengali fallback: Noto Serif Bengali (by Google), Preview, Download, Download original.
- Georgian fallback: Noto Serif Georgian (by Google), Preview, Download, Download original.
- Hebrew fallback:
- David Libre (by Ismar David, Monotype Corporation, Google, Meir Sadan), Preview, Download, Backup,
- DejaVu Serif (by Jim Lyles and others), Preview, Download, Backup, Backup2, Hebrew glyphs look like from David Libre but a bit heavier.
- Hindi-Devanagari fallback:
- Noto Serif Devanagari (by Google), Preview, Download, Download original,
- Halant (by Vivek Sadamate, Ninad Kale, Jonny Pinhorn), Preview, Download, Download2, Backup,
- Hindi-Urdu fallback: Noto Nastaliq Urdu (by Google), Preview, Download, Download original.
- Tamil fallback: Noto Serif Tamil (by Google), Preview, Download, Download original.
- Thai fallback: Noto Serif Thai (by Google), Preview, Download, Download original.
- Emoji fallback:
- balck and white: Symbola (by George Douros), Preview, Download latest free version, Latest but not free version
- color: Twemoji Mozilla (by Twitter), Preview, Download, Backup. You can install Twemoji Mozilla on Windows 7 but it won't work out of the box in Chromium so you should use it with font-face (otherwise you would get empty space instead of emoji). For example Stylebot can set font-face:
@font-face { font-family: 'Twemoji Mozilla'; src: url("file:///C:/Windows/Fonts/TwemojiMozilla.ttf") format("truetype"); font-weight: 400; font-style: normal; }
(by Frank Grießhammer), Preview, Preview old ver., Download, Backup
My favorite text body font!
Font fallback chain: 'Source Serif Pro', 'STIX Two Text', 'STIX Two Math', 'Noto Serif Armenian', Halant, 'Noto Serif Bengali', 'David Libre', 'Noto Serif Georgian', 'Noto Naskh Arabic', 'Noto Serif', 'Noto Serif Tamil', 'Noto Serif Thai', 'DejaVu Serif', Symbola, 'Source Han Serif', serif
.
- Urdu alterantive to Arabic:
'Noto Nastaliq Urdu'
- Alterantive Arabic style:
Amiri
- Color Emoji:
'Twemoji Mozilla'
Font fallback chain: Vollkorn, 'STIX Two Text', 'STIX Two Math', 'Noto Serif Armenian', Halant, 'Noto Serif Bengali', 'Noto Serif Georgian', 'Noto Naskh Arabic', 'Noto Serif', 'Noto Serif Tamil', 'Noto Serif Thai', 'DejaVu Serif', Symbola, 'Source Han Serif', serif
.
- Recommended CSS features:
font-feature-settings: 'tnum' 1, 'lnum' 1;
See all features here.
To select right Hindi fallback weight usefont-weight: 420;
- Urdu alterantive to Arabic:
'Noto Nastaliq Urdu'
- Alterantive Arabic style:
Amiri
- Color Emoji:
'Twemoji Mozilla'
(designed by Philipp H. Poll and others), Preview old ver., Download Linus Libertinus (TTF format), Download Libertinus Serif (OTF format, thickening distortion on Windows), Backup
Semibold italic Cyrillics are terrible in the original Linux Libertine. So it's recommended to use Linus Libertinus fork that is simply a renamed Libertinus Serif without semibolds (Libertinus Serif is a bugfixed fork of Linux Libertine by Khaled Hosny with Cyrillic bold itallics by Stefan Peev). Though Cyrillic bold italics are suboptimal too.
Libertinus Serif is OTF-only font and is a bit heavier on Windows display. Download Libertinus Serif (OTF format, thickening distortion on Windows). This can be useful on small sizes: 'Libertinus Serif'
. Mind that Cyrillic semibold italics (600) of Libertinus Serif look terrible. On Windows first install all styles then only install 4 main styles.
Font fallback chain: 'Linus Libertinus', serif
.
Archives above also contain Linus Libertinus Math (TTF format) and Libertinus Math (OTF format) font families for OpenType math-capable applications like LuaTeX, XeTeX or MS Word 2007+. But I find it to be of lower quality than STIX Two Math (Libertinus Math has MS Word issues and Greek italics are of suboptimal quality. I never tested for LaTeX issues).
(disigned by MicroPress, Khaled Hosny and others), Preview, Download XITS (OTF format, thickening distortion on Windows), Download XITS One (TTF format), Backup
Font fallback chain: 'XITS', 'XITS Math', serif
.
I find that XITS Greek leters are of suboptimal quality but XITS and XITS Math are the closest alternative to Times New Roman that I know of.
Note that XITS is OTF only font. Hence it would look heavier on Windows than it's original design (that's not necessary a bad thing). But you can use 'XITS One Text'
and 'XITS One Math'
that is simply XITS converted to TTF. Download XITS One (TTF format).
Archives above also contain XITS One Math (TTF format) and XITS Math (OTF format) font families for OpenType math-capable applications like LuaTeX, XeTeX or MS Word 2007+.
First of all OTF and TTF versions of every font have different display weight on Windows on small sizes for some reason (see this and that) hence use TTF version as it looks closer to original design.
Monospace fonts used for main fonts and fallbacks have the following support of the top writing systems of the internet:
- LGC (Latin, Greek, Cyrillic): Robotization Mono, Inconsolata Sugar, Source Code Pro, Sourcing Code Pro, Noto Sans Mono, IBM Plex Mono, DejaVu Sans Mono, Cousine.
- CJK variants (Chinese, Japanese, Korean): Source Han Sans (Not monospace but of width 1.5. E.g. 2 Source Han Sans == 3 Robotization Mono)
- Math: ST1X Two Math For Robot0 Mono, Symbola For Robot0 Mono, Noto Sans Mono, IBM Plex Mono, DejaVu Sans Mono.
- Consolas: DejaVu Sans Mono For Conso1as, ST1X Two Math For Conso1as, Symbola For Conso1as
- Arabic: Kawkab Mono, DejaVu Sans Mono.
- Armenian: DejaVu Sans Mono.
- Hebrew: Cousine.
Main fonts and fallback chains were optimized for SugarTeX.
(designed by Steve Matteson and Christian Robertson), Preview, Download Robotization Mono, Backup
My favorite!
Italic in Roboto Mono has different width so it's recommended to use Robotization Mono fork that is simply a renamed monospacified version of Roboto Mono.
Font fallback chain: 'Robotization Mono', 'Noto Sans Mono', 'IBM Plex Mono', 'Kawkab Mono', 'DejaVu Sans Mono', Cousine, 'ST1X Two Math For Robot0 Mono', 'Symbola For Robot0 Mono', 'Source Han Sans', monospace
.
Fallback fonts:
- CJK fallback: Source Han Sans (by Adobe and Google), Preview: JP, CN, KR, HK, TW, Download Language-specific OTFs (Japanese is default), Download other options, Source code, Backup.
- Math fallback, Final Unicode fallback: STIX Two Math and Symbola for Roboto Mono,
- Unicode fallback:
- Noto Sans Mono (by Steve Matteson and Google), Preview, Download, Download original latest version.
- Arrows: IBM Plex Mono (by Mike Abbink), Preview, Download, Download latest version, Backup,
- DejaVu Sans Mono (by Jim Lyles and others), Preview, Download, Backup, Backup2,
- Cousine (by Steve Matteson), Preview, Download, Download2, Backup,
- Arabic fallback: Kawkab Mono (by Abdullah Arif), Preview, Preview, Download, Download original latest version, Backup2,
- Armenian fallback:
- DejaVu Sans Mono (by Jim Lyles and others), Preview, Download, Backup, Backup2,
- Hebrew fallback: Cousine (by Steve Matteson), Preview, Download, Download2, Backup,
(designed by Raph Levien and others), Preview old ver., Preview old ver. 2, Download Inconsolata Sugar, Backup
Inconsolata lacks italics, Cyrillic and Greek. Inconsolata LGC lacks some whitespace characters, has off-style backtick, italic Latin a and Cyrillic д are controversial design decisions. For SugarTeX it's recommended to use Inconsolata Sugar fork that is simply a renamed Inconsolata LGC with these issues fixed.
Font fallback chain: 'Inconsolata Sugar', 'Robotization Mono', 'Noto Sans Mono', 'IBM Plex Mono', 'Kawkab Mono', 'DejaVu Sans Mono', Cousine, 'ST1X Two Math For Robot0 Mono', 'Symbola For Robot0 Mono', 'Source Han Sans', monospace
.
(by Paul D. Hunt and Teo Tuominen), Preview, Download Source Code Pro, Download Sourcing Code Pro, Backup
Source Code Pro lacks some whitespace characters and has broken division slash. For SugarTeX it's recommended to use Sourcing Code Pro fork that is simply a renamed Source Code Pro with these issues fixed (slash was simply removed). For other purposes original Source Code Pro should be OK.
SugarTeX Font fallback chain: 'Sourcing Code Pro', 'Noto Sans Mono', 'IBM Plex Mono', 'Kawkab Mono', 'DejaVu Sans Mono', Cousine, 'ST1X Two Math For Robot0 Mono', 'Symbola For Robot0 Mono', 'Source Han Sans', monospace
.
Alt: 'Source Code Pro'
This is a proprietary font but included here for SugarTeX installation instruction.
It's preinstalled with Windows. Consolas can also be installed together with Microsoft PowerPoint Viewer till April, 2018. SHA256: 249473568EBA7A1E4F95498ACBA594E0F42E6581ADD4DEAD70C1DFB908A09423. But note that it's license says that "You may use the software only to view and print files created with Microsoft Office software. You may not use the software for any other purpose." so you might not be even allowed to print Consolas font text from LibreOffice. But at the same time if you incorporate Microsoft Word into your pipeline (for example even if postprocessing .docx files by other software as a next step) you might satisfy "created with Microsoft Office software". And printing to PDF via Chrome browser might also be printing.
Font fallback chain: Consolas, 'DejaVu Sans Mono For Conso1as', 'ST1X Two Math For Conso1as', 'Symbola For Conso1as', 'Source Han Sans', monospace
Fallback fonts:
Font fallback chains contain fonts monospacified via monospacifier.py (Backup). If you don't like Consolas, Roboto Mono, Source Code Pro or Inconsolata that much you can pick there monospacified fallbacks for other monospace fonts.
(by Donald Knuth and MathJax), Preview
MathJax uses emboldened version of Computer Modern (by Donald Knuth). It looks nice both in browser and in PDF. It can only be used with MathJax. Latin Modern Math is it's closest alternative for OpenType math but it has original hairline serif design that doesn't look very good in browsers. But I guess it can be ported to OpenType math.
My favourite! Follow the link to the section above.
See this list.
If on Windows it's recommended to install MacType because Windows original ClearType is capable of rendering only fonts that were pre-optimized for ClearType - it cannot display arbitrary font in a beautiful way (or capable but for some reason doesn't do that on default settings!). MacType can do it (and does with default settings). Now that Full HD is everywhere it's a shame for ClearType.
Important:
- Use Default profile but change ini setting to
NormalWeight=0
instead of 16 (with this the difference between Chrome and other programs is not so big). - In case of Firefox you should fix some settings,
- MacType can clash with cheap Antiviruses though. In my case the problem was solved by deleting AVG/Avast and installing Kaspersky Free (Kaspersky IS is also OK).
- Some programs need special config settings. For example PyCharm (see below). See details about other programs in this repo.
Here is my custom part of the config that tunes Consolas font to look thinner and also makes fonts in Explorer look thicker. Update appropriate sections:
[General]
NormalWeight=0
BoldWeight=0
RenderWeight=1.3
[Individual]
Times New Roman=0,,4,,,
Segoe UI=0,,4,,,
Tahoma=0,,4,,,
[UnloadDll]
inkscape.exe
PaintDotNet.exe
VBoxSvc.exe
VirtualBox.exe
Paste to the end:
[[email protected]]
ClipBoxFix=1
[[email protected]]
;PyCharm fix + Consolas
NormalWeight=-10
BoldWeight=-4
[General@notepad++.exe]
;for Consolas
BoldWeight=-2
[[email protected]]
;for Consolas
BoldWeight=-2
UPD: You can also try Stylus (GPL) or Stylish (Freeware)
Stylebot is an open source Google Chrome extension that allows users to manipulate a web page’s appearance. Install.
- Incrementally build custom stylesheets for Chrome.
- Save custom CSS rules for sites. The next time they visit a site, their custom CSS is already applied.
- Export and import created styles.
I haven't checked if it's safe. But it looks safe.
This extesnion would help you to make internet less messy in style :-)
And even more! Stylebot can fix issues that arise from thinner fonts in Chrome with MacType: swap badly looking fonts. For example add this to the Global Stylesheet:
@font-face {
font-family: 'Times New Roman';
src: url("file:///C:/Windows/Fonts/LibertinusSerif-Regular.otf") format("opentype");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Times New Roman';
src: url("file:///C:/Windows/Fonts/LibertinusSerif-Bold.otf") format("opentype");
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Times New Roman';
src: url("file:///C:/Windows/Fonts/LibertinusSerif-Italic.otf") format("opentype");
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Times New Roman';
src: url("file:///C:/Windows/Fonts/LibertinusSerif-BoldItalic.otf") format("opentype");
font-weight: bold;
font-style: italic;
}
You can use standard Libertinus Serif
(otf, "opentype") or Linus Libertinus
(ttf, "truetype") font via local URLs (OTF is heavier on small sizes).
- Install FontForge
- Run
update_deps.bat
from repo's directory, - Run appropriate batch script from repo's directly.
TO DO list of ideas that I have or had about font development.
Backup repos: