天地有情

[LaTeX] FontConfig --- パッケージ中の fc-コマンド 備忘録

§1 はじめに

更新版: 2017/04/18

FontConfig パッケージには,以下のコマンド類が収録されており,
W32TeX では [bin]ディレクトリ下に用意されています.

● fc-cache
フォント情報のキャッシュを生成します.

● fc-cat
フォント情報のキャッシュを読み込みます.

● fc-list
フォントリストを生成します.

● fc-match
利用可能なフォントを,検索指定パターンを用いて検索します.

● fc-query
フォントファイルを検索し結果を出力します.

● fc-scan
フォントファイルとディレクトリをスキャンして,結果を表示します.

● fc-pattern
パターンを解析し(空パターンをデフォルトとする),解析結果を出力します.

● fc-validate
フォントファイルを検証します.

§2 使い方

2.1 fc-cache コマンド

システム上でフォント・ディレクトリを探査して,fontconfigを用いたアプリケーションのために,
フォント情報のキャッシュファイルを生成します.

ディレクトリ引数がされないならば,fc-cacheは現在のフォント構成で各々のディレクトリを使います.
このキャッシュはアプリケーション起動の速度を上げるのに用いられます.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-cache --help

(2)フォントを追加するには,次の手順を実行します.

a) \texmf-dist\fonts\conf\fonts.conf ファイル内に記述されたディレクトリの 1 つに,
  フォントファイルをコピーします.
  自PCの場合のディレクトリは次のように成っています.

  <dir>c:/windows/fonts</dir>
  <dir>c:/w32tex/share/texmf-dist/fonts/opentype</dir>
  <dir>c:/w32tex/share/texmf-dist/fonts/truetype</dir>

b) fontconfig ライブラリは,フォントのリストを自動的に更新します.
  フォントのリストが更新されない場合は,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache
  
  また,ディレクトリを特定して更新するには,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache directory-name

  また,\texmf-dist\fonts\conf\fonts.conf にあるディレクトリのみを更新し,
  更新済みディレクトリのリストを表示するには,次のコマンドを実行します.
  C:\Users\Desktop> fc-cache --system-only -v

2.2 fc-cat コマンド

キャッシュファイルからフォント情報を読み込むか,アスキー形式でそれをフォント・ディレクトリと
関連づけて,発します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-cat --help

(2)fc-cat -rv c:\windows\fonts を実行してみる

C:\Users\Desktop> fc-cat -rv c:\windows\fonts | more

Directory: c:/windows/fonts
Cache: c:/w32tex/share/texmf-dist/fonts/cache\/fe1dbb5a98cb4443939b32b1858eec08-x86.cache-4
--------
"21205___.TTF" 0 "Jokerman LET:familylang=en:style=Plain:stylelang=en:fullname=Jokerman LET Plain\\:1.0:fullnamelang=en:slant=0:weight=0:width=100:foundry=unknown:index=0:outline=True:scalable=True:charset= |>^1!|>^1!P0oWQ T[~(HZ<;qEZJwus!!!%# !!71$!#>r1!BB.#!!K?& !!!)$ #?>K&.{uA] !!!.% !!!)/!!!!# !!#0GM>RAd#y#fx !!#3H !!!!& !!#6I
(以下省略)

2.3 fc-list コマンド

fontconfigを用いたアプリケーションのために,システム上でフォントと利用できるスタイルを
リストします.
要素が指定されるならば,それらだけは印刷されます.
冗長な出力が要請されない限り,さもなければ,family と styleは印刷されます.

(1)コマンドのヘルプ情報

C:\Users\hayato\Desktop> fc-list --help

(2)フォントをリストアップし,name.txt に保存する.

C:\Users\Desktop> fc-list > name.txt

name.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/HGRPP1.TTC: HGSoeiKakupoptai,HG創英角ポップ体:style=Regular,標準
c:/windows/fonts/AdobeDevanagari-Regular.otf: Adobe Devanagari:style=Regular
c:/windows/fonts/sere1256.fon: MS Serif:style=Regular
c:/windows/fonts/coue1255.fon: Courier:style=Regular
c:/windows/fonts/AdobeArabic-Italic.otf: Adobe Arabic:style=Italic
c:/windows/fonts/ume-pgc5.ttf: Ume P Gothic C5,梅PゴシックC5:style=Medium
c:/windows/fonts/euphemia.ttf: Euphemia:style=Regular
c:/windows/fonts/vgaf874.fon: Fixedsys:style=Regular
c:/windows/fonts/LinLibertineG_Bd.ttf: Linux Libertine G:style=Bold
c:/windows/fonts/cga40869.fon: Terminal:style=Regular
c:/windows/fonts/msmincho.ttc: MS PMincho,MS P明朝:style=Regular,標準
c:/windows/fonts/HGRPP1.TTC: HGPSoeiKakupoptai,HGP創英角ポップ体:style=Regular,標準
c:/windows/fonts/Osaka.ttc: Osaka:style=レギュラー
c:/windows/fonts/HGRSMP.TTF: HGMaruGothicMPRO,HG丸ゴシックM\-PRO:style=Regular,標準
-----------------------------------------------

(3)日本語フォントのみをリストアップし,jp.txt に保存する.

C:\Users\Desktop> fc-list :lang=ja > jp.txt

jp.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/HGRGM.TTC: HGSGothicM,HGSゴシックM:style=Medium,メディウム
c:/windows/fonts/FAGGM_0.TTF: Arisawa\-Gyosho,有澤行書:style=Regular
c:/windows/fonts/ume-ugo5.ttf: Ume UI Gothic O5,梅UIゴシックO5:style=Medium
c:/windows/fonts/kochi-gothic-subst.ttf: Kochi Gothic,東風ゴシック:style=Regular,標準
c:/windows/fonts/HGRKK.TTC: HGSKyokashotai,HGS教科書体:style=Medium,メディウム
c:/windows/fonts/msgothic.ttc: MS Gothic,MS ゴシック:style=Regular,標準
c:/windows/fonts/ASKai9.ttc: ASKaiSho\-Bd,有澤太楷書P:style=Regular
c:/windows/fonts/FUJIPOP.TTC: 富士ポップ:style=Regular
c:/windows/fonts/ume-pgs5.ttf: Ume P Gothic S5,梅PゴシックS5:style=Medium
c:/windows/fonts/ipamp.ttf: IPAPMincho,IPA P明朝:style=Regular
c:/windows/fonts/HGRSGU90.TTC: HGSoeiKakugothicUB,HG創英角ゴシックUB:style=Regular,標準
c:/windows/fonts/ume-tgc4.ttf: Ume Gothic C4,梅ゴシックC4:style=Regular
c:/windows/fonts/min2004.ttf: Mincho2004,明朝2004:style=Regular
c:/windows/fonts/msmincho.ttc: MS Mincho,MS 明朝:style=Regular,標準
-----------------------------------------------

(4)IPA フォントのみをリストアップし,ip.txt に Shift-JIS で保存する.

C:\Users\Desktop> fc-list | nkf -s | grep IPA > ip.txt

ip.txt の一部を表示します.
-----------------------------------------------
c:/windows/fonts/ipamp.ttf: IPAPMincho,IPA P明朝:style=Regular
c:/windows/fonts/ipaexg.ttf: IPAexGothic,IPAexゴシック:style=Regular
c:/windows/fonts/ipag.ttf: IPAGothic,IPAゴシック:style=Regular
c:/windows/fonts/ipagp.ttf: IPAPGothic,IPA Pゴシック:style=Regular
c:/windows/fonts/ipaexm.ttf: IPAexMincho,IPAex明朝:style=Regular
c:/windows/fonts/ipam.ttf: IPAMincho,IPA明朝:style=Regular
c:/windows/fonts/ipamjm.ttf: IPAmjMincho,IPAmj明朝:style=Regular
-----------------------------------------------

2.4 fc-match コマンド

条件を満たす最良のフォント(選択されるフォント)を検索指定パターンを用いて検索し表示する.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-match --help

(2)日本語フォントの表示

C:\Users\Desktop> fc-match :lang=ja

  msgothic.ttc: "MS Gothic" "Regular"


C:\Users\Desktop> fc-match serif:lang=ja

  msmincho.ttc: "MS Mincho" "Regular"


