Difference between revisions of "Fonts (正體中文)"

From ArchWiki
Jump to: navigation, search
(翻譯接近完成)
Line 16: Line 16:
 
{{Related2|MS Fonts|微軟字型 (英)}}
 
{{Related2|MS Fonts|微軟字型 (英)}}
 
{{Related articles end}}
 
{{Related articles end}}
{{Translateme}}
+
{{翻譯狀態|Fonts|2014-01-25|285531}}
 
摘自[[Wikipedia:Computer font|維基百科]]:
 
摘自[[Wikipedia:Computer font|維基百科]]:
 
:「'''電腦字型''' (computer font),或稱'''字型''' (font),是包含字 (glyph)、字元或符號 (如 dingbats) 的電子檔案資料。」
 
:「'''電腦字型''' (computer font),或稱'''字型''' (font),是包含字 (glyph)、字元或符號 (如 dingbats) 的電子檔案資料。」
Line 215: Line 215:
  
 
=== Pango 警告訊息 ===
 
=== Pango 警告訊息 ===
When [http://www.pango.org/ Pango] is in use on your system it will read from [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] to sort out where to source fonts.
+
若您的系統有在使用 [http://www.pango.org/ Pango],它會從 [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] 讀取字型來源。
  
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
  
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache.  This example uses the {{Pkg|ttf-liberation}} fonts to illustrate the solution and runs as root to enable them system-wide.
+
如果您看到與上面類似的錯誤,或者應用程式內的字元變成了方框,您需要新增字型並更新字型快取。這個範例使用 {{Pkg|ttf-liberation}} 字型演示,並以 root 執行以套用至全系統。
  
 
  # pacman -S ttf-liberation
 
  # pacman -S ttf-liberation
   -- output abbreviated, assumes installation succeeded --  
+
   -- 略過部分輸出,假設安裝已經成功 --  
 
   
 
   
 
  # fc-cache -vfs
 
  # fc-cache -vfs
Line 234: Line 234:
 
  fc-cache: succeeded
 
  fc-cache: succeeded
  
You can test for a default font being set like so:
+
您可以測試預設字型是否已經設置:
  
 
  # fc-match
 
  # fc-match
Line 241: Line 241:
 
=== 讓字型搭配 X.Org ===
 
=== 讓字型搭配 X.Org ===
  
In order for [[Xorg]] to find and use your newly installed fonts, you must add the font paths to {{ic|/etc/X11/xorg.conf}} (another X.Org configuration file may work too).
+
為了讓 [[Xorg]] 可以找到並使用您新安裝的字型,必須將字型路徑加入 {{ic|/etc/X11/xorg.conf}} (另一個 X.Org 設定檔也可以)
  
Here is an example of the section that must be added to {{ic|/etc/X11/xorg.conf}}. Add or remove paths based on your particular font requirements.
+
這是必須加入 {{ic|/etc/X11/xorg.conf}} 的範例內容。根據您的字型需求新增/移除路徑。
  # Let X.Org know about the custom font directories
+
  # X.Org 知道自訂字型目錄
 
  Section "Files"
 
  Section "Files"
 
     FontPath    "/usr/share/fonts/100dpi"
 
     FontPath    "/usr/share/fonts/100dpi"
Line 260: Line 260:
 
== 終端機字型 ==
 
== 終端機字型 ==
  
The [[Wikipedia:Virtual console|virtual console]] uses the kernel built-in font and ASCII character set by default, but both can be easily changed.
+
[[Wikipedia:Virtual console|虛擬終端機]]使用核心內建字型,預設顯示 ASCII 字元,這兩種設定都可以輕易改變。
  
A console font is limited to either 256 or 512 characters. Available fonts are saved in {{ic|/usr/share/kbd/consolefonts/}} directory.
+
終端機字型限定為 256 512 個字元。可供使用的字型存放在 {{ic|/usr/share/kbd/consolefonts/}} 目錄。
  
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.
+
鍵盤映射 (Keymap) 是按鍵和電腦使用字元的對應關係表,可以在 {{ic|/usr/share/kbd/keymaps/}} 的子目錄下找到。
  
 
=== 預覽和測試 ===
 
=== 預覽和測試 ===
  
{{提示|An organized library of images for previewing is available: [http://alexandre.deverteuil.net/consolefonts/consolefonts.html Linux console fonts screenshots].}}
+
{{提示|一個整理過的預覽影像資料庫:[http://alexandre.deverteuil.net/consolefonts/consolefonts.html Linux 終端機字型截圖]}}
  
The available glyphs or letters in the font can also be viewed as a table with using ''showconsolefont'':
+
''showconsolefont'' 指令會以表格形式顯示可用字與字元:
  
 
  $ showconsolefont
 
  $ showconsolefont
  
The ''setfont'' utility may be used to temporarily change the font, so that the user can consider its use as the default. Just pass the name of the font (they are located in {{ic|/usr/share/kbd/consolefonts/}}):
+
''setfont'' 工具可以暫時改變字型,讓使用者可以決定是否要採為預設值。只要指定字型名稱即可 (這些字型位於 {{ic|/usr/share/kbd/consolefonts/}})
  
 
  $ setfont Lat2-Terminus16
 
  $ setfont Lat2-Terminus16
  
Optionally, you can specify character set to be used using the {{ic|-m}} option:
+
您可以用 {{ic|-m}} 選項指定使用什麼字元集:
  
 
  $ setfont Lat2-Terminus16 -m 8859-2
 
  $ setfont Lat2-Terminus16 -m 8859-2
  
If the newly changed font is not suitable, a return to the default font with the following command (even if the console display is totally unreadable, this command will still work - just type the command "blindly"):
+
如果對新換的字型不滿意,用以下指令可以還原至預設字型 (就算終端機顯示亂碼,這個指令依然可以執行 -- 將指令「盲打」進去即可)
  
 
  $ setfont
 
  $ setfont
  
{{註記|''setfont'' only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.}}
+
{{註記|''setfont'' 只作用於目前正在使用的終端機。其它終端機無論活躍與否都不受影響。}}
  
 
=== 更改預設字型 ===
 
=== 更改預設字型 ===
  
The {{ic|FONT}} and {{ic|FONT_MAP}} variables in {{ic|/etc/vconsole.conf}} are used to change the default font.
+
{{ic|/etc/vconsole.conf}} {{ic|FONT}} {{ic|FONT_MAP}} 變數可用來改變預設字型。
  
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:
+
若要顯示 ''Č, ž, đ, š'' ''Ł, ę, ą, ś'' 之類的字元,使用 {{ic|lat2-16.psfu.gz}} 這個字型:
  
 
  FONT=lat2-16
 
  FONT=lat2-16
  
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values (e.g. {{ic|lat2-08}}). For the regions determined by 8859 specification, look at the [[wikipedia:ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859|Wikipedia table]]. You can use a Terminus font which is recommended if you work a lot in console without X server. ter-216b for example is latin-2 part, size 16, bold. ter-216n is the same but normal weight. Terminus fonts have sizes up to 32.
+
這代表使用 ISO/IEC 8859 字元的第二部分,大小設定為 16。您可以使用其它值更改字型大小 ({{ic|lat2-08}})。您可以在[[wikipedia:ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859|維基百科的這張表]]查詢 8859 規格定義的區域。如果您經常在沒有 X 伺服器的終端機上工作,建議可以使用一種 Terminus 字型。比如說 ter-216b,代表包含 latin-2 部分,大小 16,粗體字。ter-216n 是正常磅數的版本。Terminus 字型大小最大可以到 32。
  
Now, set the proper font mapping, for lat2-16 it will be:
+
現在設定適當的字型映射,若使用 lat2-16 則會是:
  
 
  FONT_MAP=8859-2
 
  FONT_MAP=8859-2
  
To use the specified font in early userspace, use the {{ic|keymap}} hook in {{ic|/etc/mkinitcpio.conf}}. See [[Mkinitcpio#HOOKS]] for more information.
+
若要為早期的使用者空間套用指定字型,在 {{ic|/etc/mkinitcpio.conf}} 使用 {{ic|keymap}} 勾子。更多資訊請參閱 [[Mkinitcpio#HOOKS]]
  
If the fonts seems to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[Kernel Mode Setting#Early KMS start]], [https://bbs.archlinux.org/viewtopic.php?id=145765] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} is applied.
+
如果開機時字型沒有任何變化,或只變化一下就回復原樣,則有可能是因為圖形驅動啟動時字型被重設,然後終端機被切至幀緩衝 (framebuffer)。提早載入圖形驅動可以避免這個問題。若要在套用 {{ic|/etc/vconsole.conf}} 之前將幀緩衝準備好,請參閱[[Kernel Mode Setting#Early KMS start|核心模式設定#提早啟動 KMS]][https://bbs.archlinux.org/viewtopic.php?id=145765] 或其它方式。
  
 
== 字型軟體包 ==
 
== 字型軟體包 ==
This is a selective list that includes many font packages from the [[AUR]] along with those in the official repositories. Fonts are tagged "Unicode" if they have wide Unicode support, see the project or Wikipedia pages for detail.
+
以下是收錄於官方軟體庫和 [[AUR]] 的字型軟體包列表,種類繁多,可依照需求選用。若字型有廣泛的萬國碼 (Unicode) 支援,會加註 "Unicode" 標記,詳情請參閱字型專案或相關的維基百科頁面。
  
Github user Ternstor has created a python script that generates PNG images of all fonts in [http://ternstor.github.com/archfonts/extra.html extra], [http://ternstor.github.com/archfonts/community.html community] and the [http://ternstor.github.com/archfonts/aur.html AUR] so you can preview all the fonts below.
+
一位 Github 使用者 Ternstor python 腳本產生 [http://ternstor.github.com/archfonts/extra.html extra], [http://ternstor.github.com/archfonts/community.html community] [http://ternstor.github.com/archfonts/aur.html AUR] 庫內字型的 PNG 圖像,您可以在那裡預覽以下所提到的字型。
  
 
=== 盲文點字 ===
 
=== 盲文點字 ===
*{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille''
+
*{{Pkg|ttf-ubraille}} - 包含 Unicode '''盲文點字'''符號的字型
  
=== 非英語系使用者 ===
+
=== 國際 (非英語系) 使用者 ===
Applications and browsers select and display fonts depending upon fontconfig preferences and available font glyph for Unicode text. To list installed fonts for a particular language, issue a command {{ic|<nowiki>fc-list :lang="two letter language code"</nowiki>}}. For instance, to list installed Arabic fonts or fonts supporting Arabic glyph:
+
應用程式與瀏覽器會根據 fontconfig 設定和 Unicode 文字可用的字型來選擇其顯示字型。用指令 {{ic|<nowiki>fc-list :lang="雙字母的語言代碼"</nowiki>}} 列舉系統安裝了哪些可對應該語言的字型。例如,列舉已經安裝的阿拉伯文字型,以及支援阿拉伯字的字型:
 
{{hc|$ fc-list :lang&#61;ar &#124; cut -d: -f1|2=
 
{{hc|$ fc-list :lang&#61;ar &#124; cut -d: -f1|2=
 
<nowiki>
 
<nowiki>
Line 326: Line 326:
 
}}
 
}}
  
To properly render fonts for multilingual websites like Wikipedia or this Arch Linux wiki, install these packages: {{Pkg|ttf-freefont}}, {{Pkg|ttf-arphic-uming}}, {{Pkg|ttf-baekmuk}}
+
若要在多國語言的網站 (如維基百科、Arch Linux wiki) 正確描繪字形,安裝這些軟體包:{{Pkg|ttf-freefont}}, {{Pkg|ttf-arphic-uming}}, {{Pkg|ttf-baekmuk}}
  
 
==== 阿拉伯文和烏爾都文 ====
 
==== 阿拉伯文和烏爾都文 ====
Line 340: Line 340:
 
====中日韓越====
 
====中日韓越====
  
===== 中文 (為主) =====
+
===== 中文 =====
*{{AUR|ttf-tw}} - Kai and Song traditional Chinese font from the Ministry of Education of Taiwan ''(AUR)''.
+
*{{AUR|ttf-tw}} - 台灣 (中華民國) 教育部標準楷書、宋體字型 ''(AUR)''
*{{Pkg|wqy-microhei}} - A Sans-Serif style high quality CJKV outline font.
+
*{{Pkg|wqy-microhei}} - 無襯線形式的高品質中日韓越 (CJKV) 輪廓字型。
*{{Pkg|wqy-zenhei}} - Hei Ti Style (sans-serif) Chinese Outline font embedded with bitmapped Song Ti (also supporting Japanese (partial) and Korean characters).
+
*{{Pkg|wqy-zenhei}} - 黑體 (無襯線) 的中文輪廓字型,附帶點陣宋體 (也支援部分日韓字元)
*{{Pkg|ttf-arphic-ukai}} - ''Kaiti'' (brush stroke) Unicode font (enabling anti-aliasing is suggested)
+
*{{Pkg|ttf-arphic-ukai}} - '''楷書''' (帶有筆觸) Unicode 字型 (建議啟用反鋸齒)
*{{Pkg|ttf-arphic-uming}} - ''Mingti'' (printed) Unicode font
+
*{{Pkg|ttf-arphic-uming}} - '''明體''' (印刷) Unicode 字型
*{{Pkg|opendesktop-fonts}} - ''New Sung'' font, previously is ttf-fireflysung package
+
*{{Pkg|opendesktop-fonts}} - '''新宋'''字型,之前為 ttf-fireflysung
*{{Pkg|wqy-bitmapfont}} - Bitmapped Song Ti (serif) Chinese font
+
*{{Pkg|wqy-bitmapfont}} - 點陣宋體 (襯線) 中文字型
*{{Pkg|ttf-hannom}} - Chinese and Vietnamese TrueType font
+
*{{Pkg|ttf-hannom}} - 中文、越南文 TrueType 字型
  
 
===== 日文 =====
 
===== 日文 =====
Line 402: Line 402:
  
 
=== Microsoft 字型 ===
 
=== Microsoft 字型 ===
See [[MS Fonts]].
+
參閱[[MS Fonts|微軟字型]]
  
 
=== Apple Mac OS X 字型 ===
 
=== Apple Mac OS X 字型 ===
  
* {{AUR|ttf-mac-fonts}} - Mac OS X TrueType fonts
+
* {{AUR|ttf-mac-fonts}} - Mac OS X TrueType 字型
* {{AUR|ttf-mac}} - Mac OS X TrueType fonts (This package does not come with the ttf fonts (only the otf fonts), they have to be provided on their own.
+
* {{AUR|ttf-mac}} - Mac OS X TrueType 字型。這個軟體包沒有內含 ttf 字型 (只有 otf 字型),使用者必須自備這些字型。
  
 
=== 等寬 ===
 
=== 等寬 ===
Here are some suggestions. Every user has their own favorite, so experiment to find yours.
+
有一些建議要給各位。每個使用者所偏好的字型不同,因此要找到您心目中的理想字型,就請多加嘗試。
If you are in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''].
+
如果您沒有太多時間,可以閱讀 Dan Benjamin 的部落格文章:[http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''] (前十名適合寫程式的字型)。
  
Here is a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.
+
這裡有 Trevor Lowing 整理的一長串字型清單:http://www.lowing.org/fonts/
  
 
==== TrueType ====
 
==== TrueType ====
Line 419: Line 419:
 
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})
 
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})
 
* Anka/Coder ({{AUR|ttf-anka-coder}})
 
* Anka/Coder ({{AUR|ttf-anka-coder}})
* [http://www.marksimonson.com/fonts/view/anonymous-pro Anonymous Pro] ({{AUR|ttf-anonymous-pro}}, included in {{AUR|ttf-google-fonts-hg}} and {{AUR|ttf-google-fonts-git}})
+
* [http://www.marksimonson.com/fonts/view/anonymous-pro Anonymous Pro] ({{AUR|ttf-anonymous-pro}},也包含在 {{AUR|ttf-google-fonts-hg}} {{AUR|ttf-google-fonts-git}})
 
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})
 
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows programming font
+
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows 下的編程用字型
 
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})
 
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})
* Cousine ({{AUR|ttf-google-fonts-hg}} or {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible)
+
* Cousine ({{AUR|ttf-google-fonts-hg}} or {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS Courier New 替代品 (metric-compatible)
 
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode
 
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-fonts-hg}} and {{AUR|ttf-google-fonts-git}})
+
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}},也包含在 {{AUR|ttf-google-fonts-hg}} {{AUR|ttf-google-fonts-git}})
 
* Envy Code R ({{AUR|ttf-envy-code-r}})
 
* Envy Code R ({{AUR|ttf-envy-code-r}})
 
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode
 
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) - Excellent programming font
+
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) - 極佳的編程用字型
 
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications
 
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - Alternative to Courier New (metric-compatible)
+
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - 可代替 Courier New (metric-compatible)
 
* [[Wikipedia:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}})
 
* [[Wikipedia:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}})
 
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}})
 
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}})
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{AUR|ttf-monaco}}) - Popular programming font on OSX/Textmate
+
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{AUR|ttf-monaco}}) - OSX/Textmate 下知名的編程用字型
 
