ArchWiki / Microsoft fonts
ArchWiki / Microsoft fonts
es:Microsoft fonts hu:Microsoft fonts ja:MS フォント ru:Microsoft fonts zh-hans:Microsoft fonts
This article explains how to install TrueType Microsoft fonts and emulate Windows' font rendering.
See Metric-compatible fonts for alternatives.
Installation
Automatic installation
These packages automatically fetch the Windows Enterprise 90-day evaluation edition ISO and extract the required fonts from it at build time.
The easiest way to install the fonts is by installing one of the following:
ttf-ms-win11-auto — Windows 11 fonts
ttf-ms-win10-auto — Windows 10 fonts
ttf-vista-fonts — Vista and Office 2007 fonts
Current packages
These packages require manually acquiring the fonts from either a Windows partition or extracting them from a Windows and/or Office 2007 ISO beforehand. Consult the corresponding PKGBUILDs for details.
ttf-ms-win11 / ttf-ms-win11-auto — Windows 11 fonts
ttf-ms-win10 / ttf-ms-win10-auto — Windows 10 fonts
ttf-ms-win8 — Windows 8.1 fonts
ttf-win7-fonts — Windows 7 fonts
ttf-ms-office365 — Office 365 fonts
ttf-office-2007-fonts — Office 2007 fonts
Using fonts from a Windows partition
If there is a Windows partition mounted, its fonts can be used directly. There are a few options on how to do this (assuming the Windows C:\ drive is mounted at /windows):
Using a symlink:
# ln -s /windows/Windows/Fonts /usr/local/share/fonts/WindowsFontsUsers of google-chrome should opt to not use this method, because symlinked fonts can cause Chrome to crash.
Copying the files to
/usr/local/share/fonts/:
# mkdir -p /usr/local/share/fonts/WindowsFonts
# cp -r /windows/Windows/Fonts/* /usr/local/share/fonts/WindowsFonts/
# chmod -R 644 /usr/local/share/fonts/WindowsFonts/*Using a bind mount:
# mount --bind /windows/Windows/Fonts /usr/local/share/fonts/WindowsFontsTo make this permanent, edit the fstab file like so:
/windows/Windows/Fonts /usr/local/share/fonts/WindowsFonts none bind 0 0/etc/fstabSee mount(8) for more details.
Keep in mind that it may be necessary to apply a workaround for system compressed files in order to read the font files.
After choosing one of these options, regenerate the fontconfig cache:
# fc-cache --force
# fc-cache-32 --forceExtracting fonts from a Windows ISO
The fonts can also be found in a Windows ISO file. The format of the image file containing the fonts in the ISO is either WIM (Windows Imaging Format) if the ISO is downloaded online or ESD (Windows Electronic Software Download) if it is built with Windows' Media Creation Tool. Extract the sources/install.esd or the sources/install.wim file from the .iso and look for a Windows/Fonts directory within this file. It can be extracted using 7z or wimextract (in wimlib). See an example below using 7z:
$ 7z e WinXY_YYMM_English_x64.iso sources/install.wim
$ 7z e install.wim 1/Windows/{Fonts/"*".{ttf,ttc},System32/Licenses/neutral/"*"/"*"/license.rtf} -ofonts/The fonts and the license will be located in the fonts directory.
Legacy packages
The fonts provided by these packages are out-of-date and are missing modern hinting instructions and the full character sets, but has the benefit of not needing user provided font files. It is recommended to use the packages from #Current packages instead.
ttf-ms-fonts includes:
According to original Microsoft's End User License Agreement, there are some legal limitations when using the above fonts.
You can also obtain ttf-tahoma which, as you might expect, contains Tahoma.
ttf-vista-fonts includes:
Fontconfig rules useful for MS Fonts
Rule mapping for similar fonts
Often websites specify the fonts using generic names (helvetica, courier, times or times new roman) and a rule in fontconfig maps these names to free fonts (Liberation, Google CrOS, GUST TeX Gyre...). The substitutions are defined in /etc/fonts/conf.d/30-metric-aliases.conf.
To make full use of the Ms Windows fonts it is necessary to create a rule mapping those generic names to the Ms Windows specific fonts contained in the various packages above:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="same">
<family>Helvetica</family>
<accept>
<family>Arial</family>
</accept>
</alias>
<alias binding="same">
<family>Times</family>
<accept>
<family>Times New Roman</family>
</accept>
</alias>
<alias binding="same">
<family>Courier</family>
<accept>
<family>Courier New</family>
</accept>
</alias>
</fontconfig>It is also useful to associate serif,sans-serif,monospace fonts in your favourite browser to MS fonts.
Disable embedded bitmap fonts
Some Microsoft TTF fonts such as Calibri and Cambria contain embedded bitmap fonts for specific font sizes, which are not anti-aliased. If embedded bitmaps are enabled, the fonts are not anti-aliased at those specific sizes. Embedded bitmap fonts can be disabled in the font configuration.
Known issues
Symbols not displaying properly with Poppler-based PDF readers
The TrueType Microsoft font for Symbol (Wikipedia:Symbol (typeface)) are buggy with Poppler, math symbols may not display correctly in Poppler-based PDF readers.