C:\Users\Desktop> fc-match san-serif:lang=ja

  msgothic.ttc: "MS Gothic" "Regular"


C:\Users\Desktop> fc-match monospace:lang=ja

  ipag.ttf: "IPAGothic" "Regular"

(3)英語フォントの表示

C:\Users\Desktop> fc-match :lang=en

  DejaVuSans.ttf: "DejaVu Sans" "Book"

C:\Users\Desktop> fc-match serif:lang=en

  DejaVuSerif.ttf: "DejaVu Serif" "Book"

C:\Users\Desktop> fc-match san-serif:lang=en

  DejaVuSans.ttf: "DejaVu Sans" "Book"

C:\Users\Desktop> fc-match monospace:lang=en

  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

(参考)DejaVuフォント (デジャヴ ふぉんと) は,Unicode用ラージフォントです.

(4)"Sazanami Gothic" のフォント・ファイルの表示

C:\Users\Desktop> fc-match "Sazanami Gothic"

sazanami-gothic.ttf: "Sazanami Gothic" "Regular"

2.5 fc-query コマンド

通常の fontconfig規則を用いてフォントファイルを問い合わせて,
見つかれば結果を出力します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-query --help

(2)mikachanALL.ttcをフォントファイルを問い合わせ

C:\Users\Desktop> fc-query c:/windows/fonts/mikachanALL.ttc
Pattern has 23 elts (size 32)
family: "mikachan"(s) "みかちゃん"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "mikachan"(s) "みかちゃん"(s)
fullnamelang: "en"(s) "ja"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
spacing: 90(i)(s)
foundry: "unknown"(s)
file: "c:/windows/fonts/mikachanALL.ttc"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
(以下省略)

2.6 fc-scan コマンド


フォントファイルとディレクトリを再帰的にスキャンして,結果を表示します.

(1)コマンドのヘルプ情報

C:\Users\Desktop>fc-scan --help

(2)スキャンしてみる

C:\Users\Desktop>fc-scan C:\w32tex\share\texmf-dist\fonts\truetype\ipa

Pattern has 22 elts (size 32)
family: "IPAexGothic"(s) "IPAexゴシック"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "IPAexGothic"(s) "IPAexゴシック"(s)
fullnamelang: "en"(s) "ja"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
foundry: "unknown"(s)
file: "C:\w32tex\share\texmf-dist\fonts\truetype\ipa/ipaexg.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
(以下省略)

2.7 fc-pattern コマンド

パターンを解析し(空パターンをデフォルトとする),解析結果を出力します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-pattern --help

(2)パターンを解析してみる

C:\Users\Desktop> fc-pattern "sans:lang=ja:charset=\!\!\$jy\!\!\!\!\# "

Pattern has 3 elts (size 16)
family: "sans"(s)
charset:
004e: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000(s)
lang: ja(s)

ネットを徘徊したら上記の例が見つかりました.次のように説明されていました.
==================
コマンドで使う場合は指定方法が特殊で,ビットテーブルを何らかの方法で印字可能な文字列に
変更した結果,このような謎の文字列になります.

今回の例だと,「一」という漢字(UCS-4でいう0x00004e00)が存在するグリフのうち一番最初に
来るものが中国語フォントじゃないことを確認するために使っていました.
==================

2.8 fc-validate コマンド

フォントファイルを検証します.

(1)コマンドのヘルプ情報

C:\Users\Desktop> fc-validate --help


(2)msmincho.ttc フォントファイルを検証してみる

C:\Users\Desktop> fc-validate c:/windows/fonts/msmincho.ttc

Fontconfig warning: ignoring Japanese_Japan.932: not a valid language tag
c:/windows/fonts/msmincho.ttc:0 Satisfy the coverage for (null) language
c:/windows/fonts/msmincho.ttc:1 Satisfy the coverage for (null) language

(EOF)
スポンサーサイト
  1. 2013/10/19(土) 14:37:46|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0
<<autonum.sty を使ってみる | ホーム | Silverfrost FTN95 ~入門の入門~>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/52-58707b7e
この記事にトラックバックする(FC2ブログユーザー)