* Monofur ({{AUR|ttf-monofur}})
 
* Monofur ({{AUR|ttf-monofur}})
  
Line 505: Line 505:
  
 
== X11 的字型採用順序 ==
 
== X11 的字型採用順序 ==
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one does not support it.
+
Fontconfig 會自動選擇符合目前需求的字型。這麼說好了,假設有一個包含英文和中文的視窗,如果預設字型不支援中文,就會換成有中文字支援的字型來顯示。
  
Fontconfig lets every user configure the order they want via {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}.
+
Fontconfig 透過 {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}},讓每個使用者都可以設定自己的偏好順序。
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:
+
如果您希望在自己偏好的襯線字體後面加上一種中文字型當候補,檔案會看起來像這樣:
 
  <?xml version="1.0"?>
 
  <?xml version="1.0"?>
 
  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 
  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
Line 515: Line 515:
 
     <family>serif</family>
 
     <family>serif</family>
 
     <prefer>
 
     <prefer>
       <family>Your favorite Latin Serif font name</family>
+
       <family>您偏好的拉丁字襯線字型名稱</family>
       <family>Your Chinese font name</family>
+
       <family>您的中文字型名稱e</family>
 
     </prefer>
 
     </prefer>
 
   </alias>
 
   </alias>
 
  </fontconfig>
 
  </fontconfig>
  
