7

Сборка mplayer, которую я использую в Windows, перезагружает кэш шрифтов при каждой перезагрузке компьютера. Я выяснил, что причина этого в том, что я очищаю временный каталог при перезапуске, и он сохраняет там кэш шрифтов.

Я задавался вопросом: как заставить mplayer не всегда перезагружать кэш шрифтов?

(Это занимает много времени, и я обычно "застигнут врасплох", когда это происходит. Будучи обычно в состоянии использовать только 1 или 2 шрифта, я часто воспринимаю это как "добавление раны к оскорблению".)

Другие сборки, которые я пробовал ранее, используются для перезагрузки полного кэша шрифтов в каждом новом рабочем каталоге, поскольку они помещают кэш в этот локальный каталог. Поскольку источники для современных сборок двоичных файлов Windows менялись годами, было бы полезно узнать, что на самом деле пытается сделать mplayer.

  1. Как заставить fontconfig искать шрифты (кеш) в другом месте?
  2. Как именно mplayer ищет шрифты? (Всегда ли она рассчитывать на fonts.conf?)
  3. Можно ли отключить fontconfig из командной строки? Что бы тогда сделал mplayer?
  4. Можно ли отключить обновление кэша шрифтов, даже если шрифты меняются? (Т. Е. "Всегда использовать уже известные шрифты")

Примечание. Раньше для mplayer раньше использовался один встроенный шрифт по умолчанию. Что случилось с этим?

Я нашел параметр <cachedir> в файле fonts/fonts.conf относительно mplayer.exe, который я могу использовать для решения 1. (Я обновляю его вручную, когда появляется новая сборка, и я часто забывал это делать. И остальные вопросы все еще остаются. Кроме того, где он ищет файл fonts/fonts.conf?)

1 ответ1

1

Кажется, что Mplayer зависит от значения "% tmp%" для создания кэша шрифтов. Это означает, что вы можете заставить процесс mplayer.exe увидеть другое значение, в то время как другие в "реальной временной папке" не будут затронуты.

(Обратите внимание, что это НЕ «% TEMP%», НО « % TMP% », но не помешает изменить их оба на mplayer.exe, так что вы можете настроить оба.)

Как:

  1. Создайте временную папку под mplayer. например, C:\Mplayer\Temp
  2. Создайте новый пакетный файл по пути Mplayer.exe. например, C:\Mplayer\mplayerlaunch.bat
  3. Заполните новый пакетный файл следующим:

    set tmp = C:\Mplayer\Temp

    Mplayer.exe% *

  4. Протестируйте пакетный скрипт, пока новая временная папка открыта в проводнике Windows. например, воспроизвести видео.

  5. Посмотрите, создается ли там папка с кешем Если это так, то все в порядке - теперь вы создали отдельную временную папку для MPlayer, которая не зависит от запланированной очистки временной папки. Просто запускайте этот пакетный файл каждый раз вместо MPlayer.exe.

PS Я знаю, что вы уже решили эту проблему, изменив конфиг. Тем не менее, таким образом, вам не нужно изменять конфигурационный файл всякий раз, когда вы получаете новую сборку, потому что вы можете поместить этот командный файл где-нибудь за пределами реальной папки mplayer, которая не будет перезаписана при установке новой сборки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .