Thursday, March 22, 2007

Mplayer font

Один из часто задаваемых по MPlayer вопросов: как прикрутить к фильму субтитры в виндовой кодировке. Распространённый ответ "перекодировать все субтитры в KOI8-R и использовать дефолтные KOI8-R шрифты с сайта MPlayer" имеет множество недостатков. Как-то: не все встречающиеся в субтитрах символы имеют аналоги в KOI8-R, iconv имеет свойство падать на нестандартных символах, перекодируя при этом только часть субтитров. И вообще, если есть возможность использовать MPlayer непосредственно с виндовой кодировкой, которая де-факто стандарт в субтитрах, то очевидно лучше избежать лишнего этапа перекодирования. Есть два способа заставить MPlayer работать с CP1251. Это prescaled шрифты и TrueType шрифты. 1. Prescaled шрифты. Проще всего скачать готовые шрифты c сайта MplayerXP (http://mplayerxp.sourceforge.net/mp-fonts-cyrillic.tar.gz) или с http://mplayer.gorodok.net/ . В архиве есть простая инструкция по установке и настройке размера и кодировки (CP1251/KOI8-R) шрифта. Кроме того prescaled шрифты, для любой поддерживаемой iconv кодировки, можно сгенерить самостоятельно, используя команду subfont из дистрибутива MPlayer и описанную в его документации. 2. TTF шрифты. Процесс установки и использования выглядит несколько более сложным: a) Скомпилировать mplayer с использованием ttf шрифтов: $ ./configure --enable-freetype b) скопировать виндовый шрифт arial.ttf в ~/.mplayer/subfont.ttf Майкрософтовские TrueType шрифты можно скачать с http://corefonts.sourceforge.net/ c) в командной строке MPlayer'а всегда указывать кодировку субтитров (-subcp CP1251) и размер шрифта (если нужен размер отличный от дефолтного: -subfont-text-scale <0-100>)