Fonts

Related articles
Font configuration
List of applications/Utilities#Font viewers
List of applications/Multimedia#Font editors
Java Runtime Environment fonts
Linux console#Fonts
Metric-compatible fonts
Microsoft fonts
From
Wikipedia:Computer font
:
A computer font is implemented as a digital data file containing a set of graphically related
glyphs
. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for printing, is a screen font.
Note that certain font licenses may impose some legal limitations.
Font formats
Most computer fonts used today are in either
bitmap
or
outline
data formats.
Bitmap fonts
Consist of a matrix of dots or pixels representing the image of each glyph in each face and size.
Outline or
vector
fonts
Use Bézier curves, drawing instructions and mathematical formulae to describe each glyph, which make the character outlines scalable to any size.
Bitmap formats
Bitmap Distribution Format
(BDF) by Adobe
OpenType Bitmap Fonts
(OTB)
PC Screen Font
(PSF) used by the Kernel for console fonts, not supported by Xorg (for Unicode PSF files the extension is
psfu
)
Portable Compiled Format
(PCF) by Xorg
These formats can also be gzipped. See
#Bitmap
for the available bitmap fonts.
Outline formats
PostScript fonts
by Adobe – has various formats, e.g: Printer Font ASCII (PFA) and Printer Font Binary (PFB)
TrueType
by Apple and Microsoft (file extension:
ttf
)
OpenType
by Microsoft, built on TrueType (file extensions:
otf
,
ttf
)
For most purposes, the technical differences between TrueType and OpenType can be ignored.
Other formats
The font editing application
FontForge
(
fontforge
) can store fonts in its native text-based format—Spline Font Database (
.sfd
).
The typesetting application
TeX Live
and its companion font software
Metafont
traditionally renders characters using its own methods. Some file extensions used for fonts from these two programs are
*pk
,
*gf
,
mf
and
vf
. Modern versions can also use TrueType and OpenType fonts.
The
SVG
format also has its own font description method.
Installation
There are various methods for installing fonts.
Pacman
Fonts and font collections in the enabled repositories can be installed using
pacman
.
Available fonts may be found by
querying packages
(e.g. for
font
or
ttf
).
Creating a package
You should give pacman the ability to manage your fonts, which is done by
creating an Arch package
. These can also be shared with the community in the
AUR
. The packages to install fonts are particularly similar; see
Font packaging guidelines
.
The family name of a font file can be acquired with the use of
fc-query
for example:
fc-query -f '%{family[0]}\n' /path/to/file
. The formatting is described in
FcPatternFormat(3)
.
Manual installation
The recommended way of adding fonts that are not in the repositories of your system is described in
#Creating a package
. This gives pacman the ability to remove or update them at a later time.
Alternatively, fonts can be installed manually:
For a single user, install fonts to
~/.local/share/fonts/
.
In many cases this suffices, unless you run graphical applications as other users.
In the past
~/.fonts/
was used, but is now deprecated.
For system-wide (all users) installation, place your fonts under
/usr/local/share/fonts/
.
You may need to create the directory first:
mkdir -p /usr/local/share/fonts
.
/usr/share/fonts/
is under the purview of the package manager, and should not be modified manually.
The creation of a subdirectory structure is up to the user, and varies among Linux distributions. For clarity, it is good to keep each font in its own directory.
Fontconfig
will search its default paths recursively, ensuring nested files get picked up.
An example structure might be:
/usr/local/share/fonts/
├── otf
│   └── SourceCodeVariable
│       ├── SourceCodeVariable-Italic.otf
│       └── SourceCodeVariable-Roman.otf
└── ttf
    ├── AnonymousPro
    │   ├── Anonymous-Pro-B.ttf
    │   ├── Anonymous-Pro-I.ttf
    │   └── Anonymous-Pro.ttf
    └── CascadiaCode
        ├── CascadiaCode-Bold.ttf
        ├── CascadiaCode-Light.ttf
        └── CascadiaCode-Regular.ttf
