summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/ru/skin.xml
diff options
context:
space:
mode:
authorvoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-17 12:06:02 +0000
committervoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-17 12:06:02 +0000
commit00f8a3c887a3440f1b2812f58bf2e83cacc5601e (patch)
tree81709ea5e8bcee35686b77bcc2f443ed8269d494 /DOCS/xml/ru/skin.xml
parent62967911f0ac40b10c7f3da707bcad37da106485 (diff)
downloadmpv-00f8a3c887a3440f1b2812f58bf2e83cacc5601e.tar.bz2
mpv-00f8a3c887a3440f1b2812f58bf2e83cacc5601e.tar.xz
translation by Vladimir Voroshilov, voroshil gmail com
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19870 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/xml/ru/skin.xml')
-rw-r--r--DOCS/xml/ru/skin.xml1156
1 files changed, 1156 insertions, 0 deletions
diff --git a/DOCS/xml/ru/skin.xml b/DOCS/xml/ru/skin.xml
new file mode 100644
index 0000000000..eab51261be
--- /dev/null
+++ b/DOCS/xml/ru/skin.xml
@@ -0,0 +1,1156 @@
+<?xml version="1.0" encoding="koi8-r"?>
+<!-- synced with r19081 -->
+<appendix id="skin">
+<title>Формат скинов <application>MPlayer</application></title>
+
+<sect1 id="skin-overview">
+<title>Обзор</title>
+<para>
+На самом деле с форматом скинов уже нет неоходимости что-либо делать, но вам
+следует знать, что <application>MPlayer</application>
+<emphasis role="bold">не имеет</emphasis> встроенного скина, так что
+<emphasis role="bold">как минимум однин скин должнен быть установлен, для
+возможности использовать GUI.</emphasis>
+</para>
+
+<sect2 id="skin-overview-directories">
+<title>Каталоги</title>
+<para>
+Скины ищутся в следующих каталогах (по порядку):
+<orderedlist>
+<listitem><para>
+<filename class="directory">$(DATADIR)/skins/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">~/.mplayer/skins/</filename>
+</para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Имейте в виду, что первый путь может меняться в соответствии с конфигурацией
+<application>MPlayer</application> (смотрите аргументы скрипта
+<command>configure</command> <option>--prefix</option> и <option>--datadir</option>).
+</para>
+
+<para>
+Каждый скин устанавливается в его собственный подкаталог, в одном из указанных выше
+каталогов, например:
+<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
+</para>
+</sect2>
+
+<sect2 id="skin-overview-formats">
+<title>Форматы изображений</title>
+<para>Изображениями должны быть truecolor (24 или 32 бит/пиксел) PNG.</para>
+<para>
+В главном окне и полосе воспроизведения (смотрите ниже) можно использовать
+изобрадения с 'прозрачностью': Области, заполненные цветом #FF00FF (magenta) полностью
+прозрачны при просмотре программой <application>MPlayer</application>. Это значит, что
+если ваш X сервер поддерживает расширение XShape, вы сможете получить даже
+окна произвольной формы.
+</para>
+</sect2>
+
+<sect2 id="skin-overview-components">
+<title>Компоненты скина</title>
+<para>
+Скины имеют достаточно свободный формат (в отличие,например, от скинов
+<application>Winamp</application>/<application>XMMS</application>,
+имеющих формат фиксированный), так что зависит исключительно от вас, выйдет ли
+у вас что-то грандиозное.
+</para>
+
+<para>
+В данный момент могут быть оформлены четыре окна:
+<link linkend="skin-file-main">главное окно</link>,
+<link linkend="skin-file-subwindow">вспомогательное окно</link>,
+<link linkend="skin-file-main">полоса воспроизведения</link>, and the
+<link linkend="skin-file-menu">меню со скинами</link> (активирующееся правым щелчком
+мыши).
+
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">Главное окно</emphasis> и/или
+ <emphasis role="bold">полоса воспроизведения</emphasis> - те, через которые вы
+ управляете <application>MPlayer</application>. Фон окна - это изображение.
+ Различные элементы могут (и должны) размещаться в окне: <emphasis>кнопки</emphasis>,
+ <emphasis>ползунки</emphasis> и <emphasis>надписи</emphasis>.
+ Для каждого элемента должен быть задан размер и положение.
+</para><para>
+ <emphasis role="bold">Кнопка</emphasis> имеет три состояния (нажата, отпущена,
+ отключена), таким образом, ее изображение должно быть разделено вертикально на три части.
+ Смотрите элемент <link linkend="skin-button">кнопка</link> для подробностей.
+</para><para>
+ <emphasis role="bold">Ползунок</emphasis> (в основном используется для полосы перемещения
+ и управления громкостью/балансом) может иметь любое количество положений, задаваемых делением
+ его изображения на различные части одна под другой. Смотрите
+ <link linkend="skin-hpotmeter">hpotmeter</link> и
+ <link linkend="skin-potmeter">potmeter</link> для подробностей.
+</para><para>
+ <emphasis role="bold">Надписи</emphasis> чуть особеннее: Символы, необходимые для их
+ отрисовки, берутся из графического файла, и задаются
+ <link linkend="skin-fonts">файлом описания шрифта</link>.
+ Последний - это текстовый файл, указывающий x,y положения и размер каждого символа
+ в файле с изображением (файл изображения и файл описания шрифта
+ <emphasis>вместе</emphasis> формируют шрифт). Смотрите <link linkend="skin-dlabel">dlabel</link>
+ и <link linkend="skin-slabel">slabel</link> для подробностей.
+</para>
+<note><para>Все изображения могут быть полностью прозрачными, как описано в разделе,
+ посвященном <link linkend="skin-overview-formats">форматам изображений</link>. Если X
+ сервер не поддерживает расширение XShape, части, помеченные как прозрачные, будут черными.
+ Если вам нравится использовать эту возможность, ширина фона главного окна должна
+ делиться на 8.
+</para></note>
+</listitem>
+
+<listitem><para>
+ <emphasis role="bold">Вспомогательное окно</emphasis> - это то, где появляется фильм.
+ Оно может отображать указанную картинку, если никакого фильма не загружено (пустое окно
+ немного надоедает :-)) <emphasis role="bold">Замечание:</emphasis> прозрачность здесь
+ <emphasis role="bold">не допускается</emphasis>.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">Меню со скинами</emphasis> - всего лишь способ управлять
+ <application>MPlayer</application> в понятиях елементов меню. Для меню требуются
+ два изображения: одно из них - основное, показывает меню в обычном режиме,
+ другое используется для отображения выбранных элементов. Когда появляется меню,
+ отображается первое. Если вы перемещаете мышь над элементами меню,
+ выбранный элемент копируется из второго изображения поверх элемента меню под указателем мыши
+ (второе изображение никогда не отображается целиком).
+</para><para>
+ Элемент меню определяется его позицией и размером изображения (смотрите раздел,
+ посвященный <link linkend="skin-file-menu">меню со скинами</link> для подробностей).
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+ Важная вешь, не упомянутая выше: Чтобы работали кнопки, ползунки и элементы меню,
+ <application>MPlayer</application> должен знать, что делать, если на них
+ щелкнули мышью. Это делается при помощи <link linkend="skin-gui">сообщений</link>
+ (событий). Для этих элементов вы должны определить сообщения, генерируемые, когда
+ на них щелкают мышью.
+</para>
+</sect2>
+
+<sect2 id="skin-files">
+<title>Файлы</title>
+<para>
+Вам нужны следующие файлы для создания скина:
+<itemizedlist>
+<listitem><para>
+ Файл конфигурации, называющийся <link linkend="skin-file">skin</link> говорит
+ <application>MPlayer</application> как совместить разные части скина воедино,
+ и что делать, если производится щелчок где-нибудь в окне.
+</para></listitem>
+<listitem><para>
+ Фоновое изображение главного окна.
+</para></listitem>
+<listitem><para>
+ Изображения элементов главного окна (включая один или более файлов описания шрифтов,
+ необходимых для отрисовки надписей.
+</para></listitem>
+<listitem><para>
+ Изображение, показываемое во вспомогательном окне (необязательно).
+</para></listitem>
+<listitem><para>
+ Два изображения для меню со скинами (нужны, только если вы хотите создавать меню).
+</para></listitem>
+</itemizedlist>
+ Все файлы, за исключением skin, могут быть названы так, как вам захочется
+ (но заметьте, что файлы описания шрифтов дожны иметь расширение
+ a <filename>.fnt</filename>).
+</para>
+</sect2>
+</sect1>
+<sect1 id="skin-file">
+<title>Файл skin</title>
+<para>
+Как описано выше, это файл конфигурации скина. он строчно-орентирован:
+строки комментариев начинаются с символа '<literal>;</literal>' в начале
+строки (только пробелы и табуляция допускается перед символом '<literal>;</literal>').
+</para>
+
+<para>
+Файл создается из разделов. Каждый описывает скин для приложения и
+имеет следующую форму:
+<programlisting>
+section = <replaceable>название раздела</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+В данный момент приложение одно, так что вам потребуется только один раздел: его название
+<emphasis role="bold">movieplayer</emphasis>.
+</para>
+
+<para>
+В пределах раздела каждое окно описывается блоком следующей структуры:
+<programlisting>
+window = <replaceable>название окна</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+где <replaceable>название окна</replaceable> может быть одной из этих строк:
+<itemizedlist>
+<listitem><para><emphasis role="bold">main</emphasis> - главное окно</para></listitem>
+<listitem><para><emphasis role="bold">sub</emphasis> - вспомогательное окно</para></listitem>
+<listitem><para><emphasis role="bold">menu</emphasis> - меню со скинами</para></listitem>
+<listitem><para><emphasis role="bold">playbar</emphasis> - полоса воспроизведения</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+(Блоки sub и menu опциональные - необязательно создавать меню или оформлять вспомогательное
+окно.)
+</para>
+
+<para>
+В пределах блока window вы можете описать каждый элемент окна строкой в следующем формате:
+<programlisting>item = parameter</programlisting>
+Где <literal>item</literal> - это строка, определяющая тип элемента GUI,
+<literal>parameter</literal> - числовое или текстовое значение (или список значений, разделенных
+запятой).
+</para>
+
+<para>
+Если собрать все вместе, файл целиком будет выглядеть примерно так:
+<programlisting>
+section = movieplayer
+ window = main
+ ; ... items for main window ...
+ end
+
+ window = sub
+ ; ... items for subwindow ...
+ end
+
+ window = menu
+ ; ... items for menu ...
+ end
+
+ window = playbar
+ ; ... items for playbar ...
+ end
+end
+</programlisting>
+</para>
+
+<para>
+Название файла с изображением должно указываться без лидирующих каталогов -
+изображения ищутся в каталоге <filename class="directory">skins</filename>.
+Вы можете (но не обязаны) указать расширение файла. Если файл не существует,
+<application>MPlayer</application> пытается загрузить файл
+<filename>&lt;filename&gt;.&lt;ext&gt;</filename>, где <literal>png</literal>
+и <literal>PNG</literal> пробуются вместо <filename>&lt;ext&gt;</filename>
+(в этом порядке). Будет использоваться первый найденный файл.
+</para>
+
+<para>
+И наконец несколько слов о позиционировании. Главное и вспомогательное окна могут
+быть размещены в разных углах экрана указанием <literal>X</literal> и
+<literal>Y</literal> координат. <literal>0</literal> - это верхний и левый край,
+<literal>-1</literal> - центр и <literal>-2</literal> - правый или нижний, как
+указано на иллюстрации:
+</para>
+<informalfigure>
+<screen>
+(0, 0)----(-1, 0)----(-2, 0)
+ | | |
+ | | |
+(0,-1)----(-1,-1)----(-2,-1)
+ | | |
+ | | |
+(0,-2)----(-1,-2)----(-2,-2)
+</screen>
+</informalfigure>
+
+<para>
+Вот пример, чтобы было понятнее. Предположим вы имеете изображение, называющееся
+<filename>main.png</filename>, которое используете для главного окна:
+<programlisting>base = main, -1, -1</programlisting>
+<application>MPlayer</application> пытается загрузить файлы <filename>main</filename>,
+<filename>main.png</filename>, <filename>main.PNG</filename>.
+</para>
+
+<sect2 id="skin-file-main">
+<title>Главное окно и полоса воспроизведения</title>
+<para>
+Ниже - список элементов, которые можно указывать в
+'<literal>window = main</literal>' ... '<literal>end</literal>',
+и '<literal>window = playbar</literal>' ... '<literal>end</literal>'
+блоках.
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-main-base"/>base = image, X, Y
+ </literal></term>
+ <listitem><para>
+Позволяет вам указать фоновое изображение, используемое в главном окне.
+Окно будет появляться в указанной <literal>X,Y</literal> позиции на экране и
+иметь размер изображения.
+ </para>
+ <note><para>Эти координаты пока не работают для окна отображения.</para></note>
+ <warning><para>Прозрачные регионы в изображении (цвет #FF00FF) станут черными
+ на X сервере без расширения XShape. Ширина картинки должна делиться
+ на 8.</para></warning>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-button"/>button = image, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+Размещает кнопку размера <literal>width</literal> * <literal>height</literal> на
+позиции <literal>X,Y</literal>. Указанное сообщение <literal>message</literal>
+генерируется при щелчке на кпопку. Изображение <literal>image</literal>,
+должно иметь три части одна ниже другой (в соответствии с возможными состояниями
+кнопки), как здесь:
+</para>
+<informalfigure>
+<screen>
++------------+
+| нажата |
++------------+
+| отпущена |
++------------+
+| отключена |
++------------+
+</screen>
+</informalfigure>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-decoration"/>decoration = enable|disable
+ </literal></term>
+ <listitem><para>
+Включает или выключает декорации главного окна, осуществляемые window manager . По-умолчанию
+<emphasis role="bold">disable</emphasis>.
+ </para>
+ <note><para>Это не работает для окна отображения, в этом нет надобности.</para></note>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+Размещает горизонтальный (hpotmeter) или вертикальный (vpotmeter) ползунок размера
+<literal>width</literal> * <literal>height</literal> на позиции
+<literal>X,Y</literal>. Изображение может быть разделено на разные части для
+указания различных положений ползунка (например, вы можете иметь регулятор для
+управления громкостью звука, изменющийся с красного на зеленый при изменении его
+уровня с минимального на максимальный.). <literal>hpotmeter</literal> может иметь
+кнопку, которую можно таскать горизонтально. Параметры:
+ </para>
+ <itemizedlist>
+ <listitem><para><literal>button</literal> - изображение, используемое для
+ кнопки (должно иметь три части одна под другой, как в случае
+ <link linkend="skin-button">кнопки</link>)
+ </para></listitem>
+ <listitem><para><literal>bwidth</literal>, <literal>bheight</literal> - размер
+ кнопки
+ </para></listitem>
+ <listitem><para><literal>phases</literal> - изображение, используемое для
+ различных положений hpotmeter. Специальное значение <literal>NULL</literal>
+ может использоваться, если подобное изображение вам не нужно. Изображение
+ должно быть разделено вертикально на
+ <literal>numphases</literal> частей, как указано ниже:
+ </para>
+<informalfigure>
+<screen>
++--------------+
+| положение #1 |
++--------------+
+| положение #2 |
++--------------+
+ ...
++--------------+
+| положение #n |
++--------------+
+</screen>
+</informalfigure>
+ </listitem>
+ <listitem><para><literal>numphases</literal> - количество положений в изображении
+ <literal>phases</literal>
+ </para></listitem>
+ <listitem><para><literal>default</literal> - положение hpotmeter по-умолчанию
+ (в диапазоне от <literal>0</literal> до <literal>100</literal>)
+ </para></listitem>
+ <listitem><para><literal>X</literal>, <literal>Y</literal> - позиция hpotmeter
+ </para></listitem>
+ <listitem><para><literal>width</literal>, <literal>height</literal> - ширина и высота
+ <literal>hpotmeter</literal>
+ </para></listitem>
+ <listitem><para><literal>message</literal> - сообщение, генерируемое при изменении значения
+ <literal>hpotmeter</literal>
+ </para></listitem>
+ </itemizedlist>
+
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+<literal>hpotmeter</literal> без кнопки.
+<!-- FIXME need correct translation
+(I guess it is meant to be
+turned around, but it reacts to horizontal dragging only.)
+-->
+(Я предполагаю, что это означает повернутый вокруг,
+но он реагирует только на горизонтальное перетаскивание.) Для описания параметров смотрите
+<link linkend="skin-hpotmeter">hpotmeter</link>.
+<literal>phases</literal> может быть равен <literal>NULL</literal>, но это совершенно
+бесполезно, поскольку вы не сможете определить в каком положении
+находится <literal>potmeter</literal>.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-font"/>font = fontfile, fontid
+ </literal></term>
+ <listitem><para>
+Определяет шрифт. <literal>fontfile</literal> - это название файла описания шрифта
+с расширением <filename>.fnt</filename> (не указывайте расширение здесь).
+<literal>fontid</literal> используется для ссылки на шрифт (смотрите <link linkend="skin-dlabel">dlabel</link>
+и <link linkend="skin-slabel">slabel</link>). Может быть определено до 25 шрифтов.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;text&quot;
+ </literal></term>
+ <listitem><para>
+Размещает статическую метку на позиции <literal>X,Y</literal>. <literal>text</literal>
+отображается, используя шрифт, определенный по <literal>fontid</literal>.
+Текст - просто обычная строка (<literal>$x</literal> переменные не работают), которая должна
+быть заключена в двойные кавычки (но символ &quot; не может быть частью текста).
+Метка отображается, используя шрифт определенный по <literal>fontid</literal>.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, &quot;text&quot;
+ </literal></term>
+ <listitem>
+<para>
+Размещает динамическую метку на позиции <literal>X,Y</literal>. Метка зовется
+динамической, потому что ее текст периодически обновляется. Максимальная длина
+метки задается параметром <literal>length</literal> (ее высота равна высоте символа).
+Если отображаемый текст шире этого значения, он будет скроллироваться,
+иначе он выравнивается в пределах указанного пространства в соответствии со
+значением параметра
+<literal>align</literal>: <literal>0</literal> - вправо,
+<literal>1</literal> - по центру, <literal>2</literal> - влево.
+</para>
+<para>
+Отображаемый текст задается параметром <literal>text</literal>: Он должен быть
+заключен в двойные кавычки (но символ &quot; не может быть частью текста).
+Метка отображается, используя шрифт, определяемый по <literal>fontid</literal>.
+Вы можете использовать следующие переменные в тексте:
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+ <row><entry>Переменная</entry><entry>Значение</entry></row>
+</thead>
+<tbody>
+<row>
+<entry>$1</entry>
+<entry>время воспроизведения в формате <emphasis>чч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$2</entry>
+<entry>время воспроизведения в формате <emphasis>мммм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$3</entry>
+<entry>время воспроизведения формате <emphasis>чч</emphasis>(часы)</entry>
+</row>
+<row>
+<entry>$4</entry>
+<entry>время воспроизведения в формате <emphasis>мм</emphasis>(минуты)</entry>
+</row>
+<row>
+<entry>$5</entry>
+<entry>время воспроизведения в формате <emphasis>сс</emphasis>(секунды)</entry>
+</row>
+<row>
+<entry>$6</entry>
+<entry>длительность фильма в формате <emphasis>чч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$7</entry>
+<entry>длительность фильма в формате <emphasis>мммм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$8</entry>
+<entry>время воспроизведения формате <emphasis>ч:мм:сс</emphasis></entry>
+</row>
+<row>
+<entry>$v</entry>
+<entry>кромкость в формате <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$V</entry>
+<entry>кромкость в формате <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$b</entry>
+<entry>баланс в формате <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$B</entry>
+<entry>баланс в формате <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$$</entry>
+<entry>символ $</entry>
+</row>
+<row>
+<entry>$a</entry>
+<entry>символ ,соответствующий типу звука (нет: <literal>n</literal>,
+моно: <literal>m</literal>, стерео: <literal>t</literal>)</entry>
+</row>
+<row>
+<entry>$t</entry>
+<entry>номер дорожки (в плейлисте)</entry>
+</row>
+<row>
+<entry>$o</entry>
+<entry>имя файла</entry>
+</row>
+<row>
+<entry>$f</entry>
+<entry>имя файла в нижнем регистре</entry>
+</row>
+<row>
+<entry>$F</entry>
+<entry>имя файла в верхнем регистре</entry>
+</row>
+<row>
+<entry>$T</entry>
+<entry>символ, соответствующий типу потока (файл: <literal>f</literal>,
+Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
+</row>
+<row>
+<entry>$p</entry>
+<entry>символ <keycap>p</keycap> (если фильм воспроизводится и шрифт имеет
+символ <keycap>p</keycap>)</entry>
+</row>
+<row>
+<entry>$s</entry>
+<entry>символ <keycap>s</keycap> (если фильм остановлен и шрифт имеет
+символ <keycap>s</keycap>)</entry>
+</row>
+<row>
+<entry>$e</entry>
+<entry>символ <keycap>e</keycap> (если фильм на паузе и шрифт имеет
+символ <keycap>e</keycap>)</entry>
+</row>
+<row>
+<entry>$x</entry>
+<entry>ширина фильма</entry>
+</row>
+<row>
+<entry>$y</entry>
+<entry>высота фильма</entry>
+</row>
+<row>
+<entry>$C</entry>
+<entry>название используемого кодека</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</listitem>
+
+</varlistentry>
+</variablelist>
+
+<note><para>
+Переменные <literal>$a, $T, $p, $s</literal> и <literal>$e</literal> все
+возвращают символы, которые должны быть отображены в качестве специальных значков
+(например, <keycap>e</keycap> - для значка паузы, который обычно выглядит как ||).
+Вы должны иметь шрифт для обычных символов и отличающийся шрифт для значков.
+Смотрите раздел о <link linkend="skin-fonts-symbols">значках</link>
+для дополнительной информации.
+</para></note>
+</sect2>
+<sect2 id="skin-file-subwindow">
+<title>Вспомогательное окно</title>
+<para>
+Следующие элементы модут быть использованы в блоке
+'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-sub-base"/>base = image, X, Y, width, height
+ </literal></term>
+ <listitem><para>
+Изображение, отображаемое в окне. Окно будет появляться в указанной позиции
+<literal>X,Y</literal> экрана (<literal>0,0</literal> - верхний левый угол).
+Вы можете указать <literal>-1</literal> для центра и <literal>-2</literal>
+для правого (<literal>X</literal>) и нижнего (<literal>Y</literal>) края.
+Окно будет того же размера, что и изображение. <literal>width</literal> и
+<literal>height</literal> означают размер окна; они необязательны
+(если отсутствуют, окно будет иметь те же размеры, что и изображение).
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-background"/>background = R, G, B
+ </literal></term>
+ <listitem><para>
+Позволяет указать цвет фона. Это полезно, если изображение меньше окна.
+<literal>R</literal>, <literal>G</literal> и <literal>B</literal>
+указывают красную, зеленую и синюю составляющие цвета (каждое из них -
+десятичное число от 0 до 255).
+ </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="skin-file-menu">
+<title>Меню со скинами</title>
+<para>
+Как было описано выше, меню отображается при помощи двух картинок. Нормальные
+элементы меню берутся из изображения, указанного элементом <literal>base</literal>,
+в то время как выделенный в данный момент эелемент берется из изображения,
+указанного элементом <literal>selected</literal>. Вы должны определить позицию и
+размер каждого элемента меню.
+</para>
+
+<para>
+Следующие элементы можно использовать в блоке
+'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-menu-base"/>base = image
+ </literal></term>
+ <listitem><para>
+Изображение для нормальных элементов меню.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-selected"/>selected = image
+ </literal></term>
+ <listitem><para>
+Изоражение, показывающее меню со всеми выделенными элементами.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-menu"/>menu = X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+Определяет позицию <literal>X,Y</literal> и размер элемента меню в изображении.
+<literal>message</literal> - это сообщение, генерируемое, когда кнопка мыши будет отпущена
+над элементом меню.
+ </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+</sect1>
+
+<sect1 id="skin-fonts">
+<title>Шрифты</title>
+<para>
+Как описано в разделе, посвященому частям скина, шрифт определяется
+изображением и файлом описания. Вы можете поместить символы в любое место изображения,
+но будьте уверены, что их позоция и размер точно указаны в файле описания.
+</para>
+
+<para>
+Файл описания шрифта (с расширением <filename>.fnt</filename>) может иметь комментарии,
+начинающиеся с '<literal>;</literal>'. Файл должен иметь строку вида
+<anchor id="skin-font-image"/>
+<programlisting>image = <replaceable>image</replaceable></programlisting>,
+где <literal><replaceable>image</replaceable></literal> - это название
+файла с изображением, используемым для шрифта (расширение указывать необязательно).
+<anchor id="skin-font-char"/>
+<programlisting>&quot;char&quot; = X, Y, width, height</programlisting>
+Здесь <literal>X</literal> и <literal>Y</literal> указывают позицию символа
+<literal>char</literal> в изображении (<literal>0,0</literal> - верхний левый угол),
+<literal>width</literal> и <literal>height</literal> - размеры символа в пикселах.
+</para>
+
+<para>
+Этот пример определяет символы A, B, C, используя <filename>font.png</filename>.
+<programlisting>
+; Can be &quot;font&quot; instead of &quot;font.png&quot;.
+image = font.png
+
+; Three characters are enough for demonstration purposes :-)
+&quot;A&quot; = 0,0, 7,13
+&quot;B&quot; = 7,0, 7,13
+&quot;C&quot; = 14,0, 7,13
+</programlisting>
+</para>
+
+<sect2 id="skin-fonts-symbols">
+<title>Значки</title>
+<para>
+Некоторые символы иеют специальное значение, когда возвращаются некоторыми переменными,
+используемыми в <link linkend="skin-dlabel">dlabel</link>. Подразумевается, что эти символы
+должны отображаться в виде значков, так для DVD потока можно отображать значок
+красивого логотипа DVD вместо символа '<literal>d</literal>'.
+</para>
+<para>
+Следующая таблица содержит список всех символов, которые могут использоваться для
+отображения значков (и поэтому требуют другой шрифт).
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+ <row><entry>Символ</entry><entry>Значок</entry></row>
+</thead>
+<tbody>
+<row><entry><keycap>p</keycap></entry><entry>воспроизведение</entry></row>
+<row><entry><keycap>s</keycap></entry><entry>стоп</entry></row>
+<row><entry><keycap>e</keycap></entry><entry>пауза</entry></row>
+<row><entry><keycap>n</keycap></entry><entry>без звука</entry></row>
+<row><entry><keycap>m</keycap></entry><entry>звук моно</entry></row>
+<row><entry><keycap>t</keycap></entry><entry>звук стерео</entry></row>
+<row><entry><keycap>f</keycap></entry><entry>файл</entry></row>
+<row><entry><keycap>v</keycap></entry><entry>Video CD</entry></row>
+<row><entry><keycap>d</keycap></entry><entry>DVD</entry></row>
+<row><entry><keycap>u</keycap></entry><entry>URL</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect2>
+</sect1>
+
+<sect1 id="skin-gui">
+<title>GUI сообщения</title>
+<para>
+Это сообщения, которые могут генерировться кнопками, ползунками и элементами меню.
+</para>
+
+<variablelist>
+<title>Управление воспроизведением:</title>
+<varlistentry>
+ <term><emphasis role="bold">evNext</emphasis></term>
+ <listitem><para>
+Переход к следующему элементу списка воспроизведения.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evPause</emphasis></term>
+ <listitem><para>
+Вместе с <literal>evPlaySwitchToPause</literal> формирует переключатель паузы.
+Может быть использовано для общей кнопки воспроизведение/пауза. Оба сообщения
+должны быть назначены кнопкам, находящимся практически в одной точке окна.
+Это сообщение ставит воспроизведение на паузу и показывает изображение кнопки с
+назначенным сообщением <literal>evPlaySwitchToPause</literal>
+(чтобы показать, что кнопка может быть нажата для продолжения воспроизведения).
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evPlay</emphasis></term>
+ <listitem><para>
+Старт воспроизведения.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
+ <listitem><para>
+Противоположность <literal>evPauseSwitchToPlay</literal>. Это сообщение
+запускает воспроизведение и показывает изображение кнопки с
+назначенным сообщением <literal>evPauseSwitchToPlay</literal>
+(чтобы показать, что кнопка может быть нажата для включения паузы).
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evPrev</emphasis></term>
+ <listitem><para>
+Переход к предыдущему элементу списка воспроизведения.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evStop</emphasis></term>
+ <listitem><para>
+Останавливает воспроизведение.
+ </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Перемещение:</title>
+<varlistentry>
+ <term><emphasis role="bold">evBackward10sec</emphasis></term>
+ <listitem><para>
+Перемещение назад на 10 секунд.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evBackward1min</emphasis></term>
+ <listitem><para>
+Перемещение назад на 1 минуту.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><emphasis role="bold">evBackward10min</emphasis></term>
+ <listitem><para>
+Перемещение назад на 10 минут.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><