mplayer fontconfig раздражение на windows

Сборка 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 ответ

Кажется, что 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, которая не будет перезаписана при установке новой сборки.

Другие вопросы по тегам