Страница 1 из 1

Делаем темы на A780/e680i, делаем своими ручками...

Добавлено: 25.12.2007 11:10
Blaze
Глава 1: Что такое - Тема в A780/E680i?
Требование :

1. Утилита архиватора файла, которая может упаковать вещи/распаковать в формате TAR
И GZIP. Я использую.
7-zip - бесплатное программное обеспечение, распределенное под GNU LGPL. Скачать
7-zip можно на сайте http://www.7-zip.org

2. Файл темы .mtf для испытания.

Что такое - Тема для A780/E680i? Тема - файл пакета, который состоит с:
иконки(icon), кнопки(button), полосы прокрутки(scrollbar), строки меню(menubar), строка состояния (statusbar), цвета(color), вкл\выкл мультипликациии(power on/off animation). Файл темы создаётся с расширением tar и gzip ,то же самое расширения .tar.gz до .mtf.
В Windows мы можем упаковывать/разпаковывать в формат TAR и GZIP с помощью 7-zip.
Изображение
Изображение
Как извлечь Тему:
1. Открыть mtf файл с помощью 7-zip, там мы нашли 2 папки ezxlocal и diska.
2. Извлеките ezxlocal и diska в папку. Позвольте видеть то, что - в них.

1. Файл конфигурации темы (Themename.dhm) - нормальный текстовый файл, который содержат цветовую палитру темы и путь файла темы. Файл конфигурации темы, расположен в /ezxlocal/download/appwrite/setup
2. iconres.ezx - двоичный файл, который содержат все иконки в теме. Оригинал iconres.ezx содержит приблизительно 1900 иконок (2.5MB) .И определите местонахождение /usr/language/icon, но в теме, которую мы хотим создать, используются только 200-300 иконок и размер файла не должн быть больше чем 1.0MB
Изображение
3. Файл скина (.skn) - двоичный файл, который содержет изображение PNG, которые используют для основного компонента в дисплее как Кнопка(Button), Полоса прокрутки(Scrollbar), Переключатель(Checkbox), радио (Radiobox), Строка меню(Menubar), строка статуса (Statusbar), и т.д.
Изображение
. вкл\выкл мультипликациии(Power on/off animation) - формат обмена графическими данными (анимационный файл), который отображается после того, как телефон выключается.
5. Мелодия(Ringtone)- для запроса подтвердить или предупреждения сообщения.

**Power on/off animation и Ringtone является дополнительной. В этом пункте Вы должны видеть то, что было в mtf файле темы. В следующей главе говорят, как редактировать каждый компонент.

Глава 2: Конфигурация файла (*.dhm)

Требование:
1. Редактор текста как wordpad.
2. Знание о файловой системе Linux или Unix.
3. Знание о RGB системе цвета.

После того, как мы извлекли mtf файл, (см. первый пункт темы),. : Конфигурация файла (*.dhm)- нормальный текстовый файл, который содержат цветовую палитру темы и путь файла темы. Чтобы редактировать используйте редактор текста как wordpad .Файл конфигурации темы использует .dhm расширение и расположенный в /ezxlocal/download/appwrite/setup

Это - файл A780_01.dhm от совершенно нового телефона A780.

THEME_CONFIG_TABLE]
ThemeColorPaletteIndex = 1
ThemeGeneralAlertFile = /usr/language/ringtone/Notification_4.mid
ThemeIconDir = /usr/language/theme/default1/
ThemeLogoIcon = /usr/language/theme/default1/A780_01.jpg
ThemeMsgAlertFile = /usr/language/ringtone/Polyphonic_Alert_5.mid
ThemeName = Maldives Blue
ThemePowerDownImage = /usr/language/animation/Moto2.gif
ThemePowerUpImage = /usr/language/animation/Moto1.gif
ThemeSkinFile = /usr/language/theme/default1/A780_01.skn
ThemeSoundFileLine1 = /usr/language/ringtone/Glacier.mid
ThemeSoundFileLine2 = /usr/language/ringtone/Acoustica.mid
ThemeTextSize = 0
ThemeWallpaperFile = /diska/MyImages/Cheer-Heartbeat.PNG