The font files need to have sufficient read permissions for all users, i.e. at least
chmod
444
for files, and
555
for directories.
For the Xserver to load fonts directly (as opposed to the use of a
font server
), the directory for your newly added font must be added with a FontPath entry. This entry is located in the
Files
section of your
Xorg configuration file
(e.g.
/etc/X11/xorg.conf
or
/etc/xorg.conf
). See
#Older applications
for more detail.
Finally, update the Fontconfig cache (usually unnecessary as software using the Fontconfig library does this):
$ fc-cache
Older applications
With older applications that do not support Fontconfig (e.g. GTK 1.x applications, and
xfontsel
) the index will need to be created in the font directory:
$ mkfontscale
$ mkfontdir
Or to include more than one folder with one command:
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash
Or if fonts were installed in a different sub-folders under the e.g.
/usr/share/fonts
:
$ for dir in * ; do if [  -d  "$dir"  ]; then cd "$dir";xset +fp "$PWD" ;mkfontscale; mkfontdir;cd .. ;fi; done && xset fp rehash
At times the X server may fail to load the fonts directory and you will need to rescan all the
fonts.dir
files:
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories
# xset fp rehash                # Forces a new rescan
To check that the font(s) is included:
$ xlsfonts | grep fontname
Note
Many packages will automatically configure Xorg to use the font upon installation. If that is the case with your font, this step is not necessary.
This can also be set globally in
/etc/X11/xorg.conf
or
/etc/X11/xorg.conf.d
.
Here is an example of the section that must be added to
/etc/X11/xorg.conf
. Add or remove paths based on your particular font requirements.
# Let X.Org know about the custom font directories
Section "Files"
    FontPath    "/usr/share/fonts/100dpi"
    FontPath    "/usr/share/fonts/75dpi"
    FontPath    "/usr/share/fonts/cantarell"
    FontPath    "/usr/share/fonts/cyrillic"
    FontPath    "/usr/share/fonts/encodings"
    FontPath    "/usr/share/fonts/misc"
    FontPath    "/usr/share/fonts/truetype"
    FontPath    "/usr/share/fonts/TTF"
    FontPath    "/usr/share/fonts/util"
