背景#
日常生活中,总是会有一些奇奇怪怪的需求需要使用到office
。对linux
用户来说,虽然可以用wps
代替ms office
办公套件,但还会面临一个很大的问题:没有 windows 的字体库!
试想一下,作业要求提交使用微软雅黑字体的 word 文档,而linux
上根本没有这个字体,你要怎么办?打开老师做的 ppt 课件,结果因为缺少字体而处处错位,又要怎么办?…
无数次面临这种问题之后,我萌生了安装 windows 字体的想法。
注:本文记录了整个打包流程,如果想要直接获取打包好的软件包,请点击此处。
安装#
查了查,网上的解决方法大部分是把 windows 的字体目录挂载过来,然而像我这种 linux 单系统用户肯定就不能这么操作了 XD
于是,我打开了万能的arch wiki,根据指引来到了ttf-ms-win10
的aur
界面,在安装前首先看一下作者的置顶评论:
FAQ, please read before posting:
- I get an error that the sources cannot be downloaded: Please read the instructions on the top of the PKGBUILD.
- Some fonts are missing in my copy of Windows (e.g., holomdl2, corbel, chandra, …): It seems that Microsoft distributes some fonts only with some Windows versions. You can just comment out the corresponding line in the PKGBUILD and then build with “makepkg –skipchecksums”.
- Some fonts have different checksums: We keep the checksums synchronized with our own Windows installations that are regularly updated. Different Windows versions, different ISOs etc. may contain fonts in different versions/variants. Just build the package using “makepkg –skipchecksums”.
- Why does the version not correspond to the latest Windows 10 build: If fonts have not changes between builds, there is no reason to change the version number of this package.
- Why are some fonts (e.g., traditional chinese, japanese etc.) not included here, not even in the corresponding split packages: We currently only include fonts that are installed on a standard Windows installation, without additional feature-on-demand packages (see: https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list).
嗯嗯.. 说的已经很明白啦,接着就先克隆一下项目:
git clone https://aur.archlinux.org/ttf-ms-win10.git
cd ttf-ms-win10
听他的,先看一下PKGBUILD
:
vim PKGBUILD
首先是一段版权声明,在 windows 系统以外的地方使用Microsoft fonts
是违法的。
估计是为了避免法律问题,它并没有自带windows
的字体,而是给出了两种方法:
- 从当前已有的 windows 系统获取(如果有的话我就直接挂载了啊喂!)
- 从 windows 的安装包中提取
所以就按着他的步骤来吧:
-
到这里下载 windows10 安装包
-
打开
iso
镜像,解压出sources/install.wim
-
安装
wimlib
并解压wim
格式sudo pacman -S wimlib # 切换到install.wim所在的目录 wimextract install.wim 1 /Windows/{Fonts/"*".{ttf,ttc},System32/Licenses/neutral/"*"/"*"/license.rtf} --dest-dir fonts
-
将解压出的字体全都放到
PKGBUILD
所在目录,执行:makepkg
不出所料,果然出现了他说的第三点问题,不同 windows 版本可能会含有同一字体的不同版本,导致哈希值检验出错,脚本检验失败自动退出。
解决办法也像他说的,只需要跳过检验就好了:
makepkg –skipchecksums
经过漫长的等待,应该已经打包了很多种语言的包出来,接着只需要:
sudo pacman -U ./ttf-ms-win10-zh_cn-version.pkg.tar.xz
就成功啦!