フォント

提供: ArchWiki
2022年5月25日 (水) 21:22時点におけるKgx (トーク | 投稿記録)による版 (→‎明朝体: 英語版から転載)
ナビゲーションに移動 検索に移動

関連記事

Wikipedia より:

「コンピュータのフォントは、グラフィカルなグリフのセットを含むデジタルデータファイルとして実装されている。コンピュータフォントは、フォントエディタを用いて設計・作成される。コンピュータの画面用に特別に設計されたフォントで、印刷用ではないものをスクリーンフォントという。」

なお、フォントのライセンスによっては、法的な制約を受ける場合があります。

フォントフォーマット

今日使われるほとんどのコンピュータフォントはビットマップアウトラインデータフォーマットになっています。

ビットマップフォント
ドットやピクセルのマトリックスで構成され、それぞれの文字のイメージを表示します。
アウトラインまたはベクターフォント
ベジェ曲線を使ってそれぞれの文字を表示します。文字はさまざまなサイズにスケールすることができます。

ビットマップフォーマット

上記のフォーマットは gzip で圧縮することができます。利用可能なビットマップフォントは#ビットマップを見てください。

アウトラインフォーマット

  • Adobe による PostScript フォント – 様々なフォーマットがあります。例: Printer Font ASCII (PFA) と Printer Font Binary (PPB)。
  • Apple と Microsoft による TrueType (ファイル拡張子: ttf)
  • TrueType を基に Microsoft によって開発された OpenType (ファイル拡張子: otf, ttf)

多くの場合、TrueType と OpenType の技術的な差異は無視することができます。実際 ttf 拡張子を持つフォントでも OpenType フォントであることがあります。

他のフォーマット

組版アプリケーションの TeX と、それに組み合わせるフォントソフトウェアの Metafont は独自の方法で文字をレンダリングします。この2つのプログラムでフォントとして使われるファイル拡張子に *pk, *gf, mfvf があります。

FontForge はオープンソースのフォント作成プログラムであり、作られたフォントには sfd (spline font database) というテキストベースのフォーマットが使われます。

SVG フォーマットにも独自にフォントを表示するための機能があります。

インストール

フォントをインストールする方法は複数あります。

Pacman

フォントとそのコレクションは pacman を使って(有効にした)リポジトリからインストールすることができます。利用できるフォントを探すには次を実行:

$ pacman -Ss font

また ttf フォントのみを探す場合は:

$ pacman -Ss ttf

パッケージを作成

pacman であなたのフォントを管理したいと思ったならば、あなた自身で Arch パッケージを作ることができます。作ったパッケージは AUR コミュニティで共有することもできます。既存の パッケージ が参考になるでしょう。パッケージの作成について詳しく学びたいならば、パッケージの作成を読んでください。

ttf フォントからパッケージを簡単に作る方法として makefontpkgAUR を使うこともできます。

フォントファイルのファミリー名は fc-query を使うことで確認できます。例: fc-query -f '%{family[0]}\n' /path/to/file

手動インストール

リポジトリにないフォントを追加するときに推奨されるのはパッケージを作成することです。pacman によってフォントを削除・アップデートできるようになります。しかしながらフォントを手動でインストールすることも可能です。

システム全体で(全てのユーザーが)使えるようにフォントをインストールするには、フォントフォルダを /usr/share/fonts/ ディレクトリに移動してください。ファイルがどのユーザーからも読み込めるように、chmod を使って適切なパーミッションを設定します (ファイルには 0444、ディレクトリには 0555)。一人のユーザーだけがフォントを使う場合は、代わりに ~/.local/share/fonts を使います (~/.fonts/ は非推奨になりました)。

X サーバーに (フォントサーバーを使うのではなく) 直接フォントをロードさせるには新しく追加したフォントのディレクトリを FontPath エントリに加えてください。このエントリは Xorg の設定ファイル (/etc/X11/xorg.conf もしくは /etc/xorg.conf) 内の Files セクションにあります。詳しくは #X.Org とフォント を見て下さい。

それから fontconfig フォントキャッシュをアップデートします (通常は fontconfig ライブラリを使用するアプリケーションが実行するため必要ありません):

$ fc-cache -vf

古いアプリケーション

古いアプリケーション (例: GTK+ 1.x アプリケーション、xfontsel) を使う場合、fontconfig をサポートしていないので、インデックスをフォントディレクトリに作る必要があります:

$ mkfontscale
$ mkfontdir

もしくは次のコマンドで複数のフォルダを含めます:

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

/usr/share/fonts 下のバラバラのサブディレクトリにフォントをインストールした場合:

$ for dir in * ; do if [  -d  "$dir"  ]; then cd "$dir";xset +fp "$PWD" ;mkfontscale; mkfontdir;cd .. ;fi; done && xset fp rehash

X サーバーがフォントディレクトリの読み込みに失敗したときは全ての fonts.dir ファイルを再スキャンしてください:

# xset +fp /usr/share/fonts/misc # Inform the X server of new directories
# xset fp rehash                # Forces a new rescan

フォントが読み込まれたのかチェックするには:

$ xlsfonts | grep fontname
ノート: ほとんどのパッケージはインストール時に Xorg がフォントを使えるように自動的に設定を行います。その場合、この手順は不要です。

Xorg で新しくインストールしたフォントを使うには、フォントパスを /etc/X11/xorg.conf (他の X.Org 設定ファイルでも動きます) に加える必要があります。

以下は /etc/X11/xorg.conf に追加するセクションの例です。あなたの必要なフォントにあわせてパスを追加・削除してください。

# 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

Pango の Warning

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"

フォントパッケージ

以下は、公式リポジトリや AUR から入手できる多くのフォントパッケージを精選したリストです。Unicode をサポートしているフォントには「Unicode 対応」と添えています。

ヒント: Archfonts は公式リポジトリや AUR にあるすべての TTF フォントの概要を生成するために使用できる Python スクリプトです。

ビットマップ

ノート: pango 1.44 は、 FreeType のサポートをやめ HarfBuzz を採用したため、 従来の BDF/PCF ビットマップフォントへのサポートがなくなり 一部のアプリケーション (gnome-terminal など) では、グリフではなく矩形を表示してフォントが機能しなくなりました。 FS#63297, Pango issue #386HarfBuzz issue #1897 を参照して下さい。

ラテン文字

ファミリー

モノスペース

他の等幅フォントは#ビットマップ#ファミリーを参照してください。

関連ウェブサイト:

ゴシック体

明朝体

未分類

国際文字

古代文字

  • ttf-ancient-fontsAUR - エーゲ文明やエジプト文明の文字、楔形文字、アナトリア半島の諸文明やマヤ文明の古代文字などの Unicode 記号が含まれているフォント。

(ブライユ)点字

  • ttf-ubrailleAUR - 点字の Unicode 記号が入っているフォント

アラビア・ウルドゥー文字

  • ttf-amiriAUR - Amiria Press によって作られたクラシカルなナスフ体のアラビア文字フォント
  • ttf-arabeyes-fontsAUR - フリーのアラビア文字フォントのコレクション
  • ttf-qurancomplex-fontsAUR - メディナの King Fahd Glorious Quran Printing Complex によるフォント
  • ttf-sil-lateefAUR - SIL による Unicode 対応アラビア文字フォント
  • ttf-sil-scheherazadeAUR - SIL による Unicode 対応アラビア文字フォント

漢字文化圏

汎 CJK
  • Adobe Source Han フォント

巨大なフォントコレクション。簡体字、繁体字、日本語、韓国語を包括的にサポート。統一されたデザインと外観。

  • noto-fonts-cjk - 簡体字中国語・台湾および香港の繁体字中国語・日本語・韓国語を包括的にサポートする巨大なフォントコレクション。adobe-source-han-sans-otc-fonts のリブランド版。
旧字体

中国大陸では「旧字形」、台湾・香港では「伝統字形」、日本では「旧字体」と呼ばれる字体。

中国語
  • WenQuanYi フォント
    • wqy-zenhei - ゴシック体漢字アウトラインフォント、ビットマップの宋体も含まれる (日本語(の一部)とハングルもサポート)。
    • wqy-bitmapfont - ビットマップ明朝体漢字フォント。
  • Arphic フォント
    • ttf-arphic-ukai - Kaiti (筆文字) Unicode 対応フォント (アンチエイリアス推奨)。
    • ttf-arphic-uming - Mingti (活字) Unicode 対応フォント。
  • ttf-hannom - 中国語とベトナム語の漢字とチュノムに対応したTrueType フォント。
  • 台湾教育部発行の標準フォント
    • ttf-twAUR - 台湾教育部発行の楷書と明朝体の繁体字フォント。
    • ttf-twcns-fontsAUR - 台湾教育部発行の中国語 TrueType フォント。CNS11643 に対応し、楷書と明朝体が含まれる。