[THEME_COLOR_PALETTE_TABLE]
ThemeBackground = 243 240 230
ThemeBase = 243 240 230
ThemeBrightText = 0 0 0
ThemeButton = 143 169 181
ThemeButtonText = 0 0 0
ThemeForeground = 0 0 0
ThemeHighlight = 183 198 240
ThemeHighlightedText = 0 0 128
ThemeText = 0 0 0

[THEME_MULTI_LANG_NAME]
en-us = Maldives Blue
zh-cn = ้ฉฌๅฐ”ไปฃๅคซๅ…ฐ
zh-hk = ้ฆฌ็ˆพไปฃๅคซ่—�

Конфигурация файла содержит 3 таблицы-Конфигурации разделов(Config table), таблица Цветовой палитры(Color palette table), и сам язык(Multi lang name)



1. [THEME_CONFIG_TABLE]- этот раздел использования самой темы, определяет файлы и папки компонентов темы.

* ThemeName = Maldives Blue – название темы на английском языке.
* ThemeIconDir =/usr/language/theme/default1/ -ThemeIconDir (название папки, которая содержит iconres.ezx файл).
* ThemeSkinFile =/usr/language/theme/default1/a780_01.skn - ThemeSkinFile (имя файла с путем папки скина).
* ThemeLogoIcon =/usr/language/theme/default1/a780_01.jpg - ThemeLogoIcon –( 320x240 имя файла и путь папки, который используют в Установке-> Система цветов(Setting -> Color scheme))
* ThemePowerDownImage =/usr/language/animation/moto2.gif и ThemePowerUpImage =/usr/language/animation/moto1.gif - ThemePowerDownImage и ThemePowerUpImage (320x240 формат обмена графическими данными анимационный файл, который отображаеться при включения и выключения телефона)
* ThemeColorPaletteIndex = 1 -я не знаю, как использовать ColorpaletteIndex, но 3 цветовых палитры значения по умолчанию были, определяют в
/usr/language/theme/colorpalette.cfg., таким образом, я устанавливал ThemeColorPaletteIndex в 0.
* ThemeWallpaperFile - ThemeWallpaperFile - используется, чтобы определить обои. На телефонах A780/E680i не могут быть использованы обои темы. Обои могут быть изменением в Установке -> Обои(Setting -> Wallpaper).
* ThemeGeneralAlertFile, ThemeMsgAlertFile, ThemeSoundFileLine1, ThemeSoundFileLine2 - все это используется, чтобы определить мелодии в файле темы.

2. [THEME_COLOR_PALETTE_TABLE], коротко, этот раздел является для использования цветовой схемы, определяет цвета компонента дисплея, который не использует изображения, типа шрифта, высвечивание фона, и т.д. Цвет может определятся в системе RGB (Красный, Зеленый, Синий цвет, начало от 0 до 255 в каждом цвете).
Изображение
* ThemeBackground – цвет фона и фона окна.
* ThemeForeground - цвет нормального шрифта.
* ThemeButton – название игры или программы в строке состояния запущенной Явой J2ME MIDlet.
*ThemeButtontext - цвет шрифта на кнопке, строке меню, и строке состояния.
* ThemeHighlight – цвет основного момента.
* ThemeHighlightedText - цвет шрифта, когда выдвинуто на первый план.
* ThemeBase, ThemeText, ThemeBrightText -не было найдено, где они использовались. Пожалуйста, скажите мне, если Вы нашли, где - это.

3. [THEME_MULTI_LANG_NAME] – используется для определения языка в теме.


Глава 3: Редактирование иконок и изображения скина
Требование :

1. Интерпретатор Perl "ActivePerl" в http://www.activestate.com (in Languages -> ActivePerl)
2.Perl работает с IconPackager - изображение иконки, и Perl работает с SkinPackager - изображение скина. Скачать можно:
IconPackager1.05
SkinPackager0.1