EndSection
Pango warnings
When
Pango
is in use on your system it will read from
Fontconfig
to sort out where to source fonts.
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache. This example uses the
ttf-liberation
fonts to illustrate the solution (after successful installation of the package) and runs as root to enable them system-wide.
# fc-cache
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs
/usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs
/var/cache/fontconfig: cleaning cache directory
fc-cache: succeeded
You can test for a default font being set like so:
$ fc-match
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
Font packages
This is a selective list that includes many font packages from the
AUR
along with those in the official repositories.
Tip
Archfonts
is a Python script that can be used to generate an overview of all the TTF fonts found in the official repositories and in the AUR.
Bitmap
Note
pango
1.44
dropped support for FreeType in favor of HarfBuzz
thus
losing support for traditional BDF/PCF bitmap fonts
, so some applications (e.g.
gnome-terminal
) will not work with such fonts anymore, showing rectangles instead of glyphs. See
FS#63297
,
Pango issue #386
and
HarfBuzz issue #1897
.
Default 8×16
Berry
(
pcf-spectrum-berry
AUR
) – 8px
Dina
(
dina-font
AUR
) – 6pt, 8pt, 9pt, 10pt, monospaced, based on Proggy
Efont
(
efont-unicode-bdf
AUR
) – 10px, 12px, 14px, 16px, 24px, normal, bold and italic
GNU Unifont
(
bdf-unifont
AUR
) – 8×16, 16×16 (
most extensive
Unicode coverage of any font)
Gohu
(
gohufont
AUR
) – 11px, 14px, normal and bold
Kissinger 2
– 8×16, 16×16 (Unifont competitor)
Lime
(
artwiz-fonts
AUR
)
ProFont
(
ttf-profont-iix
AUR
) – 10px, 11px, 12px, 15px, 17px, 22px, 29px, normal
Proggy
(
proggyfonts
AUR
) – Has different variants
Tamsyn
(
tamsyn-font
AUR
)
Works with Pango 1.44 and later:
Cozette
(
cozette-otb
AUR
)
Gohufont
(
gohufont-otb
AUR
)
Misc Fixed
(
xorg-fonts-misc-otb
AUR
)
ProFont
(
profont-otb
AUR
) – OpenType Bitmap (OTB) variant of ProFont
Terminus
(
terminus-font
)
More
OTB
fonts on the AUR
Latin script
Families
Packages
providing a base font set
:
Bitstream Vera
(
ttf-bitstream-vera
) – Includes sans-serif, serif, and monospaced fonts. Bitstream Vera Sans is metrically compatible with
Verdana
.
Croscore fonts
(
ttf-croscore
) –
Metric-compatible fonts
for Helvetica, Times, Courier and Georgia — named Arimo, Tinos, Cousine and Gelasio respectively, shipped with Chrome OS
DejaVu fonts
(
ttf-dejavu
) – Bitstream Vera modified for greater Unicode coverage
Droid
(
ttf-droid
) – Default font for older Android versions with wide Unicode coverage including CJK but not symbols and emojis
GNU FreeFont
(
gnu-free-fonts
) – Includes three fonts — FreeSans, FreeSerif and FreeMono — that are clones of Helvetica, Times, and Courier respectively. Most Latin characters are from
URW
Ghostscript
fonts (e.g.,
Nimbus Roman
,
Nimbus Sans
), non-Latin characters come from many sources with good Unicode coverage, but do not include CJK.
IBM Plex
(
ttf-ibm-plex
) – Serif, sans-serif, condensed sans-serif and monospace with true italics
Input
(
ttf-input
) – Fonts for code from DJR & Font Bureau
ttf-input-nerd
– Patched font Input containing nerd font symbols
Liberation fonts
(
ttf-liberation
) –
Metric-compatible fonts
for Helvetica, Times, and Courier, but are visually different
Microsoft fonts
(
ttf-ms-win11
AUR
) – Windows 11 fonts (Windows 11 installation or installation medium needed)
Noto fonts
(
noto-fonts
) – Google font family with full Unicode coverage if installed with its emoji and CJK optional dependencies
Roboto
(
ttf-roboto
) – Default font for newer Android versions where it is complemented by Noto fonts for languages not supported like CJK
Packages not providing a base font set:
B612
(
ttf-b612
AUR
) – Open-source font family (sans and mono) sponsored by Airbus, designed for comfort of reading on aircraft cockpit screens
Ghostscript
(
gsfonts
) – The Ghostscript fonts donated by
URW
, includes clones of Helvetica, Times, Courier, and others. GNU FreeFont (
gnu-free-fonts
) and TeX Gyre fonts (
tex-gyre-fonts
) are both partially based on the Ghostscript fonts
Libertinus Fonts
(
otf-libertinus
) – Forks of
Linux Libertine
and Linux Biolinum, with extended math support, see
#Math
Luxi fonts
(
font-bh-ttf
AUR
) – X.Org font family similar to Lucida
TeX Gyre fonts
(
tex-gyre-fonts
) – Created by the Polish GUST association of TeX users, mostly based on
URW
Ghostscript
fonts, includes clones of Helvetica, Times, Courier, and others. Some have their own math companion fonts, see
#Math
.
Ubuntu font family
(
ttf-ubuntu-font-family
)
Legacy Microsoft font packages:
Microsoft fonts
(
ttf-ms-fonts
AUR
) – Andalé Mono, Courier New, Arial, Arial Black, Comic Sans, Impact, Lucida Sans, Microsoft Sans Serif, Trebuchet, Verdana, Georgia, Times New Roman
Vista fonts (
ttf-vista-fonts
AUR
) – Consolas, Calibri, Candara, Corbel, Cambria, Constantia
Monospaced
Fonts supporting "programming ligatures" (e.g., the display of the "->" sequence as a double-width "⟶" glyph)  are identified below with a ⟶ sign. For more monospaced fonts, also see
#Bitmap
and
#Families
.
Anonymous Pro
(
ttf-anonymous-pro
, included in
ttf-google-fonts-git
AUR
)
Cascadia Code
(
ttf-cascadia-code
) ⟶ – Designed to enhance the look of the Windows Terminal, with programming ligatures, released by Microsoft under the Open Font License
Courier Prime
(
ttf-courier-prime
AUR
) – Courier alternative which has been supplemented by a sans serif font and a version optimized for programming, released under the Open Font License
Envy Code R
(
ttf-envy-code-r
AUR
) – Font designed for programmers
Fantasque Sans Mono (
ttf-fantasque-sans-mono
,
otf-fantasque-sans-mono
)
Fira Mono
(
ttf-fira-mono
,
otf-fira-mono
) – Font optimized for small screens and adopted by Mozilla for the Firefox OS
Fira Code
(
ttf-fira-code
) ⟶ – Extension of Fira Mono with programming ligatures for common programming multi-character combinations
Hack
(
ttf-hack
) - Open-source monospaced font, used as the default in KDE Plasma
Hasklig
(
otf-hasklig
AUR
) - A code font with monospaced ligatures
Hermit
(
otf-hermit
) - A font for programmers, by a programmer
Inconsolata
(
ttf-inconsolata
, included in
ttf-google-fonts-git
AUR
) – Designed for source code listing, inspired by Consolas and Letter Gothic
Inconsolata-g
(
ttf-inconsolata-g
AUR
) – Adds some programmer-friendly modifications
Iosevka
(
ttc-iosevka
) ⟶ – Slender sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono, designed to be the ideal font for programming; it supports programming ligatures and over 2000 latin, greek, cyrillic, phonetic and PowerLine glyphs
JetBrains Mono
(
ttf-jetbrains-mono
) ⟶ – Free and open-source font developed by JetBrains
Lilex
(
ttf-lilex
AUR
) ⟶ – Free and open-source modern programming font containing a set of ligatures for common programming multi-character combinations
Lucida Typewriter
(included in package
jre
AUR
)
Menlo
(
ttf-meslo
AUR
) – Customized version of Apple's Menlo Regular font for OS X with larger vertical gap spacing
Monaco
(
ttf-monaco
AUR
) – Proprietary font designed by Apple for OS X
Monofur (
ttf-monofur
)
Mononoki
(
ttf-mononoki
AUR
) – A font for programming and code review
Roboto Mono
(
ttf-roboto-mono
) – Based on Roboto (
ttf-roboto
)
Source Code Pro
(
adobe-source-code-pro-fonts
, included in
ttf-google-fonts-git
AUR
)
Comic Mono
(
ttf-comic-mono-git
AUR
) A legible monospace font… the very typeface you’ve been trained to recognize since childhood, ergo Comic Sans
Relevant websites:
Stack Overflow: Recommended fonts for programming
Programming Fonts - Test Drive
Programming Fonts Compare
Coding Font by Typogram
Sans-serif
Adwaita
(
adwaita-fonts
) – Default font supplied with GNOME.
Cantarell
(
cantarell-fonts
) – Old default font supplied with GNOME until version 48.
Andika
(
ttf-andika
AUR
)
DMCA Sans Serif
(
ttf-dmcasansserif
AUR
) – General purpose sans serif font metric-compatible with Microsoft Consolas
Fira Sans
(
ttf-fira-sans
,
otf-fira-sans
) – Sans serif font designed by Erik Spiekermann for Mozilla and the Firefox OS. Fira Mono and Fira Code are monospaced companions of Fira Sans (see
#Monospaced
).
FreeSans
(
gnu-free-fonts
) –
Visually similar
to Helvetica but metrically different, see
#Families
Inter
(
inter-font
) – A geometric neo-grotesque font designed for user interfaces
Jost*
(
otf-jost
AUR
) – An open-source typeface based on
Futura
Liberation Sans
(
ttf-liberation
) – Metric-compatible with Helvetica but
visually distinct
, see
#Families
Montserrat
(
otf-montserrat
) – An open-source font that shares similarities with
Gotham
and
Proxima Nova
Nunito
(
ttf-nunito
) – An open-source font with rounded terminal, hence shares similarities with
Gotham Rounded
and
Proxima Soft
Open Sans
(
ttf-opensans
) – Sans serif font commissioned by Google, based on Droid sans but slightly wider
PT Sans
(
ttf-google-fonts-git
AUR
) – 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic
Source Sans
(
adobe-source-sans-fonts
) – Open-source sans serif font from Adobe with a design based on News Gothic and Franklin Gothic
Tahoma (Wine Replacement)
(
ttf-tahoma
AUR
) – Open-source substitute for
Tahoma
developed by the
Wine
project. It was created because many Windows applications expected Tahoma to be available.
Serif
Bitstream Charter
(
ttf-bitstream-charter
AUR
,
otf-bitstream-charter
AUR
) – Originally a commercial font designed by
Matthew Carter
. A version was released under a free license and later
converted
to modern formats (provided as the aforementioned packages).
Bodoni*
(
otf-bodoni
AUR
) – An open-source
Bodoni
revival
Crimson
(
otf-crimson
) – An open-source font that shares similarities with
Minion
EB Garamond
(
ebgaramond-otf
AUR
) – An open-source
Garamond
revival, the aforementioned package is the version developed by
Octavio Pardo
FreeSerif
(
gnu-free-fonts
) –
Visually similar
to Times New Roman but
metrically different
, see
#Families
Gentium
(
ttf-gentium
,
ttf-gentium-book
) – Unicode, comprehensive support for Latin, Greek, Cyrillic, International Phonetic Alphabet (IPA) characters
Heuristica
(
ttf-heuristica
AUR
) – Based on a version of
Utopia
that was released under a free license
Liberation Serif
(
ttf-liberation
) – Metric-compatible with Times New Roman but
visually distinct
, see
#Families
Libre Baskerville
(
ttf-librebaskerville
AUR
) – An open-source
Baskerville
revival designed by Impallari Type
BaskervilleF
(
otf-baskervillef
AUR
) – A PDF-optimized serif font, fork of Libre Baskerville, with added Bold Italic style
Libre Caslon
(
otf-libre-caslon
AUR
) – An open-source
Caslon
revival designed by Impallari Type
Linux Libertine
(
ttf-linux-libertine
) – Developed as a substitute of Times New Roman, but different both visually and metrically (the metric differences are more notable for italic and bold fonts). Its fork
Libertinus Fonts
(
otf-libertinus
) is the version that is under active development.
TeX Gyre Termes
(
tex-gyre-fonts
) – Visually similar to Times New Roman (but there are some minor metric differences), see
#Families
Tinos
(
ttf-croscore
) – Metric-compatible with Times New Roman but visually distinct (and looks similar to Liberation Serif), see
#Families
Handwriting
ttf-nothingyoucoulddo
AUR
– Handwriting of a photographer
ttf-indieflower
AUR
– Handwriting sans-serif font with bubbly and rounded edges
ttf-pacifico
AUR
– Brush script handwriting font which was inspired by the 1950s American surf culture and expanded to Cyrillic
otf-londrina
AUR
– Handwriting font inspired from the streets of Sao Paulo, Brazil
otf-tesla
AUR
– Script font based on a reconstruction of Nikola Tesla's handwriting
ttf-architects-daughter
AUR
– Font incorporating the graphic, squared look of architectural writing and the natural feel of daily handwriting
Unsorted
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
This section should be absorbed into the Monospace/Serif/Sans-Serif structure (Discuss in
Talk:Fonts
)
all-repository-fonts
AUR
– Meta package for all fonts in the official repositories
ttf-cheapskate
AUR
– Font collection from
dustismo.com
ttf-google-fonts-git
AUR
– A huge collection of free fonts (including Ubuntu, Inconsolata, Roboto, etc.)
Note
Your font dialog might get very long as more than 100 fonts will be added.
ttf-junicode
– Junius font containing almost complete medieval Latin script glyphs
ttf-mph-2b-damase
AUR
– Covers full plane 1 and several scripts
open-dyslexic-fonts
AUR
–
OpenDyslexic
font for readers with dyslexia
xorg-fonts-type1
– IBM Courier and Adobe Utopia sets of
PostScript fonts
Non-latin scripts
Ancient Scripts
ttf-ancient-fonts
AUR
– Font containing Unicode symbols for Aegean, Egyptian, Cuneiform, Anatolian, Maya, and Analecta scripts
Arabic
See
Localization/Arabic#Fonts
.
Bengali
Read
Localization/Bengali#Fonts
for details.
Braille
ttf-ubraille
AUR
– Font containing Unicode symbols for
braille
Chinese, Japanese, Korean, Vietnamese
Pan-CJK
Adobe Source Han fonts and Noto CJK fonts have
identical glyphs and metrics
, but with different branding since the project was commissioned by both Adobe and Google.
Both collections comprehensively support Simplified Chinese, Traditional Chinese, Japanese, and Korean, with a consistent design and look. Noto Sans CJK fonts lack localized menu names, that are not required, but may make fonts more user-friendly for customers whose native language is that of the target language of the font.
Adobe Source Han fonts
Source Han Sans
(
adobe-source-han-sans-otc-fonts
)
Source Han Serif
(
adobe-source-han-serif-otc-fonts
)
Noto CJK fonts
(
noto-fonts-cjk
) – Includes both Noto Sans CJK and Noto Serif CJK
Chinese
See
Localization/Chinese#Fonts
.
Japanese
See
Localization/Japanese#Fonts
.
Korean
See
Localization/Korean#Fonts
.
Vietnamese
ttf-hannom
– Vietnamese TrueType font for chữ Nôm characters
Cyrillic
See also
#Latin script
.
ttf-paratype
AUR
– Font family by ParaType: sans, serif, mono, extended cyrillic and latin, OFL license
otf-russkopis
AUR
– A free OpenType cursive font for Cyrillic script
Greek
Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:
otf-gfs
AUR
– Selection of OpenType fonts from the Greek Font Society
ttf-mgopen
AUR
– Professional TrueType fonts from Magenta
ttf-sbl-biblit
AUR
– SBL BibLit, includes characters from both SBL Greek and SBL Hebrew
Hebrew
opensiddur-hebrew-fonts
AUR
– Large collection of Open-source licensed Hebrew fonts. There are also few Latin, Greek, Cyrillic, Arabic, and Amharic.
culmus
AUR
– Nice collection of free Hebrew fonts
alefbet
AUR
– 4 Hebrew fonts (at the moment): the commonly used "David Libre", the handwriting font "Gveret Levin", "Varela Round" and "open-sans"
ttf-ms-fonts
AUR
– contains Arial and other fonts
ttf-sbl-hebrew
AUR
– SBL Hebrew, created by the Society of Biblical Literature (SBL)
ttf-sbl-biblit
AUR
– SBL BibLit, includes characters from both SBL Hebrew and SBL Greek
Monospaced
Cousine
(
ttf-croscore
) – part of the
Chrome OS Core Fonts
Everson Mono
(
ttf-everson-mono
AUR
) – is lighter and a bit looser than Courier, with wide range of supported Unicode blocks
FreeMono
(
gnu-free-fonts
) – part of the
GNU FreeFont
Indic
See
Localization/Indic#Fonts
.
Khmer
ttf-khmer
– Font covering glyphs for Khmer language
Hanuman
(
ttf-google-fonts-git
AUR
)
Mongolic and Tungusic
ttf-abkai
AUR
– Fonts for Sibe, Manchu and Daur scripts (incomplete, currently in development)
Persian
Arabic fonts like
ttf-scheherazade-new
also cover Persian letters. A list of Arabic fonts can be checked in
Localization/Arabic#Fonts
.
persian-fonts
AUR
– Meta package for installing all Persian fonts in AUR
borna-fonts
AUR
– Borna Rayaneh Co. Persian B font series
iran-nastaliq-fonts
AUR
– A free Unicode calligraphic Persian font
iranian-fonts
AUR
– Iranian-Sans and Iranian-Serif Persian font family
ir-standard-fonts
AUR
– Iran Supreme Council of Information and Communication Technology (SCICT) standard Persian fonts
persian-hm-ftx-fonts
AUR
– A Persian font series derived from X Series 2, Metafont and FarsiTeX fonts with Kashida feature
persian-hm-xs2-fonts
AUR
– A Persian font series derived from X Series 2 fonts with Kashida feature
gandom-fonts
AUR
,
parastoo-fonts
AUR
,
sahel-fonts
AUR
,
samim-fonts
AUR
,
shabnam-fonts
AUR
,
tanha-fonts
AUR
,
vazirmatn-fonts
AUR
,
vazir-code-fonts
AUR
– Beautiful Persian fonts made by Saber RastiKerdar
ttf-yas
AUR
– The Yas Persian font series (with
hollow zero
)
ttf-x2
AUR
– Free fonts with support for Persian, Arabic, Urdu, Pashto, Dari, Uzbek, Kurdish, Uighur, old Turkish (Ottoman) and modern Turkish (Roman)
Tai–Kadai
fonts-tlwg
AUR
– Collection of scalable Thai fonts
ttf-google-thai
AUR
– High-quality Thai fonts from Google and new
improvement
for Thai National Fonts
ttf-lao
AUR
– Lao TTF font (Phetsarath_OT)
Tibeto-Burman
ttf-tibetan-machine
– Tibetan Machine TTFont
ttf-sil-padauk
AUR
– Unicode font that supports the many diverse languages that use the Myanmar script
Emoji and symbols
A section of the Unicode standard is designated for pictographic characters called "emoji".
Emoji
fonts come in different formats: CBDT/CBLC (Google), SBIX (Apple), COLR/CPAL (Microsoft), SVG (Mozilla/Adobe).
Emojis should work out of the box once you have at least one emoji font installed of a supported format. However, some of the emoji fonts encode their glyphs as large fixed-size bitmaps and thus, for the purpose of displaying at the intended size, rely on
bitmap font downscaling
, which is enabled by default.
Emoji font fallback according to
the standard
requires
extra code to handle emoji
.
For the discovery and input of Emoji see
List of applications/Utilities#Text input
.
Software
CBDT/CBLC
SBIX
COLR/CPAL
SVG
Emoji font fallback
FreeType
Yes
Yes
Yes
No
–
Chromium
FreeType
–
Yes
Firefox
FreeType
Yes
No
, see
Firefox#Font troubleshooting
for workaround.
Pango
FreeType
–
Yes
Qt
FreeType
–
No
[1]
[2]
[3]
WebKitGTK
FreeType
–
Yes
Note
Qt can only use first 255 fonts at a time
[4]
. Make sure you have an emoji font in your list of
preferred fallback fonts
.
Font Awesome
(
woff2-font-awesome
) – the iconic SVG font
JoyPixels
(
ttf-joypixels
AUR
) – formerly EmojiOne, part of Emoji as a Service, proprietary
Nerd Fonts
(
nerd-fonts
) – developer targeted fonts patched with a high number of icons
Noto Color Emoji
(
noto-fonts-emoji
) –  Google open-source emoji font, color
Noto Emoji
(
ttf-noto-emoji-monochrome
AUR
) – Google open-source emoji font, black and white
OpenMoji
(
otf-openmoji
AUR
) – German University of Design in Schwäbisch Gmünd open-source emoji
Symbola
(
ttf-symbola-free
AUR
) – part of Unicode Fonts for Ancient Scripts; version 9 was the last free version, current version is licensed as "pay for any use"
BabelStone Pseudographica
- a font covering various geometric shapes, box drawing shapes, arrows, geometric symbols, and symbol-like punctuation marks defined in the Unicode Standard
Twemoji (Twitter Emoji)
(
ttf-twemoji
AUR
) – emoji for everyone, originally created by Twitter
Twitter Color Emoji
(
ttf-twemoji-color
AUR
) – SVG-OpenType (SVGinOT) font built from the Twemoji artwork; this font also contains black and white emoji, and the original Twemoji font contains color emoji too
Kaomoji
are sometimes referred to as "Japanese emoticons" and are composed of characters from various character sets, including CJK and Indic fonts. The following set of packages covers most of existing kaomoji:
gnu-free-fonts
ttf-arphic-uming
ttf-indic-otf
Teranoptia
(
ttf-teranoptia-furiae
AUR
) – is a typeface without letters (an illustrative font), a peculiar contraption that allows you to imagine chimeric creatures just by typing letters with your keyboard.
Math
Computer Modern
(
ttf-cm-unicode
AUR
,
otf-cm-unicode
AUR
)
Computer Modern (
otf-latin-modern
,
otf-latinmodern-math
) – Improved version used in LaTeX
Libertinus Math
(
otf-libertinus
) – A math font based on Libertinus Serif which is a fork of
Linux Libertine
(
ttf-linux-libertine
)
STIX fonts
(
otf-stix
AUR
) – STIX is designed to be a royalty-free alternative that resembles Times New Roman. The current version is called STIX Two and includes a math companion named STIX Two Math.
TeX Gyre math fonts
(
tex-gyre-math-fonts
AUR
) – Math companions of TeX Gyre fonts (see
#Families
). Notably, TeX Gyre Termes Math is a math companion of Times New Roman.
Garamond-Math
(
otf-garamond-math
AUR
) – An open type math font matching EB Garamond (
ebgaramond-otf
AUR
).
JuliaMono
(
ttf-juliamono
AUR
) – A monospace typeface that has extensive support for mathematical symbols, including calligraphic, blackboard (double-struck), and Fraktur alphanumeric characters.
Additionally,
texlive-basic
and
texlive-fontsextra
contain many math fonts such as Latin Modern Math and STIX fonts. See
TeX Live#Making fonts available to Fontconfig
for configuration.
Other operating system fonts
ttf-mac-fonts
AUR
- Apple MacOS TrueType fonts
Font alias
This article or section is a candidate for merging with
Fontconfig
.
Notes:
This section is Fontconfig-specific. (Discuss in
Talk:Fonts
)
There are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are:
serif
for a font of the serif type (e.g. DejaVu Serif);
sans-serif
for a font of the sans-serif type (e.g. DejaVu Sans); and
monospace
for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools, such as those found in
KDE Plasma
and other
desktop environments
.
To reverse an alias and find which font it is representing, run:
$ fc-match monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
In this case,
DejaVuSansMono.ttf
is the font represented by the
monospace
alias.
Fallback font order
This article or section is a candidate for merging with
Fontconfig
.
Notes:
This section contains Fontconfig-only related information. (Discuss in
Talk:Fonts
)
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one does not support it.
Fontconfig lets every user configure the order they want via
$XDG_CONFIG_HOME/fontconfig/fonts.conf
.
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
  <family>serif</family>
  <prefer>
    <family>Your favorite Latin Serif font name</family>
    <family>Your Chinese font name</family>
  </prefer>
