web-dev-qa-db-ja.com

Windowsでのmplayerfontconfigの煩わしさ

mplayer build Windowsで使用すると、コンピューターを再起動するたびにフォントキャッシュが再読み込みされます。これの原因は、再起動時に一時ディレクトリをクリアし、フォントキャッシュをそこに保持することであることがわかりました。

疑問に思いました:mplayer donotを常にフォントキャッシュにリロードさせる方法は?

(これには時間がかかり、通常は「警戒を怠る」ことになります。通常、1つまたは2つのフォントしか使用できないため、「侮辱に負傷を加える」ように感じることがよくあります。)

私が以前に試した他のビルドは、キャッシュをそのローカルディレクトリに配置するため、新しい各作業ディレクトリにフルフォントキャッシュを再ロードするために使用されます。 Windowsバイナリの最新ビルドのソースは何年にもわたって変化していたので、mplayerが実際に何をしようとしているのかを知っておくとよいでしょう。

  1. Fontconfigで他の場所のフォント(キャッシュ)を検索する方法は?
  2. Mplayerはどのくらい正確にフォントを検索していますか? (常にfonts.confに依存していますか?)
  3. コマンドラインからfontconfigを無効にすることは可能ですか?それでは、mplayerは何をしますか?
  4. フォントが変更された場合でも、フォントキャッシュの更新を無効にできますか? (つまり、「既知のフォントのみを永久に使用する」)

注:昔は、mplayerには単一の組み込みのデフォルトフォントがありました。何が起きたのですか?

オプションを見つけました<cachedir> in fonts/fonts.conf、mplayer.exeと比較して、1を解決するために使用できます(新しいビルドが到着したときに手動で最新の状態に保ち、忘れることがよくあります。残りの質問はまだ残っています。また、どこでfonts/fonts.confファイルを検索しますか?)

7
n611x007

Mplayerは「%tmp%」の値に依存してフォントキャッシュを作成しているようです。つまり、「実際の一時フォルダ」内の他のプロセスは影響を受けずに、mplayer.exeプロセスに別の値を表示させることができます。

( "%TEMP%"ではありませんが "%TMP%"ですが、mplayer.exe用に両方を変更しても問題はないので、両方を設定できます。)

方法:

  1. Mplayerの下に一時フォルダを作成します。例えばC:\ Mplayer\Temp
  2. Mplayer.exeのパスの下に新しいバッチファイルを作成します。例えばC:\ Mplayer\mplayerlaunch.bat
  3. 新しいバッチファイルに次の情報を入力します。

    tmp = C:\ Mplayer\Tempを設定します

    Mplayer.exe%*

  4. 新しい一時フォルダーがWindowsエクスプローラーで開かれている間に、バッチスクリプトをテストします。例えばビデオを再生します。

  5. フォントキャッシュフォルダがそこで生成されるかどうかを確認します。もしそうなら、すべてが順調です-これで、スケジュールした一時フォルダのクリーンアップの影響を受けないMPlayer専用の一時フォルダを設定しました。 MPlayer.exeの代わりに、毎回そのバッチファイルを実行するだけです。

p.s設定を変更することで、この問題はすでに解決されていると思います。ただし、この方法では、このバッチファイルを実際のmplayerフォルダーの外に配置できるため、新しいビルドを取得するたびに構成ファイルを変更する必要はありません。このバッチファイルは、新しいビルドをインストールしても上書きされません。

1
Scott Rhee