3.Изображения можно редактировать в Photoshop.

iconres.ezx - файл, который содержат все изображения(образы) для обмена графическими данными в использовании темы.
iconres.ezx , создаёт данные иконок (название(имя), размер, количество) плюс изображения(образы) иконки в формате обмена графических данных. Чтобы редактировать iconres.ezx, я использую IconPackager, что бы извлекать из пакет графических данных и переупаковывая их назад к iconres.ezx после чего иконки редактированы. (Iconrestool используеться, чтобы редактировать iconres.ezx также. НО это ограничивает приблизительно 1000 иконок в iconres.ezx. E680i. Оrginal iconres.ezx содержат 1000 иконок. а оригинал A780 iconres.ezx содержит 1300 иконок.)


Как извлечь иконки iconres.ezx в IconPackager.

1.1.Установите Активный Perl.
2. 2.Извлекаем iconres.ezx с mtf файла или копию с оригинала iconres.ezx в /usr/language/icon.
3. 3.Скопируйте unpackIconRes.pl и packIconres.pl в туе папку где и iconres.ezx файл.
4.4.Нажмите правой кнопкой на unpackIconRes.pl там выберите открыть с помощу и открываем Актив перлом!, и в командном дисплее покажет количество иконок в iconres.ezx файле.
5. 5. Войдите в новую созданную папку "иконки". там имеются изображения(образы) иконок, файл заголовка, и note.txt файл.

Теперь Вы можете редактировать, и удалять иконки в папке . Сначала измените важную иконку как Лучшие 5 Кнопок (меню GNB(GNB menu), телефонная книга(Addressbook), Сообщение(Message), и Стартовый стол Запроса(Call Pad)), Пиктограмма программы, иконка команды в Buttombar (Меню, выход, назад(Menu, exit, back)), или иконка Status (Сигнал, GPRS, реальный, индикатор батареи(Signal, GPRS, real, Baterry indicator)) на Главной строке Statusbar. И удалите неизменную(unchanged) иконку, чтобы поддержать размер iconres.ezx, потому что телефон будет использовать иконку от оригинала iconres.ezx вместо этого, если иконка не была найдена в iconres.ezx темы. Becareful имя файла иконки и размер иконки. Имя файла изображения - использованое в столе данных изображения для изображения доступа от телефона. Не изменяйте имя файла изображения. И если размер изображения был телефоном изменения, изменит размеры вашего изображения к оригинальному размеру.

Как разпоковать изображения ( iconres.ezx) в IconPackager.
1.Нажмите на Команду packIconres.pl, незамедлительно покажет количество изображения в iconres.ezx файле.
2.Все изображение в папке будет упакованны в newiconres.ezx, файл в той же самой папке как packIconres.pl. Файл скина - который содержет изображение основных компонентов показа, типа кнопки, statusbar, buttombar, checkbox, radiobox, границы диалога, и т.д.


Skinfile был создан в том же самом metohed как iconres.ezx., таким образом я использую SkinPackager, чтобы извлекать изображения скина . Отличие от iconres.ezx - весь компонент скина, одно изображение в PNG.
Изображение Изображение
Как извлекать изображение скина (*.PNG) от файла скина (*.skn) в SkinPackager.
1.Установите Активный Perl.
2.2. получите файл скина (*.skn) извлеченный от mtf файла или копии с оригинала iconres.ezx в/usr/language/theme/default1
3.3. переименуйте файл скина как motoskin.skn.
4.4. скопируйте unpackSkin.pl и packSkin.pl в туже самою папку где файл скина.
5.5. нажмите на unpackSkin.pl и делаете так же как и с иконками, и отобразит количество изображений в файле скина.
6.6. войдите в новую созданную папку "скина", там имеются изображения скина в формате PNG, файл заголовка, и note.txt файла.
Изображение
Список компонентов скина на оставленной стороне от вершины - оставленный к правой нижней части

General_Arrow_Up 20x23
General_Arrow_Up_A 20x23
General_Arrow_Down 20x23
General_Arrow_Down_A 20x23
General_Arrow_Left 20x23
General_Arrow_Left_A 20x23
General_Arrow_Right 20x23
General_Arrow_Right_A 20x23
General_Stretch_Button_S 25x25
General_Stretch_Button_S_A 25x25
Stretch_ProgressBar_Background 30x25
Stretch_ProgressBar_Fillamount 12x21
Stretch_ProgressBar_Fillamount_D 12x21
Stretch_ProgressBar_Background_Small 32x13
Stretch_ProgressBar_Fillamount_Small 17x5
General_Radio_Button_Unselected_A 18x18
General_Radio_Button_Unselected 18x18
General_Radio_Button_Selected_A 18x18
General_Radio_Button_Selected 18x18
General_Check_Box_Unselected_A 20x20
General_Check_Box_Unselected 20x20
General_Select_Box_Selected_A 20x20
General_Select_Box_Selected 20x20
Stretch_ComboBox_Button 20x25
Stretch_ComboBox_Button_A 20x25
Stretch_ComboBox_Button_D 10x25
Stretch_ImageBorder_Topleft 20x25
Stretch_ImageBorder_Bottomright 20x25
Stretch_ComboBox_Border 26x25
Stretch_ScrollbarV_Arrow_Down 20x21
Stretch_ScrollbarV_Arrow_Down_A 20x21
Stretch_ScrollbarV_Arrow_Down_D 20x21
Stretch_ScrollbarV_Background 20x20
Stretch_ScrollbarV_Arrow_Up 20x21
Stretch_ScrollbarV_Arrow_Up_A 20x21
Stretch_ScrollbarV_Arrow_Up_D 20x21
Stretch_ScrollbarV_Foreground 20x20
Stretch_ScrollbarH_Arrow_Down 21x20
Stretch_ScrollbarH_Arrow_Down_A 21x20
Stretch_ScrollbarH_Arrow_Down_D 21x20
Stretch_ScrollbarH_Background 17x20
Stretch_ScrollbarH_Arrow_Down 21x20
Stretch_ScrollbarH_Arrow_Down_A 21x20
Stretch_ScrollbarH_Arrow_Down_D 21x20
Stretch_ScrollbarH_Background 17x20
Stretch_ScrollbarH_Arrow_Up 21x20
Stretch_ScrollbarH_Arrow_Up_A 21x20
Stretch_ScrollbarH_Arrow_Up_D 21x20
Stretch_ScrollbarH_Foreground 17x20
Изображение
Список компонентов скина на правильной стороне от вершины - оставленный к правой нижней части

Sbar_Background 20x26
Cut_Screen_TitleBackground 20x26
Stretch_Menu_RightAngle_1 10x10
Stretch_Menu_RightAngle_2 10x10
Stretch_Menu_RightAngle_3 10x10
Stretch_Menu_RightAngle_4 10x10
Stretch_Menu_TopBorder 10x3
Stretch_Menu_LeftBorder 3x10
Cut_Menu_Seperator 9x2
Stretch_Menu_RightBorder 3x10
Stretch_Menu_BottomBorder 10x3
Stretch_Highlight_TextBackground 10x10
Stretch_Menu_Background 10x10
Call_Keypad_KeyBk 57x35
Call_Keypad_KeyBk_A 57x35
Stretch_Dialog_RightAngle_1 10x10
Stretch_Dialog_RightAngle_2 10x10
Stretch_Dialog_RightAngle_4 10x10
Stretch_Dialog_RightAngle_3 10x10
Stretch_Dialog_TitleBackground 20x26
Stretch_Dialog_LeftBorder 2x10
Stretch_Dialog_TopBorder 20x4
Stretch_Dialog_BottomBorder 20x2
Stretch_Dialog_RightBorder 2x10
Stretch_Dialog_CST 20x34
Stretch_Dialog_CST_D 20x34
Stretch_Dialog_CST_A 20x34
Stretch_CST_A 20x35
Stretch_CST 20x35
Stretch_CST_D 20x35