日本語
  • IPA フォント
    • otf-ipafont - 日常的に使える日本語ゴシック体と明朝体のフォントセット。一番高品質なオープンソースフォントの一つ。openSUSE-ja のデフォルト。
    • otf-ipaexfont - 字幅が調整された IPA フォント。
    • otf-ipamjfont - 人名の異体字を収録した行政機関向けフォント。変体仮名対応。
    • otf-takaoAUR, otf-takaoexAUR, otf-takaomjAUR - Ubuntu の日本コミュニティによる IPA 派生フォント。
  • M+ フォント
    • ttf-mplusAUR - 近代的なゴシック体日本語アウトラインフォント。日本語の平仮名・片仮名、Basic Latin・Latin-1 Supplement・Latin Extended-A 文字セット、ほぼ全ての日本語の漢字(第一水準漢字まで完全に対応)と IPA 拡張、ギリシア文字、キリル文字、ベトナム語を収録。7 ウェイト(プロポーショナル)と 5 ウェイト(等幅)を用意。
    • ttf-rounded-mplusAUR - 丸ゴシック化した M+ フォント。
  • ttf-hanazono - フリーの日本語漢字フォント、明朝体。変体仮名対応。
  • ttf-sazanami - フリーの日本語 TrueType フォント。既にメンテナンスされていませんが、環境によってはフォールバックフォントとして使われています。
  • ttf-umeAUR - フリーのゴシック体・明朝体フォント。
  • ttf-vlgothicAUR - 日本語ゴシック体フォント。Debian/Fedora/Vine Linux のデフォルト。
  • ttf-mikachanAUR - 先駆的な手書き日本語フォント。
  • ttf-oradano-minchoAUR - 明治・大正時代の活字風のフォント。
  • otf-aoyanagi-reisyo-simoAUR - フリーの隷書体毛筆フォント。
  • 合成フォント
    • ttf-kazesawa-gitAUR - 可読性が高くウェイトが豊富なフォント。
    • otf-kingenAUR - オールド系の錦明朝と源ノ明朝 Light の合成フォント。
    • ttf-komatunaAUR - 小夏フォントと M+ フォントの合成フォント。
    • ttf-koruriAUR - ttf-mplusAUR と Open Sans をミックスして作られた日本語 TrueType フォント。
    • ttf-miguAURttf-migmixAUR - M+ と IPA の合成フォント。
    • ttf-myricaAURttf-myricamAUR - Ricty ベースのプログラマ用フォント。
    • ttf-rictyAUR - Inconsolata と Migu 1M フォントから生成される Linux プログラミング用フォント。
    • ttf-vlkoruriAUR - ttf-vlgothicAUR と Open Sans をミックスして作られた日本語 TrueType フォント。
    • ttf-umeplusAUR - 梅フォントと M+ フォントの合成フォント。
韓国語
  • adobe-source-han-sans-kr-fonts - 韓国語 OpenType/CFF フォント。漢字を含む。
  • ttf-baekmuk - 韓国語 TrueType フォントのコレクション。明朝体・ゴシック体・丸ゴシック体。漢字を含む。
  • spoqa-han-sansAUR - Spoqa によってカスタマイズされた Source Han Sans。漢字を含む。
  • ttf-d2codingAUR - Naver によって作成された D2Coding 等幅 TrueType フォント。漢字を含む。
  • ttf-nanumAUR - Nanum シリーズ TrueType フォントコレクション。一部のフォントはハングルのみ。
  • ttf-nanumgothic_codingAUR - Nanum シリーズ幅調整 TrueType フォント
ベトナム語
  • ttf-hannom - 中国語とベトナム語の漢字とチュノムに対応したTrueType フォント。

キリル文字

