# Cannot resolve Fonts

dviout が -TEXROOT: -TEXPK: に基づいて必要なフォントを探したが、見つからなかったことを意味します。
通常見つからなかったフォント、および探したファイルの情報が表示されます。以下のような原因が考えられます。
以下の意味が不明確な場合、あるいはより詳しく調べたい場合、[再試行]のボタンがあればそれを選んで、表示されるメッセージを保存しておき（マウスを使ってエディターに表示内容を移す）、その後 Help → Troubles in dviout の該当個所を参照して下さい。
1. この表示の前に METAFONT が起動してフォント作成を試みた場合（すなわち -gen:フォントの自動生成が設定してあるとき）
・METAFONTで作成できないフォントである。
たとえば、Virtual font を使って TrueType font で表示するはずが、対応する TrueType font がWindowsのシステムに登録されていない。
・METAFONTがフォントの作成に失敗した。
このエラーメッセージが出た時点でdvioutを抜けずに、DVIファイルのあるディレクトリまたはWindows のテンポラリディレクトリ（環境変数 TMP または TEMP[これは定義されていなければならない]で示される）に GEN_TMP.BAT というバッチファイルが生成されていれば、それを実行すると原因究明に役立つ。
このバッチファイルは、dvioutがフォント作成のために実行したコマンドのコピーである。
-gen: の設定が正しくない、環境変数 TMP や TEMP が正しく定義されていない、texmf.cnf の設定がおかしい、mf.exe にパスが通っていない、標準でないシェルを使ったためバックグランドで動作するMETAFONTに対する環境変数がおかしい、などの原因が考えられる。
・mktexpk などを使って正しくフォントが生成されたが、dviout がそれを見つけることが出来ない。
フォントが生成されて格納された場所とファイル名をチェックし（次の 2 を参照）、-gen:や texmf.cnf の設定と -TEXPK: とを比較する。
注意. フォントが作成されたかどうか、作成された場合はどこに作成されたか、を例えば以下のようにチェックする。
2. -TEXROOT: -TEXPK: の設定が正しくない。
kpathsearch がサポートされている場合、kpsewhich.exe を使うとフォントの所在が分かります。
それには、たとえば必要ならCannot resolve Fontsという情報表示Windowsで先頭に必要なフォントと解像度が示されているページに移り、その部分がたとえば
cmr17.360(1800)
となっていたら(1800は解像度の5倍の値)、MS-DOSプロンプトのコマンドラインから
kpsewhich cmr17.360pk
のようにします。このとき以下を実行した情報も役立ちます。
kpsewhich --expand-braces $TEXMF
kpsewhich --expand-braces $MFINPUTS
kpsewhich --expand-braces $MKTEX_MODE
kpsewhich --expand-braces $PKFONTS
3. 存在せず生成もできないフォントである。
-F: によるフォントの代替機能を使うことができます。このときは、フォントの自動生成機能を無効にしておきます。