微软字体
本文介绍如何安装微软 TrueType 字体并模拟 Windows 的渲染设置。
安装
自动安装
安装字体的最简单方法是安装以下包中的一个:
- ttf-ms-win11-autoAUR — Windows 11 字体
- ttf-ms-win10-autoAUR — Windows 10 字体
现有软件包
-
ttf-ms-win11AUR / ttf-ms-win11-autoAUR — Windows 11 字体
- ttf-ms-win11-fod-autoAUR — Windows 11 按需功能(FOD)字体
- ttf-ms-win10AUR / ttf-ms-win10-autoAUR — Windows 10 字体
- ttf-ms-win8AUR — Windows 8.1 字体
- ttf-win7-fontsAUR — Windows 7 字体
- ttf-office-2007-fontsAUR — Office 2007 字体
使用 Windows 分区中的字体
如果有一个 Windows 分区已被挂载,可以直接使用其中的字体。有以下几种方法(假设 Windows 的 C:\ 盘被挂载在 /windows):
- 使用符号链接:
# ln -s /windows/Windows/Fonts /usr/local/share/fonts/WindowsFonts
- 将字体文件复制到
/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/*
- 使用绑定挂载:
# mount --bind /windows/Windows/Fonts /usr/local/share/fonts/WindowsFonts
要使其永久生效,像这样修改 fstab 文件:
/etc/fstab
/windows/Windows/Fonts /usr/local/share/fonts/WindowsFonts none bind 0 0
更多详细信息参见 mount(8) § Bind mount operation。
请注意,若不能读取字体文件,可能需要对系统压缩的文件采取权变措施。
在选择以上任一方法后,重新生成字体缓存:
# fc-cache --force # fc-cache-32 --force
从 Windows ISO 中提取字体
在 Windows ISO 文件中也可以找到字体。若 ISO 是在网络上下载的,则包含字体的镜像文件格式为 WIM (Windows Imaging Format);若是使用 Windows 媒体创建工具创建的,则为 ESD (Windows Electronic Software Download)。从 ISO 文件中提取 sources/install.esd 或 sources/install.wim 文件并从中找到 Windows/Fonts 目录。它可以用 7z 或 wimextract (wimlib包) 提取。以下是一个使用 7z 的示例:
$ 7z e WinXY_YYMM_Chinese_Simplified_x64.iso sources/install.wim
$ 7z e install.wim 1/Windows/{Fonts/"*".{ttf,ttc},System32/Licenses/neutral/"*"/"*"/license.rtf} -ofonts/
字体和许可证将放在 fonts 目录。
旧软件包
ttf-ms-fontsAUR 包含:
- Andalé Mono
- Arial
- Arial Black
- Comic Sans
- Courier New
- Georgia
- Impact
- Lucida Sans
- Lucida Console
- Microsoft Sans Serif
- Times New Roman
- Trebuchet
- Verdana
- Webdings
ttf-tahomaAUR 包含 Tahoma。
ttf-vista-fontsAUR包括:
适用于微软字体的 Fontconfig 规则
相似字体的映射规则
网站通常使用字体的通用名称 (helvetica, courier, times 或 times new roman),Fontconfig 的一个规则文件 /etc/fonts/conf.d/30-metric-aliases.conf 将其替换为免费字体(Liberation、Google CrOS、GUST TeX Gyre……)。
要使用微软字体,需要将上述通用名称映射到微软的字体:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Map generics to MS specifics -->
<!-- PostScript -->
<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>
建议在浏览器中,将 serif、sans-serif 和 monospace 字体也映射到微软字体。
禁用字体内嵌位图
一些微软的 TTF 字体,如 Calibri 和 Cambria,包含了特定大小的内嵌位图字体,这些字体不支持抗锯齿。如果启用了字体内嵌位图,在这些特定的尺寸下,字体不会被进行抗锯齿处理。通过字体配置可以禁用内嵌位图字体。
已知问题
基于 Poppler 的 PDF 阅读器无法正确显示符号
微软的 TrueType 符号字体(Symbol)在 Poppler 上有问题,数学符号可能无法在基于 Poppler 的 PDF 阅读器中正确显示。