Difference between revisions of "Fonts (简体中文)"
(→'''3 常见不合版权的中文字体''') |
(Sync to latest English version.) |
||
(43 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:简体中文]] |
+ | [[Category:Fonts (简体中文)]] | ||
+ | [[Category:Graphics and desktop publishing (简体中文)]] | ||
+ | [[cs:Fonts]] | ||
+ | [[en:Fonts]] | ||
+ | [[es:Fonts]] | ||
+ | [[it:Fonts]] | ||
+ | [[ru:Fonts]] | ||
+ | [[tr:Yazıtipleri]] | ||
+ | [[zh-TW:Fonts]] | ||
+ | {{TranslationStatus (简体中文)|Fonts|2012-10-11|227928}} | ||
+ | {{Translateme (简体中文)}} | ||
+ | {{Article summary start|摘要}} | ||
+ | {{Article summary text|包含了在 Arch Linux 中安装和使用字体的信息}} | ||
+ | {{Article summary heading|合法性}} | ||
+ | {{Article summary text|某些字体包可能会遇到一些法律限制。}} | ||
+ | {{Article summary heading|相关页面}} | ||
+ | {{Article summary wiki|Font Configuration (简体中文)}} | ||
+ | {{Article summary wiki|Java Fonts - Sun JRE}} | ||
+ | {{Article summary wiki|MS Fonts}} | ||
+ | {{Article summary end}} | ||
+ | From [[Wikipedia:Computer font|Wikipedia]]: | ||
+ | :''A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.'' | ||
+ | == 字体类型 == | ||
+ | 大多数当代电脑使用的不是点阵字体就是矢量字体。 | ||
+ | ;点阵字体: 每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16px 这样小的汉字,点阵字体常常比其它类型的字体在屏幕上更好的显示效果。常见的点阵字体有 bdf,pcf,fnt,hbf 等格式。 | ||
+ | ;矢量字体: 使用贝塞尔曲线, 绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。 | ||
+ | === 通用类型 === | ||
− | + | * {{ic|bdf}} and {{ic|bdf.gz}} – 点阵字体,“b”代表点阵,“d”代表布局,“f”代表形式,用gzip压缩 {{ic|bdf}}。 | |
+ | * {{ic|pcf}} and {{ic|pcf.gz}} – 点阵字体,“p”代表可移植,“c”代表编译 “f”代表字体,用gzip压缩 {{ic|pcf}}。 | ||
+ | * {{ic|psf}},{{ic|psfu}},{{ic|psf.gz}} and {{ic|psfu.gz}} – 点阵字体,“PC”,“s”代表屏幕,“f”代表字体,“PC”,“s”代表屏幕,“f”代表字体,“U”代表Unicode,用gzip压缩(不适用于X.Org)。 | ||
+ | * {{ic|pfa}} and {{ic|pfb}} – 矢量字体,“P”代表PostScript,“f”代表字体,“A”代表ASCII。“P”代表PostScript,“f”代表字体,“b”代表二进制。PostScript字体包含内嵌打印令。 | ||
+ | * {{ic|ttf}} – outline,“T”rue“T”ype,“f”代表字体。作为PostScript字体的替代。 | ||
+ | * {{ic|otf}} – outline,“O”pen“T”ype,“f”代表字体。带有PostScript打印指令的TrueType字体。 | ||
− | + | 在多数情况下,TrueType和OpenType的技术差异可以忽略,一些带有{{ic|ttf}}扩展的字体实际上是OpenType字体。 | |
− | = | + | === 其它类型 === |
− | + | 排版程序“TeX”和配套的字体软件“Metafont”用它们自己的方法渲染字体。一些用于这两个程序的字体的文件后缀是{{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} and {{ic|vf}}。 | |
− | + | “FontForge”, 一个字体编辑程序,可能用自己的格式来储存字体,例如{{ic|sfd}}, “s”代表线条,“f”代表字体,“d”代表数据库。 | |
− | + | [http://www.w3.org/TR/SVG/fonts.html SVG]格式也有自己的字体描述方法 | |
− | == | + | == Installation == |
− | + | There are various methods for installing fonts. | |
− | == | + | === Pacman === |
− | + | Fonts and font collections in the enabled repositories can be installed using [[Pacman|pacman]]. Available fonts may be found by using: | |
+ | $ pacman -Ss font | ||
+ | Or to search for {{ic|ttf}} fonts only: | ||
+ | $ pacman -Ss ttf | ||
− | + | Some fonts like terminus are installed in {{ic|/usr/share/fonts/local}}, which is not added to the font path by default. By adding the following lines to {{ic|~/.xinitrc}} the fonts can be used in X11: | |
+ | {{bc| | ||
+ | xset +fp /usr/share/fonts/local | ||
+ | xset fp rehash | ||
+ | }} | ||
− | + | === Creating a package === | |
− | |||
− | + | If you want to give pacman the ability to manage your fonts, you can create an Arch package. These can also be shared with the community in the [[AUR]]. Here is an example of how to create a basic package. To learn more about building packages, read [[PKGBUILD]]. | |
− | + | {{bc|<nowiki> | |
+ | pkgname=ttf-fontname | ||
+ | pkgver=1.0 | ||
+ | pkgrel=1 | ||
+ | depends=('fontconfig' 'xorg-font-utils') | ||
+ | pkgdesc="custom fonts" | ||
+ | arch=('any') | ||
+ | source=(http://someurl.org/$pkgname.tar.bz2) | ||
+ | install=$pkgname.install | ||
+ | build() | ||
+ | { | ||
+ | mkdir -p $pkgdir/usr/share/fonts/TTF | ||
+ | cp $srcdir/$pkgname/*.ttf $pkgdir/usr/share/fonts/TTF | ||
+ | } | ||
+ | </nowiki>}} | ||
+ | This PKGBUILD assumes the fonts are TrueType. An install file ({{ic|ttf-fontname.install}}) will also need to be created to update the font cache: | ||
− | + | {{bc|<nowiki> | |
+ | 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 | ||
+ | } | ||
+ | </nowiki>}} | ||
− | + | === Manual installation === | |
+ | The recommended way of adding fonts that are not in the repositories to your system is described in [[#Creating a package]]. This gives pacman the ability to remove or update them at a later time. Fonts can alternately be installed manually as well. | ||
− | + | To install fonts system-wide (available for all users), move the folder to the {{ic|/usr/share/fonts/}} directory. To install fonts for only a single user, use {{ic|~/.fonts/}} instead. | |
− | + | Also you may need to update {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}} with the new directory. Search for {{ic|FontPath}} to find the correct location within the file to add your new path. See [[#Fonts with X.Org]] for more detail. | |
− | + | Then update the fontconfig font cache: | |
− | + | $ fc-cache -vf | |
− | + | ==== Older applications ==== | |
− | + | With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and {{ic|xfontsel}}) the index will need to be created in the font directory: | |
− | + | $ mkfontscale | |
+ | $ mkfontdir | ||
− | + | Or to include more than one folder with one command: | |
− | + | $ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash | |
− | + | At times the X server may fail to load the fonts directory and you will need to rescan all the {{ic|fonts.dir}} files: | |
+ | # xset +fp /usr/share/fonts/misc # Inform the X server of new directories | ||
+ | # xset fp rehash # Forces a new rescan | ||
− | + | To check that the font(s) is included: | |
+ | $ xlsfonts | grep fontname | ||
− | == | + | === Pango Warnings === |
+ | 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. | ||
+ | (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' | ||
− | + | 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. | |
− | DejaVu fonts[ | + | # pacman -S ttf-liberation |
+ | -- output abbreviated, assumes installation succeeded -- | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | You can test for a default font being set like so: | ||
+ | |||
+ | # fc-match | ||
+ | LiberationMono-Regular.ttf: "Liberation Mono" "Regular" | ||
+ | |||
+ | === Fonts with 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). | ||
+ | |||
+ | 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. | ||
+ | # Let X.Org know about the custom font directories | ||
+ | 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 | ||
+ | |||
+ | ==Font packages== | ||
+ | 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. | ||
+ | |||
+ | ===Braille=== | ||
+ | *{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille'' | ||
+ | |||
+ | ===International users=== | ||
+ | |||
+ | ====Arabic==== | ||
+ | *{{AUR|ttf-sil-lateef}} - Unicode Arabic font from SIL ''(AUR)'' | ||
+ | *{{AUR|ttf-sil-scheherazade}} - Unicode Arabic font from SIL ''(AUR)'' | ||
+ | *{{AUR|ttf-arabeyes-fonts}} - Collection of free Arabic fonts ''(AUR)'' | ||
+ | |||
+ | ====Birman==== | ||
+ | *{{AUR|ttf-myanmar3}} - Font for Myanmar/Burmese script ''(AUR)'' | ||
+ | |||
+ | ====Chinese, Japanese, Korean, Vietnamese==== | ||
+ | |||
+ | =====(Mainly) Chinese===== | ||
+ | *{{AUR|ttf-tw}} -(繁體字)國字標準字體(楷書/宋體)母稿——中華民國教育部''(AUR)''. | ||
+ | *{{AUR|wqy-microhei}} - 一种Sans-Serif风格的高质量CJK轮廓字体。"(AUR)'' | ||
+ | *{{Pkg|wqy-zenhei}} - 嵌入点阵宋体的黑体风格(sans-serif)中文轮廓字体(也支持部分日文和韩文). | ||
+ | *{{Pkg|ttf-arphic-ukai}} - 楷體 Kaiti (brush stroke) unicode TTFonts (建议开启抗锯齿) | ||
+ | *{{Pkg|ttf-arphic-uming}} - 明體 Mingti (打印) unicode TTFonts | ||
+ | *{{Pkg|opendesktop-fonts}} - ''新宋'' 字体, 之前是 ttf-fireflysung 软件包 | ||
+ | *{{Pkg|wqy-bitmapfont}} - 中文点阵宋体(serif) | ||
+ | *{{Pkg|ttf-hannom}} - 中文和越南文TrueType字体 | ||
+ | |||
+ | =====Japanese===== | ||
+ | *{{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)'' | ||
+ | *{{AUR|ttf-vlgothic}} - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux ''(AUR)'' | ||
+ | *{{AUR|ttf-mplus}} - 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-mona}}, {{AUR|ttf-monapo}} - Japanese fonts to show [http://en.wikipedia.org/wiki/2channel_Shift_JIS_art 2channel Shift JIS art] properly. ''(AUR)'' | ||
+ | *{{Pkg|ttf-sazanami}} - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environment. | ||
+ | |||
+ | =====Korean===== | ||
+ | *{{Pkg|ttf-baekmuk}} - Collection of Korean TrueType fonts | ||
+ | *{{AUR|ttf-alee}} - Set of free Hangul TrueType fonts (''AUR'') | ||
+ | *{{AUR|ttf-unfonts-core}} - Un fonts (default Baekmuk fonts may be unsatisfactory) (''AUR'') | ||
+ | *{{AUR|ttf-nanum}} - Nanum series TrueType fonts (''AUR'') | ||
+ | *{{AUR|ttf-nanumgothic_coding}} - Nanum series fixed width TrueType fonts (''AUR'') | ||
+ | |||
+ | ====Cyrillic==== | ||
+ | ''Also see [[#Monospace]], [[#Sans]] and [[#Serif]]'' | ||
+ | *{{AUR|font-arhangai}} - Mongolian Cyrillic (''AUR'') | ||
+ | *{{AUR|ttf-pingwi-typography}} - PingWi Typography (PWT) fonts (''AUR'') | ||
+ | |||
+ | ====Greek==== | ||
+ | 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: | ||
+ | *{{AUR|otf-gfs}} - Selection of OpenType fonts from the Greek Font Society ''(AUR)'' | ||
+ | *{{AUR|ttf-mgopen}} - Professional TrueType fonts from Magenta ''(AUR)'' | ||
+ | |||
+ | ====Hebrew==== | ||
+ | *{{AUR|culmus}} - Nice collection of free Hebrew fonts | ||
+ | |||
+ | ====Indic==== | ||
+ | *{{Pkg|ttf-freebanglafont}} - Font for Bangla | ||
+ | *{{Pkg|ttf-indic-otf}} - Indic OpenType Fonts collection (containing ttf-freebanglafont) | ||
+ | :(This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document) | ||
+ | * {{Pkg|lohit-font}} - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) ''(AUR)'' | ||
+ | |||
+ | ====Khmer==== | ||
+ | *{{Pkg|ttf-khmer}} - Font covering glyphs for Khmer language | ||
+ | *[http://code.google.com/webfonts/family?family=Hanuman&subset=khmer Hanuman] ({{AUR|ttf-google-webfonts}}) | ||
+ | |||
+ | ====Sinhala==== | ||
+ | *{{AUR|ttf-lklug}} - Sinhala Unicode font (''AUR'') | ||
+ | |||
+ | ====Tamil==== | ||
+ | *{{AUR|ttf-tamil}} - Tamil Unicode fonts (''AUR'') | ||
+ | |||
+ | ====Thai==== | ||
+ | *{{Pkg|ttf-thai}} - Font covering glyphs for Thai | ||
+ | ====Tibetan==== | ||
+ | *{{Pkg|ttf-tibetan-machine}} - Tibetan Machine TTFont | ||
+ | |||
+ | ===Math=== | ||
+ | *{{Pkg|font-mathematica}} - Mathematica fonts by Wolfram Research, Inc. | ||
+ | *{{AUR|ttf-mathtype}} - MathType fonts ''(AUR)'' | ||
+ | *{{AUR|ttf-computer-modern-fonts}} - ''(AUR)'' | ||
+ | |||
+ | ===Microsoft fonts=== | ||
+ | See [[MS Fonts]]. | ||
+ | |||
+ | ===Apple Mac OS X fonts=== | ||
+ | *{{AUR|ttf-mac}} - Mac OS X TrueType fonts. ''(AUR)'' | ||
+ | |||
+ | ===Monospaced=== | ||
+ | Here are some suggestions. Every user has their own favorite, so experiment to find yours. | ||
+ | If you're in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts'']. | ||
+ | |||
+ | Here's a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/. | ||
+ | |||
+ | ====TrueType==== | ||
+ | * [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}}) | ||
+ | * Anka/Coder ({{AUR|ttf-anka-coder}}) | ||
+ | * Anonymous Pro ({{AUR|ttf-anonymous-pro}}, included in {{AUR|ttf-google-webfonts}}) | ||
+ | * [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}}) | ||
+ | * [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) | ||
+ | * [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}}) | ||
+ | * Cousine ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible) | ||
+ | * [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode | ||
+ | * [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}}) | ||
+ | * Envy Code R ({{AUR|ttf-envy-code-r}}) | ||
+ | * [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode | ||
+ | * [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) | ||
+ | * [[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:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}}) | ||
+ | * [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}}) | ||
+ | * [[Wikipedia:Monaco (typeface)|Monaco]] ({{Pkg|monaco-linux-font}}) | ||
+ | * Monofur ({{AUR|ttf-monofur}}) | ||
+ | |||
+ | ====Bitmap==== | ||
+ | *Default 8x16 | ||
+ | *Dina ({{Pkg|dina-font}}) | ||
+ | *Lime ({{Pkg|artwiz-fonts}}) | ||
+ | *[[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}}) | ||
+ | *[[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}}) | ||
+ | *Proggy opti cyrillic ({{AUR|proggyopticyr-font}}) | ||
+ | *Tamsyn ({{AUR|tamsyn-font}}) | ||
+ | *[[Wikipedia:Terminus (typeface)|Terminus]] ({{Pkg|terminus-font}}) | ||
+ | *Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}}) | ||
+ | |||
+ | ===Sans-serif=== | ||
+ | |||
+ | *[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}}, included in {{AUR|ttf-sil-fonts}}) | ||
+ | *[[Wikipedia:Arial|Arial]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:Arial Black|Arial Black]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *Arimo ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Arial (metric-compatible) | ||
+ | *[[Wikipedia:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}}) | ||
+ | *[[Wikipedia:Candara|Candara]] ({{AUR|ttf-vista-fonts}}) | ||
+ | *[[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}}) | ||
+ | *[[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}}) | ||
+ | *[[Wikipedia:DejaVu fonts|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode | ||
+ | *[[Wikipedia:Droid (font)|Droid Sans]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}}) | ||
+ | *[[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode | ||
+ | *[[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}}, improved/reworked Cyrillic: {{Pkg|ttf-liberastika}}) - Alternative to Arial (metric-compatible) | ||
+ | *[[Wikipedia:Liberation fonts|Liberation Sans Narrow]] ({{Pkg|ttf-liberation}}) - Alternative to Arial Narrow (metric-compatible) | ||
+ | *[[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}}) | ||
+ | *[[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-webfonts}}) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic | ||
+ | *[[Wikipedia:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}}) | ||
+ | *[[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:Ubuntu-Title|Ubuntu-Title]] ({{AUR|ttf-ubuntu-title}}) | ||
+ | *[[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}}) | ||
+ | *[[Wikipedia:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}}) | ||
+ | |||
+ | ===Script=== | ||
+ | |||
+ | *[[Wikipedia:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}}) | ||
+ | |||
+ | ===Serif=== | ||
+ | *[[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}}) | ||
+ | *[[Wikipedia:Charis SIL|Charis]] ({{AUR|ttf-charis}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic | ||
+ | *[[Wikipedia:DejaVu fonts|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode | ||
+ | *[[Wikipedia:Doulos SIL|Doulos]] ({{AUR|doulos-sil}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic | ||
+ | *[[Wikipedia:Droid (font)|Droid Serif]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}}) | ||
+ | *[[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode | ||
+ | *[[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet | ||
+ | *[[Wikipedia:Georgia (typeface)|Georgia]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *[[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - Alternative to Times New Roman (metric-compatible) | ||
+ | *[[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode: Latin, Greek, Cyrillic, Hebrew | ||
+ | *[[Wikipedia:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}}) | ||
+ | *Tinos ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible) | ||
+ | |||
+ | ===Unsorted=== | ||
+ | <!--This section should be absorbed into the Monospace/Serif/Sans-Serif structure--> | ||
+ | *{{AUR|ttf-google-webfonts}} and {{AUR|ttf-google-webfonts-hg}} — a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added ''(AUR)'' | ||
+ | *{{Pkg|ttf-mph-2b-damase}} — Covers full plane 1 and several scripts | ||
+ | *{{AUR|ttf-symbola}} — Provides emoji and many many other symbols. ''(AUR)'' | ||
+ | *{{AUR|ttf-sil-fonts}} — Gentium, Charis, Doulos, Andika and Abyssinica from SIL ''(AUR)'' | ||
+ | *{{Pkg|font-bh-ttf}} — X.Org Luxi fonts | ||
+ | *{{Pkg|ttf-cheapskate}} — Font collection from ''dustismo.com'' | ||
+ | *{{Pkg|ttf-isabella}} — Calligraphic font based on the ''Isabella Breviary'' of 1497 | ||
+ | *{{Pkg|ttf-junicode}} — Junius font containing almost complete medieval latin script glyphs | ||
+ | *arkpandorafonts {{AUR|ttf-arkpandora}} — Alternative to Arial and Times New Roman fonts ''(AUR)'' | ||
+ | *{{Pkg|xorg-fonts-type1}} — IBM Courier and Adobe Utopia sets of [[Wikipedia:PostScript fonts|PostScript fonts]] | ||
+ | |||
+ | ==Console fonts== | ||
+ | |||
+ | The console, meaning a terminal running with no ''X'' Window System, uses the ASCII character set as the default. This font and the keymap used are easily changed. | ||
+ | |||
+ | A console font is limited to either 256 or 512 characters. The fonts are found in {{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/}}. | ||
+ | |||
+ | === Previewing and testing === | ||
+ | |||
+ | An organized library of images for previewing is available at http://alexandre.deverteuil.net/consolefonts/consolefonts.html. | ||
+ | |||
+ | Moreover, the user can use {{ic|setfont}} to temporarily change the font and be able to consider its use as the default. The available ''glyphs ''or letters in the font can also be viewed as a table with the command {{ic|showconsolefont}}. | ||
+ | |||
+ | If the newly changed font is not suitable, a return to the default font is done by issuing the command {{ic|setfont}} without any arguments. If the console display is totally unreadable, this command will still work—the user just types in {{ic|setfont}} while "working blind." | ||
− | + | Note that {{ic|setfont}} only works on the console currently being used. Any other consoles, active or inactive, remain unaffected. | |
+ | ==== Examples ==== | ||
− | + | Change the font. This example is distinctive: | |
+ | $ setfont /usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz | ||
+ | Or change the font to one with 512 glyphs and set the keymap to ''ISO 8859-5'' using the {{ic|-m}} option: | ||
+ | $ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz -m 8859-5 | ||
− | + | Then issue commands that send text to the display, perhaps view a ''manpage'' and try ''vi'' or ''nano'', and view the table of glyphs with the command, {{ic|showconsolefont}}. | |
− | |||
− | |||
+ | Return to the default font with: | ||
+ | $ setfont | ||
− | == | + | === Changing the default font === |
+ | To change the default font, the {{ic|FONT<nowiki>=</nowiki>}} and {{ic|FONT_MAP<nowiki>=</nowiki>}} settings in {{ic|/etc/vconsole.conf}} (this file may need to be created) must be altered. Again, the fonts can be found in {{ic|/usr/share/kbd/consolefonts/}} directory and keymaps can be found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}. | ||
− | ''' | + | ==== Examples ==== |
+ | For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}: | ||
+ | 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 like lat2-08...16. For the regions determined by 8859 specification, look at the [http://en.wikipedia.org/wiki/ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859 Wikipedia]. 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. | ||
− | + | Now, set the proper keymap, for lat2-16 it will be: | |
+ | FONT_MAP=8859-2 | ||
− | + | To use the specified font in early userspace, that is, early in the bootup process, add the {{ic|consolefont}} hook to {{ic|/etc/mkinitcpio.conf}}: | |
+ | HOOKS="base udev autodetect pata scsi sata filesystems '''consolefont''' '''keymap'''" | ||
+ | Then rebuild the image: | ||
+ | # mkinitcpio -p linux | ||
− | + | {{Note|The above steps must be repeated for each kernel if more than one kernel package is installed.}} | |
− | |||
− | + | See [[Mkinitcpio#HOOKS]] for more information. | |
+ | 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 [[KMS#Early_KMS_start]] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} gets applied. | ||
− | + | ==== Boot Error ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | If "Loading Console Font" fails at boot time, this is probably because you didn't choose a valid font during your Arch Linux install. | |
+ | To get rid of this message, simply empty the {{ic|CONSOLEFONT}} variable in {{ic|/etc/rc.conf}}. It will fallback on default font at boot. | ||
− | + | == Fallback font order with 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 doesn't support it. | ||
+ | Fontconfig lets every user configure the order they want via {{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"?> | ||
+ | <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | ||
+ | <fontconfig> | ||
+ | <alias> | ||
+ | <family>serif</family> | ||
+ | <prefer> | ||
+ | <family>Your favorite Latin Serif font name</family> | ||
+ | <family>Your Chinese font name</family> | ||
+ | </prefer> | ||
+ | </alias> | ||
+ | </fontconfig> | ||
− | + | You can add a section for Sans-serif and monospaced as well. For more informations, have a look at the fontconfig manual. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | == Font alias == | ||
+ | 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. | ||
− | + | To reverse an alias and find which font it is representing, run: | |
+ | $ fc-match monospace | ||
+ | DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book" | ||
+ | In this case DejaVuSansMono.ttf is the font represented by the monospace alias. | ||
+ | ==2 英文字和中文字等宽== | ||
+ | {{Merge|Font Configuration (简体中文)|配置方法应该放入字体配置页面.}} | ||
TrueType 字体分成两种,一种是可变字距,也就是每个字符宽度不一样,比如 "x" 与 "i",这两个字符就不等宽,它是在每个字符中记录该字符的宽度,大多数的 TrueType 字体都是这种格式。 | TrueType 字体分成两种,一种是可变字距,也就是每个字符宽度不一样,比如 "x" 与 "i",这两个字符就不等宽,它是在每个字符中记录该字符的宽度,大多数的 TrueType 字体都是这种格式。 | ||
Line 194: | Line 489: | ||
<string>AR PL ShanHeiSun Uni</string> | <string>AR PL ShanHeiSun Uni</string> | ||
<string>AR PL New Sung</string> | <string>AR PL New Sung</string> | ||
− | <string> | + | <string>MingLiU</string> |
− | <string> | + | <string>PMingLiU</string> |
</test> | </test> | ||
<edit binding="strong" mode="prepend" name="family"> | <edit binding="strong" mode="prepend" name="family"> | ||
Line 207: | Line 502: | ||
</pre> | </pre> | ||
− | |||
− | |||
b. 把 AR PL ShanHeiSun Uni , AR PL New Sung 字体中12~16号的中文字用 WenQuanYi Bitmap Song 点阵字替换, WenQuanYi Bitmap Song 比 AR PL ShanHeiSun Uni , AR PL New Sung中的内嵌点阵更加完善,美观。 | b. 把 AR PL ShanHeiSun Uni , AR PL New Sung 字体中12~16号的中文字用 WenQuanYi Bitmap Song 点阵字替换, WenQuanYi Bitmap Song 比 AR PL ShanHeiSun Uni , AR PL New Sung中的内嵌点阵更加完善,美观。 | ||
Line 230: | Line 523: | ||
</match> | </match> | ||
</pre> | </pre> | ||
− | |||
− | |||
==4 使用内嵌点阵字== | ==4 使用内嵌点阵字== |
Revision as of 08:44, 11 October 2012
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end From Wikipedia:
- A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.
Contents
- 1 字体类型
- 2 Installation
- 3 Font packages
- 4 Console fonts
- 5 Fallback font order with X11
- 6 Font alias
- 7 2 英文字和中文字等宽
- 8 3 字体替换
- 9 4 使用内嵌点阵字
- 10 5 必须使用hinting的字体
字体类型
大多数当代电脑使用的不是点阵字体就是矢量字体。
- 点阵字体
- 每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16px 这样小的汉字,点阵字体常常比其它类型的字体在屏幕上更好的显示效果。常见的点阵字体有 bdf,pcf,fnt,hbf 等格式。
- 矢量字体
- 使用贝塞尔曲线, 绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。
通用类型
-
bdf
andbdf.gz
– 点阵字体,“b”代表点阵,“d”代表布局,“f”代表形式,用gzip压缩bdf
。 -
pcf
andpcf.gz
– 点阵字体,“p”代表可移植,“c”代表编译 “f”代表字体,用gzip压缩pcf
。 -
psf
,psfu
,psf.gz
andpsfu.gz
– 点阵字体,“PC”,“s”代表屏幕,“f”代表字体,“PC”,“s”代表屏幕,“f”代表字体,“U”代表Unicode,用gzip压缩(不适用于X.Org)。 -
pfa
andpfb
– 矢量字体,“P”代表PostScript,“f”代表字体,“A”代表ASCII。“P”代表PostScript,“f”代表字体,“b”代表二进制。PostScript字体包含内嵌打印令。 -
ttf
– outline,“T”rue“T”ype,“f”代表字体。作为PostScript字体的替代。 -
otf
– outline,“O”pen“T”ype,“f”代表字体。带有PostScript打印指令的TrueType字体。
在多数情况下,TrueType和OpenType的技术差异可以忽略,一些带有ttf
扩展的字体实际上是OpenType字体。
其它类型
排版程序“TeX”和配套的字体软件“Metafont”用它们自己的方法渲染字体。一些用于这两个程序的字体的文件后缀是*pk
, *gf
, mf
and vf
。
“FontForge”, 一个字体编辑程序,可能用自己的格式来储存字体,例如sfd
, “s”代表线条,“f”代表字体,“d”代表数据库。
SVG格式也有自己的字体描述方法
Installation
There are various methods for installing fonts.
Pacman
Fonts and font collections in the enabled repositories can be installed using pacman. Available fonts may be found by using:
$ pacman -Ss font
Or to search for ttf
fonts only:
$ pacman -Ss ttf
Some fonts like terminus are installed in /usr/share/fonts/local
, which is not added to the font path by default. By adding the following lines to ~/.xinitrc
the fonts can be used in X11:
xset +fp /usr/share/fonts/local xset fp rehash
Creating a package
If you want to give pacman the ability to manage your fonts, you can create an Arch package. These can also be shared with the community in the AUR. Here is an example of how to create a basic package. To learn more about building packages, read PKGBUILD.
pkgname=ttf-fontname pkgver=1.0 pkgrel=1 depends=('fontconfig' 'xorg-font-utils') pkgdesc="custom fonts" arch=('any') source=(http://someurl.org/$pkgname.tar.bz2) install=$pkgname.install build() { mkdir -p $pkgdir/usr/share/fonts/TTF cp $srcdir/$pkgname/*.ttf $pkgdir/usr/share/fonts/TTF }
This PKGBUILD assumes the fonts are TrueType. An install file (ttf-fontname.install
) will also need to be created to update the font cache:
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 }
Manual installation
The recommended way of adding fonts that are not in the repositories to your system is described in #Creating a package. This gives pacman the ability to remove or update them at a later time. Fonts can alternately be installed manually as well.
To install fonts system-wide (available for all users), move the folder to the /usr/share/fonts/
directory. To install fonts for only a single user, use ~/.fonts/
instead.
Also you may need to update /etc/X11/xorg.conf
or /etc/xorg.conf
with the new directory. Search for FontPath
to find the correct location within the file to add your new path. See #Fonts with X.Org for more detail.
Then update the fontconfig font cache:
$ fc-cache -vf
Older applications
With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and xfontsel
) the index will need to be created in the font directory:
$ mkfontscale $ mkfontdir
Or to include more than one folder with one command:
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash
At times the X server may fail to load the fonts directory and you will need to rescan all the fonts.dir
files:
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories # xset fp rehash # Forces a new rescan
To check that the font(s) is included:
$ xlsfonts | grep fontname
Pango Warnings
When Pango is in use on your system it will read from fontconfig to sort out where to source fonts.
(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'
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 ttf-liberation fonts to illustrate the solution and runs as root to enable them system-wide.
# pacman -S ttf-liberation -- output abbreviated, assumes installation succeeded -- # 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
You can test for a default font being set like so:
# fc-match LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
Fonts with X.Org
In order for Xorg to find and use your newly installed fonts, you must add the font paths to /etc/X11/xorg.conf
(another X.Org configuration file may work too).
Here is an example of the section that must be added to /etc/X11/xorg.conf
. Add or remove paths based on your particular font requirements.
# Let X.Org know about the custom font directories 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
Font packages
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.
Braille
- ttf-ubraille - Font containing Unicode symbols for braille
International users
Arabic
- ttf-sil-lateefAUR - Unicode Arabic font from SIL (AUR)
- ttf-sil-scheherazadeAUR - Unicode Arabic font from SIL (AUR)
- ttf-arabeyes-fontsAUR - Collection of free Arabic fonts (AUR)
Birman
- ttf-myanmar3AUR - Font for Myanmar/Burmese script (AUR)
Chinese, Japanese, Korean, Vietnamese
(Mainly) Chinese
- ttf-twAUR -(繁體字)國字標準字體(楷書/宋體)母稿——中華民國教育部(AUR).
- wqy-microheiAUR - 一种Sans-Serif风格的高质量CJK轮廓字体。"(AUR)
- wqy-zenhei - 嵌入点阵宋体的黑体风格(sans-serif)中文轮廓字体(也支持部分日文和韩文).
- ttf-arphic-ukai - 楷體 Kaiti (brush stroke) unicode TTFonts (建议开启抗锯齿)
- ttf-arphic-uming - 明體 Mingti (打印) unicode TTFonts
- opendesktop-fonts - 新宋 字体, 之前是 ttf-fireflysung 软件包
- wqy-bitmapfont - 中文点阵宋体(serif)
- ttf-hannom - 中文和越南文TrueType字体
Japanese
- otf-ipafontAUR - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja. (AUR)
- 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).
- 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 environment.
Korean
- ttf-baekmuk - Collection of Korean TrueType fonts
- ttf-aleeAUR - Set of free Hangul TrueType fonts (AUR)
- ttf-unfonts-coreAUR - Un fonts (default Baekmuk fonts may be unsatisfactory) (AUR)
- ttf-nanumAUR - Nanum series TrueType fonts (AUR)
- ttf-nanumgothic_codingAUR - Nanum series fixed width TrueType fonts (AUR)
Cyrillic
Also see #Monospace, #Sans and #Serif
- font-arhangaiAUR - Mongolian Cyrillic (AUR)
- ttf-pingwi-typographyAUR - PingWi Typography (PWT) fonts (AUR)
Greek
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)
Hebrew
- culmusAUR - Nice collection of free Hebrew fonts
Indic
- ttf-freebanglafont - Font for Bangla
- ttf-indic-otf - Indic OpenType Fonts collection (containing ttf-freebanglafont)
- (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-font - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) (AUR)
Khmer
- ttf-khmer - Font covering glyphs for Khmer language
- Hanuman (ttf-google-webfontsAUR)
Sinhala
- ttf-lklugAUR - Sinhala Unicode font (AUR)
Tamil
- ttf-tamilAUR - Tamil Unicode fonts (AUR)
Thai
- ttf-thai - Font covering glyphs for Thai
Tibetan
- ttf-tibetan-machine - Tibetan Machine TTFont
Math
- font-mathematica - Mathematica fonts by Wolfram Research, Inc.
- ttf-mathtypeAUR - MathType fonts (AUR)
- ttf-computer-modern-fontsAUR - (AUR)
Microsoft fonts
See MS Fonts.
Apple Mac OS X fonts
- ttf-macAUR - Mac OS X TrueType fonts. (AUR)
Monospaced
Here are some suggestions. Every user has their own favorite, so experiment to find yours. If you're in a hurry, you read Dan Benjamin's blog post: Top 10 Programming Fonts.
Here's a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.
TrueType
- Andalé Mono (ttf-ms-fontsAUR)
- Anka/Coder (ttf-anka-coderAUR)
- Anonymous Pro (ttf-anonymous-proAUR, included in ttf-google-webfontsAUR)
- Bitstream Vera Mono (ttf-bitstream-vera)
- Consolas (ttf-vista-fontsAUR)
- Courier New (ttf-ms-fontsAUR)
- Cousine (ttf-google-webfontsAUR) - Chrome/Chromium OS replacement for Courier New (metric-compatible)
- DejaVu Sans Mono (ttf-dejavu) - Unicode
- Droid Sans Mono (ttf-droid, included in ttf-google-webfontsAUR)
- Envy Code R (ttf-envy-code-rAUR)
- FreeMono (ttf-freefont) - Unicode
- Inconsolata (ttf-inconsolata)
- Inconsolata-g (ttf-inconsolata-gAUR) - adds some programmer-friendly modifications
- Liberation Mono (ttf-liberation) - Alternative to Courier New (metric-compatible)
- Lucida Console (ttf-ms-fontsAUR)
- Lucida Typewriter (included in package jre)
- Monaco (monaco-linux-font)
- Monofur (ttf-monofurAUR)
Bitmap
- Default 8x16
- Dina (dina-font)
- Lime (artwiz-fonts)
- ProFont (profont)
- Proggy Programming Fonts (proggyfontsAUR)
- Proggy opti cyrillic (proggyopticyr-fontAUR)
- Tamsyn (tamsyn-fontAUR)
- Terminus (terminus-font)
- Unifont (glyphs like (look of disapproval)) (bdf-unifont)
Sans-serif
- Andika (ttf-andikaAUR, included in ttf-sil-fontsAUR)
- Arial (ttf-ms-fontsAUR)
- Arial Black (ttf-ms-fontsAUR)
- Arimo (ttf-google-webfontsAUR) - Chrome/Chromium OS replacement for Arial (metric-compatible)
- Calibri (ttf-vista-fontsAUR)
- Candara (ttf-vista-fontsAUR)
- Constantia (ttf-vista-fontsAUR)
- Corbel (ttf-vista-fontsAUR)
- DejaVu Sans (ttf-dejavu) - Unicode
- Droid Sans (ttf-droid, included in ttf-google-webfontsAUR)
- FreeSans (ttf-freefont) - Unicode
- Impact (ttf-ms-fontsAUR)
- Liberation Sans (ttf-liberation, improved/reworked Cyrillic: ttf-liberastika) - Alternative to Arial (metric-compatible)
- Liberation Sans Narrow (ttf-liberation) - Alternative to Arial Narrow (metric-compatible)
- Linux Biolinum (ttf-linux-libertine)
- Lucida Sans (ttf-ms-fontsAUR)
- Microsoft Sans Serif (ttf-ms-fontsAUR)
- PT Sans (ttf-google-webfontsAUR) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic
- Tahoma (ttf-tahomaAUR)
- Trebuchet (ttf-ms-fontsAUR)
- Ubuntu-Title (ttf-ubuntu-titleAUR)
- Ubuntu Font Family (ttf-ubuntu-font-family)
- Verdana (ttf-ms-fontsAUR)
Script
- Comic Sans (ttf-ms-fontsAUR)
Serif
- Cambria (ttf-vista-fontsAUR)
- Charis (ttf-charisAUR, included in ttf-sil-fontsAUR) - Unicode: Latin, Cyrillic
- DejaVu Serif (ttf-dejavu) - Unicode
- Doulos (doulos-silAUR, included in ttf-sil-fontsAUR) - Unicode: Latin, Cyrillic
- Droid Serif (ttf-droid, included in ttf-google-webfontsAUR)
- FreeSerif (ttf-freefont) - Unicode
- Gentium (ttf-gentium, included in ttf-sil-fontsAUR) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet
- Georgia (ttf-ms-fontsAUR)
- Liberation Serif (ttf-liberation) - Alternative to Times New Roman (metric-compatible)
- Linux Libertine (ttf-linux-libertine) - Unicode: Latin, Greek, Cyrillic, Hebrew
- Times New Roman (ttf-ms-fontsAUR)
- Tinos (ttf-google-webfontsAUR) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible)
Unsorted
- ttf-google-webfontsAUR and ttf-google-webfonts-hgAUR — a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added (AUR)
- ttf-mph-2b-damase — Covers full plane 1 and several scripts
- ttf-symbolaAUR — Provides emoji and many many other symbols. (AUR)
- ttf-sil-fontsAUR — Gentium, Charis, Doulos, Andika and Abyssinica from SIL (AUR)
- font-bh-ttf — X.Org Luxi fonts
- ttf-cheapskate — Font collection from dustismo.com
- ttf-isabella — Calligraphic font based on the Isabella Breviary of 1497
- ttf-junicode — Junius font containing almost complete medieval latin script glyphs
- arkpandorafonts ttf-arkpandoraAUR — Alternative to Arial and Times New Roman fonts (AUR)
- xorg-fonts-type1 — IBM Courier and Adobe Utopia sets of PostScript fonts
Console fonts
The console, meaning a terminal running with no X Window System, uses the ASCII character set as the default. This font and the keymap used are easily changed.
A console font is limited to either 256 or 512 characters. The fonts are found in /usr/share/kbd/consolefonts/
.
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of /usr/share/kbd/keymaps/
.
Previewing and testing
An organized library of images for previewing is available at http://alexandre.deverteuil.net/consolefonts/consolefonts.html.
Moreover, the user can use setfont
to temporarily change the font and be able to consider its use as the default. The available glyphs or letters in the font can also be viewed as a table with the command showconsolefont
.
If the newly changed font is not suitable, a return to the default font is done by issuing the command setfont
without any arguments. If the console display is totally unreadable, this command will still work—the user just types in setfont
while "working blind."
Note that setfont
only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.
Examples
Change the font. This example is distinctive:
$ setfont /usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz
Or change the font to one with 512 glyphs and set the keymap to ISO 8859-5 using the -m
option:
$ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz -m 8859-5
Then issue commands that send text to the display, perhaps view a manpage and try vi or nano, and view the table of glyphs with the command, showconsolefont
.
Return to the default font with:
$ setfont
Changing the default font
To change the default font, the FONT=
and FONT_MAP=
settings in /etc/vconsole.conf
(this file may need to be created) must be altered. Again, the fonts can be found in /usr/share/kbd/consolefonts/
directory and keymaps can be found in the subdirectories of /usr/share/kbd/keymaps/
.
Examples
For displaying characters such as Č, ž, đ, š or Ł, ę, ą, ś using the font lat2-16.psfu.gz
:
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 like lat2-08...16. For the regions determined by 8859 specification, look at the Wikipedia. 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.
Now, set the proper keymap, for lat2-16 it will be:
FONT_MAP=8859-2
To use the specified font in early userspace, that is, early in the bootup process, add the consolefont
hook to /etc/mkinitcpio.conf
:
HOOKS="base udev autodetect pata scsi sata filesystems consolefont keymap"
Then rebuild the image:
# mkinitcpio -p linux
See Mkinitcpio#HOOKS for more information.
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 KMS#Early_KMS_start or other ways to setup your framebuffer before /etc/vconsole.conf
gets applied.
Boot Error
If "Loading Console Font" fails at boot time, this is probably because you didn't choose a valid font during your Arch Linux install.
To get rid of this message, simply empty the CONSOLEFONT
variable in /etc/rc.conf
. It will fallback on default font at boot.
Fallback font order with 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 doesn't support it.
Fontconfig lets every user configure the order they want via $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"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Your favorite Latin Serif font name</family> <family>Your Chinese font name</family> </prefer> </alias> </fontconfig>
You can add a section for Sans-serif and monospaced as well. For more informations, have a look at the fontconfig manual.
Font alias
In Linux there are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: serif
for a font of the serif type (e.g. DejaVu Serif); sans-serif
for a font of the sans-serif type (e.g. DejaVu Sans); and 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.
To reverse an alias and find which font it is representing, run:
$ fc-match monospace DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
In this case DejaVuSansMono.ttf is the font represented by the monospace alias.
2 英文字和中文字等宽
TrueType 字体分成两种,一种是可变字距,也就是每个字符宽度不一样,比如 "x" 与 "i",这两个字符就不等宽,它是在每个字符中记录该字符的宽度,大多数的 TrueType 字体都是这种格式。
另一种就是固定字距。也就是每个字符宽度都一样,这样显示或打印時,用会有对齐效果,比较美观,在英语环境中,不会有任何问题,但是CJK 的等宽字体,包含『半角英数字符』与『全角 CJK 字符』,字体引擎会把全角字宽度套用在半角字上,造成半宽字看起来间距太大。
a. 让字体引擎(FreeType)取消CJK字体的指定宽度
<match target="font"> <test target="pattern" name="lang" compare="contains"> <string>zh</string> <string>ja</string> <string>ko</string> </test> <edit name="spacing"> <const>proportional</const> </edit> <edit name="globaladvance"> <bool>false</bool> </edit> </match>
3 字体替换
一些网页编写时候,对使用的字体预先设定,(如英文部分使用了simsun,使得英文显示很不美观)所以可以使用字体替换使得字体显示更美观。
a. 把Simsun , SimSun-18030 , AR PL ShanHeiSun Uni等这个几个中文字体的英文部分,用 Tahoma,Arial 等替换。
<match target="pattern"> <test name="family"> <string>SimSun</string> <string>SimSun-18030</string> <string>AR PL ShanHeiSun Uni</string> <string>AR PL New Sung</string> <string>MingLiU</string> <string>PMingLiU</string> </test> <edit binding="strong" mode="prepend" name="family"> <string>Tahoma</string> <string>Arial</string> <string>Verdana</string> <string>DejaVu Sans</string> <string>Bitstream Vera Sans</string> </edit> </match>
b. 把 AR PL ShanHeiSun Uni , AR PL New Sung 字体中12~16号的中文字用 WenQuanYi Bitmap Song 点阵字替换, WenQuanYi Bitmap Song 比 AR PL ShanHeiSun Uni , AR PL New Sung中的内嵌点阵更加完善,美观。
<match target="pattern"> <test name="family" qual="any"> <string>AR PL ShanHeiSun Uni</string> <string>AR PL New Sung</string> </test> <test compare="more_eq" name="pixelsize" > <double>12</double> </test> <test compare="less_eq" name="pixelsize" > <double>16</double> </test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Bitmap Song</string> </edit> </match>
4 使用内嵌点阵字
a. 当字体有内嵌字体时,优先使用内嵌字体。
<match target="font"> <edit name="embeddedbitmap" mode="assign"> <bool>true</bool> </edit> </match>
注意:libXft 还没有embeddedbitmap选项的支持。可以到这里得到libXft2.1.8.2的embeddedbitmap patch,通过ABS重新编译安装libXft 。
5 必须使用hinting的字体
a. 有些 CJK 字体要the byte code interpreter (hinting)才能正确的显示,因为这些字体使用了hinting的一些技术制作。常见的MingLiu 就是这类字体。
<match target="font"> <test name="family"> <string>MingLiU</string> <string>PMingLiU</string> </test> <edit name="autohint"> <bool>false</bool> </edit> <edit name="hinting"> <bool>true</bool> </edit> </match>