You can add a section for Sans-serif and monospace as well. For more informations, have a look at the fontconfig manual.
+
您也可以新增無襯線和等寬字型的部分。更多資訊可參考 fontconfig 手冊。
  
 
== 字型別名 ==
 
== 字型別名 ==
In Linux there are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: {{ic|serif}} for a font of the serif type (e.g. DejaVu Serif); {{ic|sans-serif}} for a font of the sans-serif type (e.g. DejaVu Sans); and {{ic|monospace}} for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools such as those found in KDE and other desktop environments.
+
Linux 下有數個字型別名,實際上它們指向別的真實字型,這是為了讓所有應用程式使用的字型能夠相似。最常見的別名有:{{ic|serif}} 襯線字型 (DejaVu Serif){{ic|sans-serif}} 無襯線字型 (DejaVu Sans);以及 {{ic|monospace}} 等寬字型 (DejaVu Sans Mono)。不過這些別名所代表的字型可能會有變化,且通常它們不會顯示在 KDE 和其他桌面環境的字型管理工具之中。
  
To reverse an alias and find which font it is representing, run:
+
若要查詢別名所代表的字型,執行:
 
  $ fc-match monospace
 
  $ fc-match monospace
 
  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
 
  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
  
In this case {{ic|DejaVuSansMono.ttf}} is the font represented by the monospace alias.
+
在上面的範例中,{{ic|DejaVuSansMono.ttf}} monospace 別名所指向的字型。
  
 
== 小提示 ==
 
== 小提示 ==
Line 547: Line 547:
  
 
* [[Font Configuration|字型設定 (英)]]
 
* [[Font Configuration|字型設定 (英)]]
 
<!--
 
 
[[Category:正體中文]]
 
[[Category:X Server (正體中文)]]
 
[[cs:Fonts]]
 
[[en:Fonts]]
 
[[es:Fonts]]
 
[[it:Fonts]]
 
[[ru:Fonts]]
 
[[tr:Yazıtipleri]]
 
[[zh-CN:Fonts]]
 
= 不同類型的字型 =
 
在 GNU/Linux 的系統下,目前可以使用的字型又可分為下列幾種不同規格。
 
 
== TrueType 字型 ==
 
.ttf
 
 
== PostScript 字型 ==
 
.pfa .pfb
 
 
== bitmap 字型 ==
 
.pcf .bdf .pcf.gz .bdf.gz
 
 
== TeX 字型 ==
 
.vpl, .pl, .vf .tfm
 
 
= Arch Linux 所提供的字型套件 =
 
== 中文 ==
 
*{{AUR|ttf-tw}} - (繁體字)國字標準字體(楷書/宋體)母稿——中華民國教育部''(AUR)''.
 
*{{Pkg|ttf-arphic-ukai}} -  楷體 Kaiti (brush stroke) unicode TTFonts
 
