Тема Grub2 / синтаксис — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Новая страница: «<span style="font-size: 300%">'''Grub2 2.00'''</span> <br> Передо мной была поставлена задача реализовать тему для...»)
 
(Удалено содержимое страницы)
Строка 1: Строка 1:
<span style="font-size: 300%">'''Grub2 2.00'''</span>
 
<br>
 
Передо мной была поставлена задача реализовать тему для Grub2 на основе эскизов, разработанных дизайнером. Первое, что я сделал - это нашёл в сети документы и справочный материал по возможностям графического оформления Grub2. Оказалось, что таких статей много, но все они неполные, устаревшие и частично неверные.<br>
 
После я прочёл исходный код Grub2, связанный с графическим оформлением, добавил новую опцию и, попутно, исправил ошибку (оба патча отосланы в апстрим и приняты).<br>
 
Данная статья аккумулирует в себе всю информацию по синтаксису темы Grub2 версии 2.00<br>
 
  
= Типы данных =
 
== Цвет в консоли ==
 
 
Цвета текста консоли можно задать в файле /boot/grub2/custom.cfg <br>
 
Синтаксис файла:
 
color_normal=text-color/bg-color
 
menu_color_normal=text-color/bg-color
 
menu_color_highlight=text-color/bg-color
 
где "text-color" и "bg-color" - цвета для текста и фона из [[#colors_console|набора цветов]].<br>
 
Важно отметить, что "black" в качестве цвета фона - это "прозрачный" цвет в случае, если установлен фон терминала. <br>
 
* color_normal - цвет обычного текста консоли <br>
 
* menu_color_normal - цвет неактивных пунктов и рамки меню загрузки (в случае, если графическая оболочка Grub2 не загрузилась. Например, если есть фактическая ошибка в файле темы). <br>
 
* menu_color_highlight - цвет активного пункта меню загрузки.
 
<br>
 
 
== Цвет в теме ==
 
 
В файле темы цвет можно описать тремя способами:
 
* Стиль HTML. Формат "#RRGGBB" или "#RGB", где R, G, B - шестнадцатиричные цифры. (например, "#D4E0EC")
 
* Значения RGB, разделённые запятой. "(127,127,255)"
 
* Имена цветов [http://www.w3.org/TR/css3-color/#svg-color SVG 1.0]. Например, cornflowerblue. Указываются в нижнем регистре.
 
<br>
 
== Шрифт ==
 
 
Grub2 использует собственный [http://grub.gibibit.com/New_font_format формат шрифтов PFF2]. Необходимо использовать утилиту grub-mkfont для конвертации шрифтов одного из форматов BDF, PCF, TTF в формат, понятный для Grub2. У полученного с помощью утилиты файла должно быть разрешение pf2. Полученный файл необходимо поместить в папку с темой (/boot/grub2/themes/rosa/).<br>
 
В файле темы нужно указывать полное название шрифта и размер (например, "Droid Sans Mono Regular 11").<br>
 
<br>
 
 
== Числовое значение ==
 
 
Координаты и длины задаются числовыми значениями.<br>
 
Можно задать числовое значение тремя способами:
 
* Аболютное значение - в пикселях (например, 340)
 
* Относительное значение - в процентах от ширины \ высоты экрана. (например, 40%)
 
* Смешанное значение - смесь двух первых типов. (например, 50%-120)
 
<br>
 
 
== Текстовая строка ==
 
 
Строка текста - набор символов, заключённый в двойные кавычки. (например, "Edit entry")<br>
 
<br>
 
 
== Логическое значение ==
 
 
Только два значения.
 
* true (верно, да, включено)
 
* false (неверно, нет, выключено)
 
<br>
 
 
== Изображение ==
 
 
Абсолютный путь к файлу с изображением. Поддерживаемые форматы: JPG, PNG, TGA. Прозрачность поддерживается для тех файлов, формат которых позволяет прозрачность. (например, "/boot/grub2/themes/rosa/background.png")<br>
 
<br>
 
 
== Графическое оформление элемента ==
 
 
Для оформления фона элемента необходимо разрезать картинку фона на 9 частей:
 
{| class="wikitable" border="1"
 
| северо-запад<br>(nw) || север<br>(n) || северо-восток<br>(ne)
 
|-
 
| запад<br>(w) || центр<br>(c) || восток<br>(e)
 
|-
 
| юго-запад<br>(sw) || юг<br>(s) || юго-восток<br>(se)
 
|}
 
В скобках указано имя части. Для использования в теме необходимо каждый файл назвать по шаблону NAME_PART.EXT, где
 
* NAME - имя графического элемента, одинаковое для всех частей одного элемента (example)
 
* PART - имя части (sw)
 
* EXT - разрешение (png)
 
Таким образом, имя файла для данного примера (юго-западная часть элемента example) будет example_sw.png.<br>
 
Центральная часть растягивается в качестве фона на всю область, занимаемую элементом, остальные части образуют "рамочку" вокруг центральной области.<br>
 
Для того, чтобы понять, как масштабируются части нашего графического элемента, рассмотрим следующую таблицу:
 
 
{| class="wikitable" border="1"
 
| не масштабируется || ↔ || не масштабируется
 
|-
 
| ↕ || горизонтально и вертикально || ↕
 
|-
 
| не масштабируется || ↔ || не масштабируется
 
|}
 
Если какая-то часть отсутствует, она заменяется пустой.<br>
 
Файлы с частями необходимо поместить в директорию с темой.<br>
 
Для использования графического элемента в теме, используем шаблон "example_*.png" (или "NAME_*.EXT" в более общем виде)<br>
 
<br>
 
 
= Ключевые файлы темы =
 
 
# /etc/default/grub
 
# /boot/grub2/custom.cfg
 
# /boot/grub2/themes/rosa/theme.txt
 
<br>
 
 
= Использование тем =
 
 
Графическое меню Grub2 может быть изменено с помощью использования темы.<br>
 
Для этого нужно в директории /boot/grub2/themes/ создать пустую директорию (например, example/), создать файл ''theme.txt'', прописать в /etc/default/grub строчку c полным путём к файлу ''theme.txt''
 
GRUB_THEME="/boot/grub2/themes/example/theme.txt"
 
После любых изменений в /etc/default/grub необходимо выполнить update-grub2.
 
<br><br>
 
 
==Структура главного файла==
 
 
Тема Grub2 может содержать разнообразные элементы - изображения, строки, индикаторы обратного отсчёта времени, графические оформления элементов, меню загрузки. Также могут содержаться специальные элементы - контейнеры. Они содержат другие элементы. Корневой элемент - на самом деле частный случай элемента канва (''canvas''). Контейнеры могут содержать другие контейнеры.<br>
 
Компоненты и их свойства описываются в обычном текстовом файле (theme.txt).<br>
 
Главный файл темы содержит только два типа конструкций:
 
* OPTION = VALUE
 
* + CONTAINER { ... }
 
Первая конструкция - объявление значения свойства внутри данного контейнера. Не должно объявляться дважды одно и то же свойство.<br>
 
Вторая конструкция - начинается со знака "+", далее идёт тип контейнера и в фигурных скобках содержимое - свойства и\или другие контейнеры.<br>
 
Строчки, начинающиеся с "#" - комментарии.<br>
 
Допустима как запись
 
+ CONTAINER {OPTION_1 = VALUE_1 OPTION_2 = VALUE_2 ... OPTION_N = VALUE_N }
 
так и многострочная запись
 
+ CONTAINER {
 
    OPTION_1 = VALUE_1
 
    OPTION_2 = VALUE_2
 
    ...
 
    OPTION_N = VALUE_N
 
}
 
Пробелы игнорируются. Так что строчки
 
color = "127, 127, 0"
 
 
color="127,127,0"
 
означают одно и то же.
 
<br><br>
 
 
==<span id="common_options">Общие свойства для всех объектов</span>==
 
 
Эти свойства применимы ко всем элементам (когда не указано обратное).<br>
 
Отсчёт идёт, как обычно, от левого верхнего угла.
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| left || Позиция левого края элемента || Числовое ||
 
|-
 
| top || Позиция верхнего края элемента || Числовое ||
 
|-
 
| width || Ширина элемента || Числовое ||
 
|-
 
| height || Высота элемента || Числовое ||
 
|-
 
| id || Идентификатор элемента || Строка ||
 
|}
 
'''id''' Идентификатор компонента может быть любой текстовой строкой. ID может быть использовано скриптами для обращения к определённым компонентам в дереве компонент GUI. На текущий момент, есть только одно значение ID, опознаваемое Grub2:
 
:'''__timeout__''' На текущий момент '''id''' имеет особое значение для элементов типа ''[[#progress_bar_options | progress_bar]]'', ''[[#circular_progress_options | circular_progress]]'', ''[[#label_options | label]]''
 
<br>
 
 
==<span id="global_options">Глобальные свойства</span>==
 
Глобальные свойства описываются в корневом элементе файла ''theme.txt''<br>
 
Этот элемент на самом деле экземпляр [[#canvas_options | ''canvas'']] с дополнительными опциями:<br>
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| title-text || Заголовок меню || Строка || Загрузочное меню GRUB
 
|-
 
| title-font || Шрифт заголовка || Имя шрифта || Unknown Regular 16
 
|-
 
| title-color || Цвет шрифта заголовка || Цвет || black
 
|-
 
| message-font || Шрифт текста пунтов сообщений GRUB || Имя шрифта || Unknown Regular 16
 
|-
 
| message-color || Цвет текста пунктов сообщений GRUB || Цвет || white
 
|-
 
| message-bg-color || Фоновый цвет пунктов сообщений GRUB || Цвет || black
 
|-
 
| desktop-image || Фоновое изображение || Изображение ||
 
|-
 
| desktop-color || Цвет фона, если не указано <br>фоновое изображение || Цвет || white
 
|-
 
| terminal-box || Оформление консоли || Оформление || Чёрный прямоугольник
 
|-
 
| terminal-font || Шрифт консоли || Имя шрифта || Fixed 10
 
|}
 
<br>
 
 
==<span id="boot_menu_options">Меню загрузки (boot_menu)</span>==
 
''boot_menu'' описывает графический стиль меню загрузки. Этот компонент обязательно должен быть включён в основной файл темы.<br>
 
''boot_menu'' обладает всеми [[#common_options | общими свойствами]] и, дополнительно:
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| visible || Показать или спрятать меню загрузки || Логическое || true
 
|-
 
| menu_pixmap_style || Оформление меню загрузки || Оформление ||
 
|-
 
| item_font || Шрифт пунктов меню || Имя шрифта || Unknown Regular 16
 
|-
 
| item_color || Цвет пунктов меню || Цвет || black
 
|-
 
| item_pixmap_style<sup>'''[[#boot_menu_star1 | *]]'''</sup> || Оформление неактивных пунктов меню || Оформление ||
 
|-
 
| selected_item_font || Шрифт выбранного пункта меню. Допустимые значения - имя шрифта или ''inherit''. Когда установлено ''inherit'', используется шрифт, установленный для свойства ''item_font'' || Имя шрифта || inherit
 
|-
 
| selected_item_color || Цвет выбранного пункта меню. Допустимые значения - цвет или ''inherit''. Когда установлено ''inherit'', используется цвет, установленный для свойства ''item_color'' || Цвет || inherit
 
|-
 
| selected_item_pixmap_style || Оформление выбранного пункта меню || Оформление ||
 
|-
 
| item_height || Высота каждого пункта меню || Числовое || 42
 
|-
 
| item_padding || Пространство, оставляемое по каждую сторону от пунктов меню || Числовое || 14
 
|-
 
| item_spacing || Пространство между пунктами меню || Числовое || 16
 
|-
 
| icon_width || Ширина иконки пунктов меню || Числовое || 32
 
|-
 
| icon_height || Высота иконки пунктов меню || Числовое ||32
 
|-
 
| item_icon_space || Пространство между иконкой и текстом пункта меню || Числовое ||4
 
|-
 
| scrollbar || Показать или спрятать полосу прокрутки || Логическое || true
 
|-
 
| scrollbar_width || Ширина полосы прокрутки || Числовое || 16
 
|-
 
| scrollbar_frame || Оформление фона полосы прокрутки || Оформление ||
 
|-
 
| scrollbar_thumb || Оформление ползунка полосы прокрутки || Оформление ||
 
|-
 
| theme_dir || Полный путь к директории с необходимыми текстурами. По умолчанию это та же директория, где находится файл ''theme.txt'' || Строка ||
 
|}
 
:<sup>'''<span id="boot_menu_star1">*</span>'''</sup> Разработано Владимиром Тестовым, ROSA. Добавлено патчем. Отослано в апстрим.
 
<br>
 
 
==<span id="progress_bar_options">Горизонтальный индикатор обратного отсчёта времени (progress_bar)</span>==
 
Отображение одноцветного или с наложенными текстурами горизонтального индикатора, который даёт графическое представление о времени, через которое выбранный пункт меню будет загружен.<br>
 
''progress_bar'' обладает всеми [[#common_options | общими свойствами]] и, дополнительно:
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| visible || Показать или спрятать горизонтальный индикатор || Логическое || true
 
|-
 
| bg_color || Цвет фона одноцветного горизонтального индикатора || Цвет || "128, 128, 128"
 
|-
 
| fg_color || Цвет одноцветного горизонтального индикатора || Цвет || "200, 200, 200"
 
|-
 
| border_color || Цвет рамки одноцветного горизонтального индикатора || Цвет || black
 
|-
 
| text || Текст, показанный на горизонтальном индикаторе. Возможные значения: <br>@TIMEOUT_NOTIFICATION_SHORT@ <br>@TIMEOUT_NOTIFICATION_MIDDLE@ <br>@TIMEOUT_NOTIFICATION_LONG@, или<br>любая допустимая строка [[#progress_bar_modes | '''**''']] || Строка ||
 
|-
 
| text_color || Цвет шрифта || Цвет || black
 
|-
 
| font || Используемые шрифт || Имя шрифта || Unknown Regular 16
 
|-
 
| bar_style || Фоновое изображение для горизонтального индикатора с наложенными текстурами. Если не указано, то отображается одноцветный горизонтальный индикатор. || Оформление ||
 
|-
 
| highlight_style || Изображение для горизонтального индикатора с наложенными текстурами. Если не указано, то отображается одноцветный горизонтальный индикатор. || Оформление ||
 
|-
 
| theme_dir || Полный путь к директории с необходимыми текстурами. По умолчанию это та же директория, где находится файл ''theme.txt'' || Строка ||
 
|}
 
:'''*''' Необходимо придать id значение "__timeout__" для отображения оставшегося времени
 
:'''<span id="progress_bar_modes">**</span>'''@TIMEOUT_NOTIFICATION_SHORT@ для "''N''с"<br>@TIMEOUT_NOTIFICATION_MIDDLE@ для "осталось ''N''с." <br>@TIMEOUT_NOTIFICATION_LONG@ для "Выделенный пункт будет выполнен автоматически через ''N''с."<br> где ''N'' - это оставшееся время в секундах.
 
<br>
 
 
==<span id="circular_progress_options">Круговой индикатор обратного отсчёта времени (circular_progress)</span>==
 
Отображание кругового индикатора, который даёт графическое представление о времени, через которое выбранный пункт меню будет загружен.<br>
 
''circular_progress'' обладает всеми [[#common_options | общими свойствами]] и, дополнительно:
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| num_ticks || Количество тактов для полного цикла || Числовое || 64
 
|-
 
| start_angle || Позиция первого такта (показываемого или убираемого) || Числовое ||-64
 
|-
 
| ticks_disappear <sup>'''[[#circular_progress_strange | ?]]'''</sup> || Показывать или убирать такты. Установите на ''false'' для показывания тактов or ''true'' для убирания || Логическое || НЕ УКАЗАНО!!!
 
|-
 
| center_bitmap || Изображение, показанное в центре кругового индикатора || Изображение ||
 
|-
 
| tick_bitmap || Изображение для отображения тактов || Изображение ||
 
|-
 
| theme_dir || Полный путь к директории с необходимыми текстурами. По умолчанию это та же директория, где находится файл ''theme.txt'' || Строка ||
 
|}
 
:'''*''' Необходимо придать id значение "__timeout__" для отображения оставшегося времени
 
:<span id="circular_progress_strange"><sup>'''?'''</sup></span> Будет исправлено?
 
<br>
 
 
==<span id="label_options">Строка (label)</span>==
 
Компонент ''label'' отображает одну строчку текста на экране.<br>
 
''label'' обладает всеми [[#common_options | общими свойствами]] и, дополнительно:
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| text || Text to display. Possible values are: <br>@KEYMAP_SHORT@ <br>@KEYMAP_MIDDLE@ <br>@KEYMAP_LONG@, or<br>any valid string [[#label_modes | '''**''']] || Строка ||
 
|-
 
| font || Используемый шрифт || Имя шрифта || Unknown Regular 16
 
|-
 
| color || Цвет шрифта || Цвет || black
 
|-
 
| align || Горизонтальное выравнивание текста. Возможные значения: ''left'' (от левого края), ''center'' (по центру) или ''right'' (от правого края) || Строка || left
 
|}
 
:'''*''' Необходимо придать id значение "__timeout__" для отображения оставшегося времени
 
:Будет отображено ''N''с, где ''N'' - это количество оставшегося времени в секундах.
 
:'''<span id="label_modes">**</span>''' @KEYMAP_SHORT@ для "«enter»: загрузка, «e»: параметры, «c»: командная строка"<br> @KEYMAP_MIDDLE@ для "Нажмите «enter» для загрузки выбранной ОС, «e» для редактирования команд до загрузки или «c» для получения командной строки."<br> @KEYMAP_LONG@ для "Нажмите «enter» для загрузки выбранной ОС, «e» для редактирования команд до загрузки или «c» для получения командной строки. По ESC осуществляется возврат в предыдущее меню."
 
 
<br>
 
 
==<span id="image_options">Изображение (image)</span>==
 
Компонент ''image'' выводит изображение на экран. Изображение масштабируется под размеры компонента. (свойства ''width'' и ''height'')<br>
 
''image'' обладает всеми [[#common_options | общими свойствами]] и, дополнительно:
 
{| class="wikitable" border="1"
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| свойство || описание || тип значения || по умолчанию
 
|-
 
| file || Имя изображения || Строка ||
 
|-
 
| theme_dir || Полный путь к директории с необходимыми текстурами. По умолчанию это та же директория, где находится файл ''theme.txt'' || Строка ||
 
|}
 
<br>
 
 
==<span id="vbox_options">Вертикальный контейнер (vbox)</span>==
 
Компонент ''vbox'' - это контейнерный компонент, который выводит другие компоненты внутри себя по вертикали, начиная сверху. Он выставляет ширину каждого компонента внутри себя равной ширине самого широкого компонента. Этот контейнер сохраняет высоты компонентов.<br>
 
''vbox'' обладает всеми [[#common_options | общими свойствами]] за исключением ''width'' и ''height'', которые игнорируются.
 
<br><br>
 
 
==<span id="hbox_options">Горизонтальный контейнер (hbox)</span>==
 
Компонент ''hbox'' - это контейнерный компонент, который выводит другие компоненты внутри себя по горизонтали, начиная слева. Он выставляет высоту каждого компонента внутри себя равной высоте самого высокого компонента. Этот контейнер сохраняет ширины компонентов.<br>
 
''hbox'' обладает всеми [[#common_options | общими свойствами]] за исключением ''width'' и ''height'', которые игнорируются.
 
<br><br>
 
 
==<span id="canvas_options">Канва (canvas)</span>==
 
Компонент ''canvas'' - это контейнерный компонент, который позволяет размещать другие компоненты согласно их собственным положениями и размерам. В отличие от ''vbox'' и ''hbox'', он не изменяет размеры компонентов.<br>
 
''сanvas'' обладает всеми [[#common_options | общими свойствами]].
 
<br><br>
 
 
= Опции /etc/default/grub, влияющие на тему =
 
В файле /etc/default/grub есть несколько опций, напрямую связанных с темой Grub2. Опции задаются в виде OPTION=value, c начала строки, без пробелов, строки, начинающиеся со знака '''#''' - комментарии.<br>
 
После любых изменений в /etc/default/grub необходимо выполнить update-grub2, чтобы применить эти изменения.<br>
 
<br>
 
==GRUB_GFXMODE==
 
В этом параметре можно задать желаемое разрешение экрана при загрузке Grub2 и в теме Plymoth.<br>
 
Структура опции: GRUB_GFXMODE=WIDTHxHEIGHT, где
 
*WIDTH - ширина экрана
 
*HEIGHT - высота экрана
 
Например,
 
GRUB_GFXMODE=1024x768
 
<br>
 
==GRUB_THEME==
 
В этой опции нужно указать полный путь к теме Grub2.<br>
 
Структура опции: GRUB_THEME="FULL_PATH", где
 
*FULL_PATH - полный путь к файлу ''theme.txt'' выбранной темы.
 
Например,
 
GRUB_THEME="/boot/grub2/themes/rosa/theme.txt"
 
<br>
 
 
==LANG и LANGUAGE==
 
Для выбора локали Grub2, отличной от локали, выбранной в системе, стоит использовать данные опции.<br>
 
Реккомендуется использовать одновременно обе опции с одинаковым параметром для полного перевода.<br>
 
Структура опции LANG="xx_XX" и LANGUAGE="xx_XX", где
 
*xx_XX - выбранный язык, например, ru_RU<br>
 
Например,
 
LANG=ru_RU
 
LANGUAGE=ru_RU
 
<br>
 
 
==GRUB_BACKGROUND==
 
Чтобы задать фон консоли (непрозрачная картинка форматов PNG, JPG, TGA), необходимо прописать полный путь к файлу картинки в качестве параметра данной опции.<br>
 
Структура опции: GRUB_BACKGROUND="FULL_PATH", где
 
*FULL_PATH - полный путь до файла картинки.
 
Например,
 
GRUB_BACKGROUND="/boot/grub2/themes/rosa/terminal_background.png"
 
<br>
 
 
= <span id="colors_console"> Приложение А. Таблица цветов консоли. </span>=
 
{| class="wikitable" border="1"
 
|+ Цвета консоли
 
|- style="background:#7ebeec; color:black;font-weight: bold; text-align: center;"
 
| символ || имя цвета || значение
 
|-
 
| 0 || black ||  bgcolor="#000000" | <span style="color:#ffffff"> #000000 </span>
 
|-
 
| 1 || blue || bgcolor="#0000a8" | <span style="color:#ffffff"> #0000a8 </span>
 
|-
 
| 2 || green || bgcolor="#00a800" | <span style="color:#ffffff"> #00a800 </span>
 
|-
 
| 3 || cyan || bgcolor="#00a8a8" | <span style="color:#ffffff"> #00a8a8 </span>
 
|-
 
| 4 || red || bgcolor="#a80000" | <span style="color:#ffffff"> #a80000 </span>
 
|-
 
| 5 || magenta || bgcolor="#a800a8" | <span style="color:#ffffff"> #a800a8 </span>
 
|-
 
| 6 || brown || bgcolor="#a85400" | <span style="color:#ffffff"> #a85400 </span>
 
|-
 
| 7 || light-gray || bgcolor="#a8a8a8" | <span style="color:#000000"> #a8a8a8 </span>
 
|-
 
| 8 || dark-gray || bgcolor="#545454" | <span style="color:#ffffff"> #545454 </span>
 
|-
 
| 9 || light-blue || bgcolor="#5454fe" | <span style="color:#ffffff"> #5454fe </span>
 
|-
 
| A || light-green || bgcolor="#54fe54" | <span style="color:#000000"> #54fe54 </span>
 
|-
 
| B || light-cyan || bgcolor="#54fefe" | <span style="color:#000000"> #54fefe </span>
 
|-
 
| C || light-red || bgcolor="#fe5454" | <span style="color:#000000"> #fe5454 </span>
 
|-
 
| D || light-magenta || bgcolor="#fe54fe" | <span style="color:#000000"> #fe54fe </span>
 
|-
 
| E || yellow || bgcolor="#fefe54" | <span style="color:#000000"> #fefe54 </span>
 
|-
 
| F || white || bgcolor="#fefefe" | <span style="color:#000000"> #fefefe </span>
 
|}
 
<br><br>
 
Владимир Тестов, ROSA, 2012.
 

Версия 15:22, 25 декабря 2012