#ラテン文字も見てください。

  • ttf-paratypeAUR - ParaType のフォントファミリー: sans, serif, mono, 拡張キリル・ラテン文字, OFL ライセンス
  • otf-russkopisAUR - キリル文字のフリーな OpenType 筆記体フォント

ギリシア文字

ほとんど全ての Unicode 対応フォントにはギリシア文字セットが(アクセント注記式も)含まれています。追加フォントパッケージには、Unicode 文字に完全には対応していないながらも高品質なギリシア文字(もちろんラテン文字も)活字を使えるパッケージがあります:

  • otf-gfsAUR - Greek Font Society による OpenType フォントのセレクション
  • ttf-mgopenAUR - Magenta によるプロフェッショナル TrueType フォント

ヘブライ文字

  • culmusAUR - フリーのヘブライ文字のコレクション

インド系文字

  • ttf-freebanglafontAUR - ベンガル文字フォント
  • ttf-indic-otf - インド系文字 OpenType フォントコレクション (ttf-freebanglafont を含む)
  • lohit-fontsAUR - Fedora プロジェクトによるインド系文字 TrueType フォント (Oriya フォントなどを含む)
  • ttf-devanagarifontsAUR - デーヴァナーガリー TrueType フォント (283個のフォントを含む)
  • ttf-gurmukhi-fonts_sikhnetAUR - TrueType グルムキー文字フォント (gurbaniwebthick, prabhki)
  • ttf-gurmukhi_punjabiAUR - TTF グルムキー文字/パンジャーブ語 (252個のフォントを含む)
  • ttf-gujrati-fontsAUR - TTF グジャラート語フォント (Avantika, Gopika, Shree768)
  • ttf-kannada-fontAUR - カンナダ語、インドのカルナータカ州の公用語
  • ttf-lklugAUR - シンハラ文字 Unicode 対応フォント
  • ttf-tamilAUR - タミル文字 Unicode 対応フォント
  • ttf-urdufontsAUR - ウルドゥー語のためのフォント (Jameel Noori Nastaleeq (+kasheeda), Nafees Web Naskh, PDMS Saleem Quran Font) と Jameel Noori Nastaleeq をデフォルトフォントにするフォント設定。

クメール文字

モンゴル・ツングース語族

  • ttf-abkaiAUR - シベ文字・満州文字・ダウール文字フォント (開発途中で不完全です)。

ペルシア文字

  • persian-fontsAUR - AUR に存在する全てのペルシア語フォントをインストールするためのメタパッケージ。
  • borna-fontsAUR - Borna Rayaneh Co. 製のペルシア文字 B フォントシリーズ。
  • iran-nastaliq-fontsAUR - フリーの Unicode 対応ペルシア文字筆記体フォント。
  • iranian-fontsAUR - Iranian-Sans と Iranian-Serif のペルシア文字フォントファミリー。
  • ir-standard-fontsAUR - イラン通信情報技術最高評議会 (SCICT) による標準ペルシア語フォント。
  • persian-hm-ftx-fontsAUR - X Series 2, Metafont, FarsiTeX フォントから派生して作られたカシーダが使えるペルシア文字フォントシリーズ。
  • persian-hm-xs2-fontsAUR - X Series 2 フォントから派生して作られたカシーダが使えるペルシア文字フォントシリーズ。
  • sina-fontsAUR - Sina Pardazesh Co. 製のペルシア文字フォントシリーズ。
  • gandom-fontsAUR, parastoo-fontsAUR, sahel-fontsAUR, samim-fontsAUR, shabnam-fontsAUR, tanha-fontsAUR, vazir-fontsAUR, vazir-code-fontsAUR - Ali Rasti Kerdar によって作られた美麗なペルシア語フォント。
  • ttf-yasAUR - Yas Persian フォントシリーズ。
  • ttf-x2AUR - ペルシア語、アラビア語、ウルドゥー語、パシュトー語、ウズベク語、クルド語、ウイグル語、古代トルコ語 (オスマン語)、現代トルコ語 (ローマ字) までサポートしているフリーフォント。

タイ・カダイ語族

  • fonts-tlwgAUR - スケーラブルなタイ語フォントのコレクション
  • ttf-laoAUR - ラオス語 TTF フォント (Phetsarath_OT)
  • ttf-lao-fontsAUR - ラオス語 TTF フォント、Unicode 版と Windows 用の非 Unicode 版