*{{Pkg|ttf-arphic-uming}} - 明體 Mingti (printed) unicode TTFonts 
 
*{{Pkg|opendesktop-fonts}} - firefly宋体
 
 
== 日語 ==
 
*{{AUR|otf-ipafont}} - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja. ''(AUR)''
 
 
== 歐洲的語言 ==
 
*{{Pkg|ttf-linux-libertine}} - High quality Serif and Sans serif OpenType fonts with large unicode coverage.
 
 
== Microsoft Windows fonts ==
 
*{{AUR|ttf-ms-fonts}} - 微軟的 TTF 字型 (壓縮檔)
 
 
{{Wikipedia|Fonts}}
 
 
-->
 

Revision as of 14:43, 25 January 2014

翻譯狀態: 本文章是 Fonts 的翻譯版本。最近一次的翻譯時間:2014-01-25。點擊本連結查看英文頁面之後的變更。

摘自維基百科

電腦字型 (computer font),或稱字型 (font),是包含字 (glyph)、字元或符號 (如 dingbats) 的電子檔案資料。」

注意,某些字型的授權有訂定合理使用限制。

字型格式

現今電腦所使用的字型中,絕大部分屬於點陣 (bitmap) 或輪廓 (outline)資料格式。

點陣字型
由點 (像素) 陣列構成的圖像,代表每種字樣、大小的字 (glyph)。
輪廓字型
又稱作向量 (vector) 字型。使用貝茲曲線 (Bézier curve)、繪圖指引和數學公式描繪每個字,產生的字元可以縮放至任意大小。

常見副檔名

  • bdf, bdf.gz – 點陣字型,bitmap distribution format 的縮寫,以及用 gzip 壓縮的 bdf
  • pcf, pcf.gz – 點陣字型,portable compiled font 的縮寫,以及用 gzip 壓縮的 pcf
  • psf, psfu, psf.gz, psfu.gz – 點陣字型,PC screen font 與 PC screen font Unicode 的縮寫,以及用 gzip 壓縮的版本 (跟 X.Org 不相容)
  • pfa, pfb – 輪廓字型,PostScript font ASCII 與 PostScript font binary 的縮寫。PostScript 字型內建印表機指令。
  • ttf – 輪廓字型,TrueType font 的縮寫。原本設計為 PostScript 字型的替代品。
  • otf – 輪廓字型,OpenType font 的縮寫。TrueType 附帶 PostScript 排版指令。

TrueType 與 OpenType 的技術差異,在大部分的用途之下可被忽略。某些 OpenType 字型使用了 ttf 副檔名。

其他格式

排版程式 TeX 與字型軟體 Metafont 有它們自己算繪字元的方法。這兩個程式使用的字型副檔名有 *pk, *gf, mfvf

FontForge 字型編輯程式會將字型存為自己的文字檔格式 sfd,這是 spline font database 的縮寫。

SVG 格式也有一套自己的字型描述方法。

安裝

安裝字型的方式有很多種。

Pacman

透過 pacman 可以安裝啟用軟體庫的字型。使用以下指令搜尋可供使用的字型:

$ pacman -Ss font

或只搜尋 ttf 字型:

$ pacman -Ss ttf

某些字型,像是 terminus-font,會安裝在 /usr/share/fonts/local,這個目錄預設沒有被加進字型路徑。將以下內容加入 ~/.xinitrc,就可以在 X11 使用這類字型:

xset +fp /usr/share/fonts/local
xset fp rehash

如果執行第一行指令後出現以下錯誤