Компоненты скина есть группой по имени , префикса и суффикса., типа Стрелы(Arrow), Prograssbar, Radio_Button(Радио-Кнопка), Check_Box(Флажок) и Select_Box(выбор флажка), ComboBox(поле со списком), Полосы прокрутки(Scrollbar), строка статуса ( statusbar), Меню (Основание Левого меню), Call_KeyPad_KeyBk(название вспомогательной клавиатуры KeyBk ), Диалог(Dialog), таблица кодовых сегментов (Кнопка)(CST (Button)). И весь компонент имеет prefiex или суффикс как здесь

General_* = изображение было использованно в оригинальном размере.
Stretch_* = изображение было протяжено перед использованием.
*_A = Активное изображение компонентов.
*_D = Отключают изображение компонентов.

becareful - позиция компонентов скина(обшивки), которую Вы должны предположить где 's это. Exacty (Это было в заголовке файла). но я не могу отобразить отчет(record) заголовка скина на изображение(образ) из-за некоторого индекса, были различия.

Как заархивировать изображения скина (*.png) в файл скина (*.skn) открываем его в SkinPackager.
1.нажмите на packSkin.pl и открываем его Актив перлом, создаться файл newmotoskin.skn
2. newmotoskin.skn был создан в той же самой папке как packSkin.pl. После этого Вы можете иконку запоковать\разпоковать . Теперь Вы можете упаковывать это в Тему для испытания. См. в следующей главе.

Глава 4: Как создавать Требование 1 файла (*.mtf) темы.

Утилита архиватора файла, которую можете упаковывать\разпаковывать в формате gzip и tar.(7-zip)
Другие компоненты темы, типа эмблемы темы(theme logo), и PowerOn/Off анимационый файл были легко созданны также .Эмблема темы может быть, создана сбором данных вашей темы после того, как Вы устанавливали это и переупаковали его в файл темы. Файлы PowerOn/Off - простой файл помощника. becareful для Вас анимируют размер файла.
После того, как мы редактировали все компоненты темы. Теперь мы пробуем к упаковке этого назад к mtf файлу через 7-zip . от главы 2 должно быть местоположение для каждого компонента темы так:

/ezxlocal/download/appwrite/setup/ для Themename.dhm
/ezxlocal/download/theme/icon/Themename.dhm для iconres.ezx
/ezxlocal/download/theme/icon/Themename.dhm для skinfile (*.skn)
/ezxlocal/download/theme/icon/Themename.dhm
и другой файл в
/diska/MyThemes/Themename.dhm/ поскольку другой регистрирует

Прежде, чем Вы упакуете файл темы, Вы должны проверить имя файла и путь каждого компонента в Теме configulation(конфигурации) файл (*.dhm), ЧТОБЫ создать файл (*.mtf) темы с 7-zip,

1. Открыть 7-zip и выбрать diska и ezxlocal папки. и нажмите на меню, "Добавить к Архиву".


2.Переименовать ваше имя файла архива к названию вашей темы с расширением tar.
3. Выберите формат Tar в течение первого раза.




4. Выбрать файл c 3 пункта. и нажать, "Добавить к архиву" снова.
5. На сей раз выберите формат GZIP.


6.Теперь Вы получаете вашу тему в .tar.gz расширении. Толгда переименуйте это в 7-zip к .mtf расширению.

Теперь Вы имеете файл темы. Проверьте это установкой в ваш телефон. Если ваш телефон получил somthing неправильно как никакой скин doesnot отображенный, или иконка не делает измененный. Пробуйте проверить раздел таблицы конфигурации темы в теме configulation файл (*.dhm). и не переходите на другой прежде, чем Вы перезапускаете телефон. Вы должны удалить Вас, испытание после переходит на другую тему и телефон рестарта. потому что некоторая иконка не изменяется после того, как тема была изменена. Это будет измененный после телефона рестарта. (Вы не можете удалить iconres.ezx последней используемой темы.)

Сам FAQ