微軟字體

出自 Arch Linux 中文维基

本文或本章節的語言、語法或風格需要改進。參考:Help:Style

原因:Could be converted to use Template:App.(在Talk:微軟字體討論)

本文介紹如何安裝微軟 TrueType 字體並模擬 Windows 的渲染設置。

提示:參見 公制兼容字體 以獲取替代方案。

安裝[編輯 | 編輯原始碼]

自動安裝[編輯 | 編輯原始碼]

注意: 這些包將自動獲取 Windows Enterprise 90 天評估版,並從中提取所需的字體。

安裝字體的最簡單方法是安裝以下包中的一個:

使用 Windows 分區中的字體[編輯 | 編輯原始碼]

如果有一個安裝了 Windows 的分區,可以通過連結字體文件的方式來使用其字體。若不能讀取字體文件,可以參見 NTFS-3G#已壓縮的文件

注意: google-chromeAUR 的用戶應該選擇複製,因為連結的字體會導致 Chrome 崩潰。

例如,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.esdsources/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 目錄。

現有軟件包[編輯 | 編輯原始碼]

注意: 這些包需要訪問 Windows 和/或 Office 2007 的安裝程序或介質,參閱相關的 PKGBUILD 獲取更多信息。

舊軟件包[編輯 | 編輯原始碼]

注意: 由這些包提供的字體已過時,缺少現代微調指令和完整的字符集。建議使用上面所述的軟件包。

ttf-ms-fontsAUR 包含:

警告: 根據原《微軟最終用戶許可協議》,使用上述字體時存在一些法律限制。

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 閱讀器中正確顯示。