微软字体
本文介绍如何安装微软 TrueType 字体并模拟 Windows 的渲染设置。
安装[编辑 | 编辑源代码]
自动安装[编辑 | 编辑源代码]
安装字体的最简单方法是安装以下包中的一个:
- ttf-ms-win10-autoAUR——Windows 10 字体
- ttf-ms-win11-autoAUR——Windows 11 字体
使用 Windows 分区中的字体[编辑 | 编辑源代码]
如果有一个安装了 Windows 的分区,可以通过链接字体文件的方式来使用其字体。若不能读取字体文件,可以参见 NTFS-3G#已压缩的文件。
例如,Windows 的 C:\
盘被挂载在 /windows
:
# ln -s /windows/Windows/Fonts /usr/local/share/fonts/WindowsFonts
然后重新生成字体缓存:
# fc-cache --force
或者,将 Windows 的字体复制到 /usr/local/share/fonts/
:
# mkdir /usr/local/share/fonts # mkdir /usr/local/share/fonts/WindowsFonts # cp /windows/Windows/Fonts/* /usr/local/share/fonts/WindowsFonts/ # chmod 644 /usr/local/share/fonts/WindowsFonts/*
然后重新生成字体缓存:
# 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 (p7zip) 或 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-office-2007-fontsAUR——Microsoft Office 2007 字体
- ttf-win7-fontsAUR——Windows 7 字体
- ttf-ms-win8AUR——Windows 8.1 字体
- ttf-ms-win10AUR——Windows 10 字体
- ttf-ms-win11AUR——Windows 11 字体
旧软件包[编辑 | 编辑源代码]
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,包含了特定大小的内嵌位图字体,这些字体不支持抗锯齿。如果启用了字体内嵌位图,在这些特定的尺寸下,字体不会被进行抗锯齿处理。通过字体配置可以禁用内嵌位图字体:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="embeddedbitmap" mode="assign"> <bool>false</bool> </edit> </match> </fontconfig>
已知问题[编辑 | 编辑源代码]
基于 Poppler 的 PDF 阅读器无法正确显示符号[编辑 | 编辑源代码]
微软的 TrueType 符号字体(Symbol)在 Poppler 上有问题,数学符号可能无法在基于 Poppler 的 PDF 阅读器中正确显示。