Translation(s): English - Français - 한국어 - Português (Brasil)
Contents
Adding fonts
Packages
Fonts can be added system-wide to Debian by installing the appropriate package; fonts are specified in the “Fonts” section. As default system-wide fonts will be installed into /usr/share/fonts by the package-manager.
Notes:
For most uses, you’ll want TrueType (TTF) and OpenType (OTF) fonts – these packages start with fonts-.
- Some fonts might have a -variable build, which are known as (VF), variable font.
Some non-free font downloader packages are in contrib, which you will need to add to your sources if not present.
Manually
Install a font manually by downloading the appropriate .ttf or otf files and placing them into /usr/local/share/fonts (system-wide), ~/.local/share/fonts (user-specific) or ~/.fonts (user-specific). These files should have the permission 644 (-rw-r--r--), otherwise they may not be usable.
Run fc-cache to update the font cache (add -v for verbose output). The above mentioned paths can be customized in the fontconfig configuration file at /etc/fonts/fonts.conf – you can also include subdirectories or links, which is useful if you have a directory of fonts on a separate hard drive (or partition or other location).
If you are installing bit map fonts you might need to enable this with dpkg-reconfigure:
# dpkg-reconfigure fontconfig-config
Then enable bit maps font in the third screen.
GNOME users can simply open a Nautilus window to fonts:// and drag&drop the font files in there.
You can verify the fonts are present by looking for them in an application (such as a word processor), or by using the command fc-list. A python based graphical utility, font-manager, is also available to preview all installed and available fonts.
Configuration
fontconfig is the underlying configuration tool; you may find the following programs useful:
fc-list – lists fonts
fc-match -s helvetica – show an ordered list of fonts matching a certain name or pattern
fc-cache -fv – rebuilds cached list of fonts (in ~/.cache/fontconfig, older caches may also be in ~/.fontconfig)
To view a list of monospaced client-side fonts (available from Xft, so it is possible to apply font hinting and antialiasing):
$ fc-list :spacing=mono
To view a list of server-side (available directly from X server, so font hinting and antialiasing are not available) monospaced fonts:
$ xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' $ xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
You may also find the following useful to change the default font rendering:
$ dpkg-reconfigure fontconfig-config $ dpkg-reconfigure fontconfig
Font lists
The page http://www.miriamruiz.es/debfonts/ (Wayback) displays the fonts contained in some packages, but the list of packages and fonts isn't updated any more.
The Debian Fonts Review service needs to be revived.
The Free Font Compilation is is also no longer updated. A new version of it is here: Free Font Compilation with each font (from Google Web Fonts) as .deb and .rpm
Various libre fonts are missing from Debian and need to be packaged.
Commonly Used Fonts
The fonts-recommended package provides a list of recommended fonts that, in the opinion of certain members of the Debian Fonts team, are suitable for most GUI systems.
The fonts-liberation or fonts-liberation2 package supplies fonts with the same metrics as Times, Arial and Courier. These fonts are named Liberation and are present in most cases. If you require the non-free original Microsoft fonts the ttf-mscorefonts-installer package (in contrib) can be used to obtain them.
East Asian fonts: fonts-noto-cjk fonts-arphic-uming fonts-wqy-zenhei fonts-unfonts-core
(from Wikipedia: Help:Multilingual support (East Asian))
Indian languages (Bengali, Hindi/Devanagari, Gujarati, Punjabi/Gurmukhi, Kannada, Malayalam, Oriya, Tamil, Telugu) fonts: fonts-indic
Tibetan language font: fonts-dzongkha
(from Wikipedia: Help:Multilingual support (Indic))
If you want to use non-free fonts like Calibri which originate from Microsoft Office, you can download and install them (gratis) from the Microsoft Powerpoint Viewer.
Screenshots of Fonts in Debian
With: http://screenshots.debian.net/packages?search=fonts-&show=with
Without: http://screenshots.debian.net/packages?search=fonts-&show=without
Troubleshooting
If fonts do not display properly, you may want to make sure the right font gets loaded, for example with:
fc-match -s Helvetica
If it doesn't, you may want to regenerate the caches with:
dpkg-reconfigure fontconfig fontconfig-config
You can also run this as a user with fc-cache -fv.
Otherwise, you can also look at the font in a viewer like font-manager.
Individual font rendering can be tested directly with the ftview program available in the freetype2-demos package. For example, here is how to show sample glyphs from the Liberation Mono font using the 3.5 and 4.0 rendering engines:
FREETYPE_PROPERTIES="truetype:interpreter-version=35" ftview 16 /usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf & FREETYPE_PROPERTIES="truetype:interpreter-version=40" ftview 16 /usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf &
This was quite useful to diagnose changes in the engine after the Debian buster upgrade, described in 866685.
Bugs
Usertags
The fonts team will use these tags for usertags (user: pkg-fonts-devel@lists.alioth.debian.org)
non-free: for packages that contain non-free fonts taken from the web (severity serious)
license-violation: for packages that contain fonts that are GPL/LGPL but do not distribute source (severity serious)
rfn-violation: for packages that contain OFL fonts with a Reserved Font Name that have not been renamed or have lost the upstream RFN notice (severity serious)
?contrib: for packages that contain free fonts that cannot be built with free tools (severity serious)
duplicate: for packages that contain fonts that duplicate fonts from other packages (severity normal?minor?wishlist?)
- split: for packages that contain fonts we would like to see split into other packages (severity wishlist)
fontconfig: for packages that should switch to dynamically looking up font paths using fontconfig (severity wishlist)
- render: for packages that should switch to a font renderer that automatically uses the right fonts (severity wishlist)
Font design and formats
Source Font Formats
SFD (Spline Font Database, ?FontForge's ASCII file format for vector fonts)
UFO (Unified Font Object)
Glyphs (proprietary format of Glyphs)
Generating Fonts from Source
The upstream build system should always be used for generating fonts. If upstream does not have a build system, then it is a good idea to contribute one to them based on the following Free Software tools.
The fontforge is an editor for outline and bitmap fonts that generates all kinds of fonts. It is also scriptable and has an addon tool xgridfit for hinting. Fonts using these tools can be found using these commands:
apt-cache rdepends fontforge apt-cache rdepends xgridfit
Maybe this is more useful to find packages that build from source with fontforge or fontmake (will not work with multi-line Build-Depends):
apt-cache search ^fonts- | awk '{print $1}' | while read a; do echo -ne "$a "; apt-cache showsrc $a | grep Build-Depends; done
There is also birdfont and ttfautohint and fontmake
Output Font Formats
ttf, otf, bdf, pfb, fnt, woff
Font Tools
Tool |
Debian package |
Comments |
|
Convert BDF bitmap font to vector format (fontfourge source) |
|||
Programs for font conversion, testing, and other manipulation. |
|||
fttools |
|
|
|
|
tools for ?OpenType, multiple-master, and Type 1 fonts |
||
|
|
||
freetype1-tools |
|
|
|
|
Font converter from TrueType to Adobe Type1. |
||
Command line utility that generates BDF bitmap fonts from ?OpenType fonts. |
|||
A Python library to open and manipulate OTF and TTF files. |
|||
Python program to show and compare fonts |
|||
Simple interface to show a preview of all fonts installed |
There are several font tools which are not included in Debian, but are used to produce fonts included in Debian:
|
Available in Debian although not yet in stable. |
|
Someone is working on inclusion into Debian. |
|
Someone requested inclusion into Debian. |
|
Someone needs to file an RFP or ITP bugreport and update this page with resulting bug number. |
|
Was available in Debian but is not part of stable or unstable. |
Tool |
Comments |
Font specimen generator, inspired by Wikipedia version |
|
AppStream metadata generator for fonts (pregenerated fonts- entries) (a dh_font deb helper script should be made) this is good if you want the fonts to appear in the gnome/kde app stores |
Further Resources
Reference manual
Wiki pages
- Fonts
- Fonts/Bugs/duplicate
- Fonts/Bugs/fontconfig
- Fonts/Bugs/license-violation
- Fonts/Bugs/non-free
- Fonts/Bugs/rfn-violation
- Fonts/FAQ
- Fonts/Japanesefontpkg
- Fonts/JapanesefontpkgProposal
- Fonts/Legal
- Fonts/Missing
- Fonts/NerdFonts
- Fonts/PackagingPolicy
- Fonts/ProprietaryJapaneseFonts
- Fonts/SvnHowTo
- Fonts/TODO
- Fonts/UnicodeCoverage
- HidekiYamane/fonts
- HidekiYamane/fonts/check-vlgothic
- HidekiYamane/fonts/free_nonfree_or_cannot_distribute
- InstallingDebianOn/Lenovo/Ideapad Yoga Slim 7 15IIL05 ( bullseye ) (firefox font configuration.png)
- OlivierFontes
- Portal/IDB (icon-font-32x32.png)
- ReproducibleBuilds/TimestampsInFontsGeneratedWithFontForge
- ReproducibleBuilds/TimestampsInFontsGeneratedWithFontForge (ttf-dejavu_2.33-3.debbindiff.html)
- Services/DebianFontReview
- SoundFont
- SubstitutingCalibriAndCambriaFonts
- SubstitutingCalibriAndCambriaFonts (Caladea.vs.Cambria-bitmap.png)
- SubstitutingCalibriAndCambriaFonts (LO_Options_Fonts.png)
- SummerOfCode2013/StudentApplications/OctaviFont
- Teams/pkg-fonts
- Teams/pkg-fonts/SVNTOGitMigration
- fr/Fonts
- fr/Fonts/Missing
- fr/Fonts/ppviewerFonts
- ko/Fonts
- pt_BR/Fonts
* tahoma
Other links
Chinese fonts in Debian - a blog post
Fedora fonts information
Arch Linux fonts documentation
Outdated
Old, retained for historical interest and reference:
TrueType Fonts in Debian mini-HOWTO – 2000 FAQ by Bear Giles
Debian Font Guide, Rob Weir