</alias>
</fontconfig>
Tip
If you use a Chinese locale, set
FC_LANG
to
und
or
en-US:zh-CN
to make this work. Otherwise both English and Chinese text will be rendered in the Chinese font.
If you want to see a list of fonts against ambiguous patterns (i.e. which might not match exactly) such as a generic family names, you can use
fc-match --sort
or
fc-match --all
.
fc-match --sort
does not show a font if its Unicode coverage is provided by already shown font, see
fc-match(1)
and
FcFontSort(3)
.
After changing the configuration run
fc-match --all serif | head
to verify your fallback font is set correctly.
You can add a section for
sans-serif
and
monospace
as well.
For more information, have a look at the Fontconfig manual. See also
Font configuration#Set default or fallback fonts
.
Tips and tricks
List installed fonts for a particular language
This article or section is a candidate for merging with
Fontconfig
.
Notes:
This section is Fontconfig-specific. (Discuss in
Talk:Fonts
)
Applications select and display fonts depending upon Fontconfig preferences and available font glyphs for Unicode text. To list installed fonts for a particular language, issue a command
fc-list :lang="
two letter language code
"
. For instance, to list installed Arabic fonts or fonts supporting Arabic glyphs:
$ fc-list -f '%{file}\n' :lang=ar
/usr/share/fonts/TTF/FreeMono.ttf
/usr/share/fonts/TTF/DejaVuSansCondensed.ttf
/usr/share/fonts/truetype/custom/DroidKufi-Bold.ttf
/usr/share/fonts/TTF/DejaVuSansMono.ttf
/usr/share/fonts/TTF/FreeSerif.ttf
List installed fonts for a particular Unicode character
This article or section is a candidate for merging with
Fontconfig
.
Notes:
This section is Fontconfig-specific. (Discuss in
Talk:Fonts
)
To list all fonts supporting a particular Unicode codepoint—
black upwards equilateral arrowhead
(⮝) in this case:
$ fc-list :charset=2B9D
fc-list
does not normalize requests, it is going to list fonts which exactly matches. It is not suitable for generic family names (like
monospace
) and other ambiguous patterns. To search for monospaced fonts supporting a particular Unicode codepoint you could try the following:
$ fc-match --sort monospace:charset=2B9D | head
but you have to interpret the result on your own.
fc-match
by its nature does not guarantee that fonts in the output list are monospaced, nor that they contain the codepoint in question at all.
Application-specific font cache
Matplotlib (
python-matplotlib
) uses its own font cache, so after updating fonts, be sure to remove
~/.matplotlib/fontList.cache
,
~/.cache/matplotlib/fontList.cache
,
~/.sage/matplotlib-1.2.1/fontList.cache
, etc. so it will regenerate its cache and find the new fonts
[5]
.
Bidirectional text support
See
Bidirectional text
for troubleshooting problems related to RTL languages.
Braille font not displaying correctly inside terminals
If braille characters in terminals exhibit
rendering issues
, try
installing
a braille font and uninstalling
gnu-free-fonts
.
Application-specific font configuration tips
Emacs
Emacs calculates sizes differently than standard Linux desktop applications, and Emacs packages do not all use the same config format, so if points or raw pixel size doesn't work, try using the other value.
Visual Studio Code
Change the setting
Editor: Experimental Whitespace Rendering
from "svg" to "font" if your monospace fonts have problems scaling certain characters correctly.  This is known to help with "Terminus (TTF)" and "IBM 3270" fonts.
See also
State of Text Rendering
Font Library
— Fonts under free licenses