$ xset +fp /usr/share/fonts/local/
xset:  bad font path element (#0), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax

需要執行

# cd /usr/share/fonts/local;mkfontdir

建立軟體包

您應該將管理字型的工作交給 pacman。字型可以打包成一份 Arch 軟體包,還可以透過 AUR 和社群分享。這裡有一個建立基本軟體包的範例。若想要更了解如何組建軟體包,請閱讀 PKGBUILD

pkgname=ttf-fontname
pkgver=1.0
pkgrel=1
pkgdesc="custom fonts"
arch=('any')
depends=('fontconfig' 'xorg-font-utils')
source=("http://someurl.org/$pkgname.tar.bz2")
install=$pkgname.install

package() {
  install -d "$pkgdir/usr/share/fonts/TTF"
  cp -dpr --no-preserve=ownership "$srcdir/$pkgname/"*.ttf "$pkgdir/usr/share/fonts/TTF/"
}

這份 PKGBUILD 假定字型為 TrueType 類型。之後還必須建立一份安裝檔案 (ttf-fontname.install) 更新字型快取:

post_install() {
  echo -n "Updating font cache... "
  fc-cache -fs >/dev/null
  mkfontscale /usr/share/fonts/TTF /usr/share/fonts/Type1
  mkfontdir /usr/share/fonts/TTF /usr/share/fonts/Type1
  echo "done"
}

post_upgrade() {
  post_install
}

post_remove() {
  post_install
}

若需要更方便的 ttf 字型建立方式,可以使用 AUR 提供的 makefontpkgAUR

手動安裝

要為系統新增一個軟體庫未收錄的字型,建議方法是#建立軟體包。採用這個方式讓 pacman 之後能夠移除或升級字型。不過您也可以用手動的方式安裝字型。

若要將字型安裝到系統 (讓所有使用者都能使用),將字型資料夾移至 /usr/share/fonts/ 目錄。如果只要為單一使用者安裝字型,則改移至 ~/.fonts/ 目錄。

要讓 X 伺服器可以直接載入字型 (不使用「字型伺服器」),需要將新增字型的所在目錄加為 FontPath 項目。這個項目位在您的 Xorg 設定檔案 (例如 /etc/X11/xorg.conf/etc/xorg.conf) 的 Files 區。更多詳細資訊請參閱#讓字型搭配 X.Org

接著更新 fontconfig 字型快取:

$ fc-cache -vf

手動安裝:進階方式

如果您有特殊的字型收集需求:使用商業字型、使用不同格式的字型、安裝/移除字型檔相當頻繁,或只是希望可以更能夠控制存取自己的字型資源,那就相當適合用手動的方式來安裝維護字型。採用這種方案會獲得很多好處:

  • 避免重複安裝不同版本、格式的同一種字型家族 (一個常見原因是算繪問題)。
  • 字型可使用多個非標準的實體來源 (例如額外的硬碟、分割區)。
  • 避免依賴隱晦又佔體積的本地字型來源 (例如 TeX Live & 09-texlive-fonts.conf,或是從 AUR 抓下來的某個字型集合);您可能只需要其中 5 種字型,卻連帶安裝其它 55 種不需要的字型。
  • 避免字型算繪問題,因為您的 fontconfig 設定檔已被調成和與安裝在系統的那份不同的格式。
  • 只要觀察主字型目錄下的內容,就能夠確定系統上有哪種格式的字型家族可供應用程式使用。您不需要複雜、佔用大量資源的字型管理程式;gtk2fontsel 和基本的指令工具 (如 fontconfig 軟體包下的 fc-query) 就可以將這件差事辦得又快又好。
  • 當您安裝或升級單一字型,所有應用程式都可以使用該版本,包含 LaTeX 相關軟體。
  • 有必要的話,可以快速啟用 / 停用某個字型家族,因為您知道它們在哪個目錄下 (除錯時很好用)。
  • 不需擔心有任何多餘的 /etc/fonts/conf.avail/nn-foo.conf fontconfig 檔案會潛在跟您的算繪設定起衝突 (特別是當您使用自訂的字型設定與修補過的函式庫)。
  • 長遠來看,可以省下那些因軟體包管理者的失誤,解決問題和清除衝突所浪費的寶貴時間。

實作上有幾種方式,有必要的話可由任何軟體包管理員採用。以下所舉出的實作方式相當有效率,即使字型數目眾多也相當安全。

  • 我們要將字型來源位置 (例如 /usr/share/fonts.avail:這是我們要存放字型的位置) 和包含字型家族軟連結的目錄 (/usr/share/fonts) 給分隔開來。
  • 將每個字型家族分別放在一個明確命名的子目錄下。命名規則必須一致且明確,例如這樣:
<ttf|otf|t1>-<字型作者或組織(選用)>-<字型家族名稱>

字型來源目錄的內容會長得像這樣:

$ ls /usr/share/fonts.avail

/usr/share/fonts.avail/otf-heuristica
/usr/share/fonts.avail/ttf-liberation
/usr/share/fonts.avail/ttf-ms-arial
...
  • 我們不會動到 TeX Live 的字型目錄,以避免 LaTeX 軟體發生任何問題。既然我們可以使用多個位置,我們將在 /usr/share/fonts 建立軟連結,讓應用程式可以存取特定的字型家族:
# cd /usr/share/fonts
# ln -s ../fonts.avail/otf-heuristica .
# ln -s /opt/texlive/texmf-dist/fonts/truetype/public/opensans ttf-texlive-open.sans

結果如下:

$ ls /usr/share/fonts

ttf-liberation        -> ..fonts.avail/ttf-liberation
ttf-ms-arial          -> ..fonts.avail/ttf-ms-arial
otf-heuristica        -> ..fonts.avail/otf-heuristica
otf-texlive-tex.gyre  -> /opt/texlive/texmf-dist/fonts/opentype/public/tex-gyre
ttf-texlive-open.sans -> /opt/texlive/texmf-dist/fonts/truetype/public/opensans
...

最後,依照慣例執行:

# fc-cache && mkfontscale && mkfontdir

TeX Live Wiki 文章內也有一個類似做法,比較簡單,但較適用於單一使用者的情境,而非全域設定。

舊版應用程式

對於不支援 fontconfig 的舊版應用程式 (例如 GTK+ 1.x 應用程式和 xfontsel),必須在字型目錄下建立索引:

$ mkfontscale
$ mkfontdir

或者,用一行指令將多個資料夾包含進來:

$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash

有時候 X 伺服器會無法成功載入字型資料夾,這時您需要重新掃描所有 fonts.dir 檔案:

# xset +fp /usr/share/fonts/misc # 告知 X 伺服器新的目錄
# xset fp rehash                # 強制進行新的掃描

檢查字型是否被包含進來:

$ xlsfonts | grep fontname

Pango 警告訊息

若您的系統有在使用 Pango,它會從 fontconfig 讀取字型來源。

(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'

如果您看到與上面類似的錯誤,或者應用程式內的字元變成了方框,您需要新增字型並更新字型快取。這個範例使用 ttf-liberation 字型演示,並以 root 執行以套用至全系統。

# pacman -S ttf-liberation
  -- 略過部分輸出,假設安裝已經成功 -- 

# fc-cache -vfs
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs
/usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs
/var/cache/fontconfig: cleaning cache directory   
fc-cache: succeeded

您可以測試預設字型是否已經設置:

# fc-match
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"

讓字型搭配 X.Org

為了讓 Xorg 可以找到並使用您新安裝的字型,必須將字型路徑加入 /etc/X11/xorg.conf (另一個 X.Org 設定檔也可以)。

這是必須加入 /etc/X11/xorg.conf 的範例內容。根據您的字型需求新增/移除路徑。

# 讓 X.Org 知道自訂字型目錄
Section "Files"
    FontPath    "/usr/share/fonts/100dpi"
    FontPath    "/usr/share/fonts/75dpi"
    FontPath    "/usr/share/fonts/cantarell"
    FontPath    "/usr/share/fonts/cyrillic"
    FontPath    "/usr/share/fonts/encodings"
    FontPath    "/usr/share/fonts/local"
    FontPath    "/usr/share/fonts/misc"
    FontPath    "/usr/share/fonts/truetype"
    FontPath    "/usr/share/fonts/TTF"
    FontPath    "/usr/share/fonts/util"
EndSection

終端機字型

虛擬終端機使用核心內建字型,預設顯示 ASCII 字元,這兩種設定都可以輕易改變。

終端機字型限定為 256 或 512 個字元。可供使用的字型存放在 /usr/share/kbd/consolefonts/ 目錄。

鍵盤映射 (Keymap) 是按鍵和電腦使用字元的對應關係表,可以在 /usr/share/kbd/keymaps/ 的子目錄下找到。

預覽和測試

提示: 一個整理過的預覽影像資料庫:Linux 終端機字型截圖

showconsolefont 指令會以表格形式顯示可用字與字元:

$ showconsolefont

setfont 工具可以暫時改變字型,讓使用者可以決定是否要採為預設值。只要指定字型名稱即可 (這些字型位於 /usr/share/kbd/consolefonts/):

$ setfont Lat2-Terminus16

您可以用 -m 選項指定使用什麼字元集:

$ setfont Lat2-Terminus16 -m 8859-2

如果對新換的字型不滿意,用以下指令可以還原至預設字型 (就算終端機顯示亂碼,這個指令依然可以執行 -- 將指令「盲打」進去即可):

$ setfont
註記: setfont 只作用於目前正在使用的終端機。其它終端機無論活躍與否都不受影響。

更改預設字型

/etc/vconsole.confFONTFONT_MAP 變數可用來改變預設字型。

若要顯示 Č, ž, đ, šŁ, ę, ą, ś 之類的字元,使用 lat2-16.psfu.gz 這個字型:

FONT=lat2-16

這代表使用 ISO/IEC 8859 字元的第二部分,大小設定為 16。您可以使用其它值更改字型大小 (如 lat2-08)。您可以在維基百科的這張表查詢 8859 規格定義的區域。如果您經常在沒有 X 伺服器的終端機上工作,建議可以使用一種 Terminus 字型。比如說 ter-216b,代表包含 latin-2 部分,大小 16,粗體字。ter-216n 是正常磅數的版本。Terminus 字型大小最大可以到 32。

現在設定適當的字型映射,若使用 lat2-16 則會是:

FONT_MAP=8859-2

若要為早期的使用者空間套用指定字型,在 /etc/mkinitcpio.conf 使用 keymap 勾子。更多資訊請參閱 Mkinitcpio#HOOKS

如果開機時字型沒有任何變化,或只變化一下就回復原樣,則有可能是因為圖形驅動啟動時字型被重設,然後終端機被切至幀緩衝 (framebuffer)。提早載入圖形驅動可以避免這個問題。若要在套用 /etc/vconsole.conf 之前將幀緩衝準備好,請參閱核心模式設定#提早啟動 KMS[1] 或其它方式。

字型軟體包

以下是收錄於官方軟體庫和 AUR 的字型軟體包列表,種類繁多,可依照需求選用。若字型有廣泛的萬國碼 (Unicode) 支援,會加註 "Unicode" 標記,詳情請參閱字型專案或相關的維基百科頁面。

一位 Github 使用者 Ternstor 用 python 腳本產生 extra, communityAUR 庫內字型的 PNG 圖像,您可以在那裡預覽以下所提到的字型。

盲文點字

國際 (非英語系) 使用者

應用程式與瀏覽器會根據 fontconfig 設定和 Unicode 文字可用的字型來選擇其顯示字型。用指令 fc-list :lang="雙字母的語言代碼" 列舉系統安裝了哪些可對應該語言的字型。例如,列舉已經安裝的阿拉伯文字型,以及支援阿拉伯字的字型:

$ fc-list :lang=ar | cut -d: -f1
/usr/share/fonts/TTF/FreeMono.ttf
/usr/share/fonts/TTF/DejaVuSansCondensed.ttf
/usr/share/fonts/truetype/custom/DroidKufi-Bold.ttf
/usr/share/fonts/TTF/DejaVuSansMono.ttf
/usr/share/fonts/TTF/FreeSerif.ttf

若要在多國語言的網站 (如維基百科、Arch Linux wiki) 正確描繪字形,安裝這些軟體包:ttf-freefont, ttf-arphic-uming, ttf-baekmuk

阿拉伯文和烏爾都文

緬甸文

中日韓越

中文
  • ttf-twAUR - 台灣 (中華民國) 教育部標準楷書、宋體字型 (AUR)
  • wqy-microhei - 無襯線形式的高品質中日韓越 (CJKV) 輪廓字型。
  • wqy-zenhei - 黑體 (無襯線) 的中文輪廓字型,附帶點陣宋體 (也支援部分日韓字元)。
  • ttf-arphic-ukai - 楷書 (帶有筆觸) Unicode 字型 (建議啟用反鋸齒)
  • ttf-arphic-uming - 明體 (印刷) Unicode 字型
  • opendesktop-fonts - 新宋字型,之前為 ttf-fireflysung
  • wqy-bitmapfont - 點陣宋體 (襯線) 中文字型
  • ttf-hannom - 中文、越南文 TrueType 字型
日文
  • otf-ipafont - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja.
  • ttf-vlgothicAUR - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux (AUR)
  • ttf-mplusAUR - Modern Gothic style Japanese outline fonts. It includes all of Japanese Hiragana/Katakana, Basic Latin, Latin-1 Supplement, Latin Extended-A, IPA Extensions and most of Japanese Kanji, Greek, Cyrillic, Vietnamese with 7 weights (proportional) or 5 weights (monospace). (AUR)
  • ttf-ipa-monaAUR, ttf-monapoAUR - Japanese fonts to show 2channel Shift JIS art properly. (AUR)
  • ttf-sazanami - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environments.
韓文

西里爾文

Also see #Monospaced, #Sans-serif and #Serif

希臘文

Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:

  • otf-gfsAUR - Selection of OpenType fonts from the Greek Font Society (AUR)
  • ttf-mgopenAUR - Professional TrueType fonts from Magenta (AUR)

希伯來文

  • culmusAUR - Nice collection of free Hebrew fonts (AUR)

印地文

(This one contains a "look of disapproval" that might be more to your liking than the bdf-unifont one mentioned elsewhere in this document)
  • lohit-fontsAUR - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) (AUR)

高棉文

僧伽羅文

塔米爾文

藏文

數學

Microsoft 字型

參閱微軟字型

Apple Mac OS X 字型

  • ttf-mac-fontsAUR - Mac OS X TrueType 字型
  • ttf-macAUR - Mac OS X TrueType 字型。這個軟體包沒有內含 ttf 字型 (只有 otf 字型),使用者必須自備這些字型。

等寬

有一些建議要給各位。每個使用者所偏好的字型不同,因此要找到您心目中的理想字型,就請多加嘗試。 如果您沒有太多時間,可以閱讀 Dan Benjamin 的部落格文章:Top 10 Programming Fonts (前十名適合寫程式的字型)。

這裡有 Trevor Lowing 整理的一長串字型清單:http://www.lowing.org/fonts/

TrueType

點陣

無襯線

Script

襯線

未分類

X11 的字型採用順序

Fontconfig 會自動選擇符合目前需求的字型。這麼說好了,假設有一個包含英文和中文的視窗,如果預設字型不支援中文,就會換成有中文字支援的字型來顯示。

Fontconfig 透過 $XDG_CONFIG_HOME/fontconfig/fonts.conf,讓每個使用者都可以設定自己的偏好順序。 如果您希望在自己偏好的襯線字體後面加上一種中文字型當候補,檔案會看起來像這樣:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
   <family>serif</family>
   <prefer>
     <family>您偏好的拉丁字襯線字型名稱</family>
     <family>您的中文字型名稱e</family>
   </prefer>
 </alias>
</fontconfig>

您也可以新增無襯線和等寬字型的部分。更多資訊可參考 fontconfig 手冊。

字型別名

Linux 下有數個字型別名,實際上它們指向別的真實字型,這是為了讓所有應用程式使用的字型能夠相似。最常見的別名有:serif 襯線字型 (如 DejaVu Serif);sans-serif 無襯線字型 (如 DejaVu Sans);以及 monospace 等寬字型 (如 DejaVu Sans Mono)。不過這些別名所代表的字型可能會有變化,且通常它們不會顯示在 KDE 和其他桌面環境的字型管理工具之中。

若要查詢別名所代表的字型,執行:

$ fc-match monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

在上面的範例中,DejaVuSansMono.ttf 是 monospace 別名所指向的字型。

小提示

從官方軟體庫安裝字型

您可以將官方軟體倉庫有提供的字型全部抓下來安裝。

所有字型
# pacman -S $(pacman -Ssq font)
所有 TrueType 字型
# pacman -S $(pacman -Ssq ttf)

應用程式專用的字型快取

Matplotlib (python-matplotlibpython2-matplotlib) 使用自己的字型快取,因此更新字型後記得移除 $HOME/.matplotlib/fontList.cache,這樣它才會再產生一次快取並找到新字型 [2]

另請參閱