チベット・ビルマ語派

絵文字と記号

Unicode 規格には「絵文字」と呼ばれる画像文字のためにあてられたセクションが存在します。

  • noto-fonts-emoji - Android や Google ハングアウトなどで使用される Google の絵文字フォント。Unicode に新しく追加された絵文字は Noto フォントでは正しく表示されないことがあります。
  • ttf-symbolaAUR - 多数の Unicode 記号が含まれており、絵文字も存在します。アウトラインフォント。
  • ttf-emojioneAUR[リンク切れ: 置換パッケージ: ttf-joypixels] - デザインの正確性が重視されているオープンソースの絵文字セット。
  • ttf-twemoji-colorAUR - Twitter のオープンソース絵文字。

複数の文字からなる顔文字は CJK やインド文字フォントなど様々な文字セットを使っています。次のパッケージは既存の顔文字の大部分をカバーします: ttf-freefont[リンク切れ: パッケージが存在しません], ttf-arphic-uming, ttf-indic-otf

絵文字フォントを有効にしてメインのフォントファミリーの補助として絵文字ファミリーを追加したい場合、以下をフォント設定に追加してください:

/etc/fonts/local.conf
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match>
    <test name="family">
      <string>serif</string>
    </test>
    <edit name="family" mode="prepend" binding="weak">
      <string>Emoji</string>
    </edit>
  </match>

  <match>
    <test name="family">
      <string>sans-serif</string>
    </test>
    <edit name="family" mode="prepend" binding="weak">
      <string>Emoji</string>
    </edit>
  </match>

  <match>
    <test name="family">
      <string>monospace</string>
    </test>
    <edit name="family" mode="prepend" binding="weak">
      <string>Emoji</string>
    </edit>
  </match>
</fontconfig>

数学

他のオペレーティングシステムのフォント

Windows のフォントについては MS フォントメトリック互換フォントを見てください。

X11 でのフォント順序

Fontconfig は自動的に要求にあったフォントを選びだします。例えば、英語と日本語が含まれるウィンドウを表示しようとすると、デフォルトのフォントが日本語をサポートしていない場合、日本語を表示できるフォントに切り替わります。

Fontconfig はユーザーに $XDG_CONFIG_HOME/fontconfig/fonts.conf を使って好きな順番を設定するように定めています。 他の Serif フォントが表示できない場合、特定の日本語フォントを選ぶようにしてほしいときは、ファイルを次のようにします:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
   <family>serif</family>
   <prefer>
     <family>好みのラテン文字 Serif フォント名</family>
     <family>日本語フォント名</family>
   </prefer>
 </alias>
</fontconfig>

同じように Sans-serif や monospaced 用のセクションを作ることもできます。詳しくは 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 エイリアスによって表示されるフォントです。

ヒントとテクニック

インストールした全てのフォントを一覧する

次のコマンドを使うことであなたのシステムで利用できる全てのインストール済みフォントを一覧できます。

$ fc-list

特定の言語のフォントを一覧する

アプリケーションやブラウザは fontconfig の設定に基づいて、Unicode のテキストを表示するためのグリフが入っているフォントを選択します。インストールしたフォントの中で特定の言語のフォントをリストアップするには、fc-list :lang="two letter language code" コマンドを実行してください。例えば、日本語フォントまたは日本語をサポートしているフォントを確認するには:

$ fc-list :lang=ja | cut -d: -f1
/usr/share/fonts/TTF/ipam-mona.ttf
/usr/share/fonts/TTF/ipamp-mona.ttf
/usr/share/fonts/TTF/ipagui-mona.ttf
/usr/share/fonts/OTF/ipamp.ttf
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc
/usr/share/fonts/TTF/ipag-mona.ttf
/usr/share/fonts/OTF/ipam.ttf
/usr/share/fonts/TTF/ipagp-mona.ttf
/usr/share/fonts/OTF/ipagp.ttf
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc
/usr/share/fonts/OTF/ipag.ttf

アプリケーション固有のフォントキャッシュ

Matplotlib (python-matplotlibpython2-matplotlibAUR) は自身のフォントキャッシュを使っているため、フォントを更新した後は、~/.matplotlib/fontList.cache を削除してキャッシュを再生成させてください [1]

参照