Giter Site home page Giter Site logo

vtcfont's Introduction

 Первый мощный редактор прошивок для батарейных блоков 
 JoyeTech, Eleaf, Wismec и других совместимых с JoyeTech Aprom.

Апдейтер прошивок:
Кнопка [Прошить] в редакторе вызывает отдельную утилиту FWUpdater.exe для прошивки, установки логотипа, 
 восстановления работоспособности устройства, создания скриншотов, установки времени итд.
Для шифрования и расшифровки прошивок используйте соответствующую кнопку апдейтера (доступна, когда мод не подключен).
Для поддержки новых модов, вписать их данные в файле FWUpdater.ini

Работа с редактором:
Редактор работает с прошивкой напрямую, не создавая резервных копий. 
Язык интерфейса можно изменить по кнопке [Настроек] (с иконкой, сверху окна программы). 
En/Ru или другой, для которого есть файл с локализацией.
Удобно поместить редактор и апдейтер в меню Windows "Открыть с помощью" или перетаскивать прошивки на их иконки мышкой.
Удерживайте курсор мыши над элементами редактора, чтобы вызвать дополнительные пояснения по их работе.

Кнопкой [Load / Открыть файл] редактор открывает обычную, не расшифрованную прошивку.
Известная прошивка высветится в списке сверху программы редактора.
Если прошивка программе не известна, будет попытка открыть её в режиме auto.
Кнопка [Открыть прошивку заново / Reload] перезагружает текущую открытую прошивку, 
 а в начале работы с программой - откроет последнюю прошивку, с которой Вы работали.

Программа создаст список графических ресурсов, с помощью которого выбирается нужный символ для редактирования.
А так же список "слов" зашитых в прошивке. Удобно смотреть, как будет выглядеть на дисплее какое-то слово целиком.
Загрузку можно остановить, удерживая Esc на клавиатуре, например при ошибке выбора прошивки и железа.

В файле прошивки может быть 2 блока шрифтов (словарей бывает тоже два) для разных дисплеев
(Block 1 - SSD1306 и 2 - SSD1327). Выбирайте нужный блок для Вашего аппарата.

По кнопке [Save char / Сохранить] произойдет запись одного текущего символа в файл.
Кнопка [Save All / Сохранить всё] запишет в файл все измененные символы.
Измененные, но не сохраненные символы отображаются в списке слева жирным шрифтом.

Если стоит галочка "Save to all blocks / В оба блока" - то запись будет в оба блока сразу.
Тут аккуратно, некоторые символы в разных блоках различаются по размерам.
При записи и копировании программа проверяет соответствие размеров символов и спрашивает, записать или нет.
Проверку можно отключить в ini-файле (CheckCharSize=0)
Модифицированная прошивка готова к загрузке в аппарат стандартными средствами от производителя.

Кнопки [Copy/Paste / Копия/Вставка] позволяют скопировать текущий или выделенные символы 
 в буфер обмена и вставить в другое место.
Можно открыть две копии редактора и копировать символы между ними. 
Например из понравившейся прошивки в свою, посимвольно или блоком.
Данные из буфера обмена можно вставить в блокнот и сохранить для последующего импорта 
(поделиться с коллегами) - потом скопировать из блокнота и вставить в редактор кнопкой "Paste / Вставка".
Нажатие Shift+Paste вставит данные прозрачно (только для одного текущего символа).
Если в буфере изображение - произойдет замещение текущего символа на картинку.
Если размер символа при вставке или импорте отличается, программа спросит 
 менять ли размер (Yes/Да), вставить не меняя размер (No/Нет) или отменить вставку этого символа.
За эту проверку отвечает параметр в ini-файле (CheckCharSize=1/0) или галочка в [Настройках].

Галочка "Paste by number / Вставка по номеру":
 Если установлена и не выделено больше одного символа, 
  то все данные из буфера или экспорта вставляются в список в соответствии с номерами символов, 
  взятых из внешнего блока данных. 
 Если галочка установлена и выделено больше одного символа в списке, 
  то из блока вставляемых данных будут вставлены только выделенные, согласно их номерам. 
  Это нужно, если Вы хотите вставить не все данные из пакета ресурсов, а только выбранные.
 Если галочка снята - произойдет вставка в область выделения в списке редактора слева.

В папке Export лежат файлы с разными наборами символов. Установить галочку "Paste by number", 
 открыть файл в блокноте, скопировать содержимое в буфер обмена и вставить в редактор "Paste".
Или воспользоваться кнопками Импорта и Экспорта на тулбаре, для работы через файлы.

Импорт словаря идет сразу в прошивку, если помещается в область словаря, без предупреждения.

По клику на кнопки размеров текущего символа [X/Y] - размеры можно уменьшить. 
Не пытайтесь увеличивать, сломаете, но есть варианты.

Кнопка [Save word / Запись слова] сохраняет текущее слово в словарь прошивки. 
Не превышайте длину слова при изменении.
Выбрать слово из списка слов, вписать нужные Вам коды букв через пробел 
(или вставлять текущий символ с помощью кнопки с [Кодом]; или двойным кликом на символе из списка слева),
 нажать Enter или кнопку с иконкой "глаз" - посмотреть, понравилось - сохранить.
Можно выбрать несколько символов в списке слева (последовательность выбора учитывается) и, нажав кнопку с [Кодом], 
 посмотреть их вид в одной строке. 
Для вставки кода по кнопке внутри слова нужно указать место мышкой, нажать пробел и потом кнопку с кодом.
Без этого вставка кода происходит в конец слова.
По кнопке "два глаза" (сиське) программа рисует все слова из словаря в удобном для демонстрации виде.
 В прямоугольнике по умолчанию или в столбик, если установлено WordsInLine = 1 в файле настроек.

Галочка "Grid / Сетка" рисует или убирает обрамление ячеек в окне редактора.
Кнопками [+-] можно увеличить или уменьшить размер ячеек (1-40), а по правой кнопке мыши этот 
 размер устанавливается в 12 пикселей (быстрое увеличение/уменьшение вида символа).
По правой кнопке на этой галочке начинает отображаться дополнительная сетка 8х8.

По кнопке [TTF] тулбара (строка с набором функциональных кнопок с иконками в окне программы)
 редактор создает список шрифтов в системе, так же можно подгрузить TrueType шрифт из файла,
 он будет виден в конце списка.
 Так можно воспользоваться графикой из шрифта для изменения текущего символа прошивки.

Кнопка [IMG] позволит загрузить изображение в редактор. 
Поддержка bmp,gif,ico,jpg,png,cur,rle,wmf,emf графических файлов. 
Программа постарается сделать черно-белое изображение для использования в прошивке. 
Пробуйте разные значения PicDithered (это способы преобразования изображения в черно-белое) 
 в файле настроек. Рекомендуется 0 для простых или 1 для сложных картинок.

Кнопки [Импорта] и [Экспорта] в файл, 
для сохранения/передачи/использования графических ресурсов в текстовых файлах.
Программа умеет импортировать ресурсы из XML файлов формата *.respack.

Остальные кнопки на тулбаре - средства для сдвига, поворота, инверсии и отражения редактируемого символа.
Если выделено несколько символов - выбранная операция применится к ним ко всем.

Выпадающее меню при клике ПКМ на реальном изображении (превью) позволяет записать текущую 
 картинку в черно-белый BMP файл или скопировать в буфер обмена.
Выпадающее меню на списке символов, для удобного выделения и экспорта наборов символов, 
 создания своих ресурс-паков.

Возможность работы с выделенной областью редактора символа (Select region). 
Для начала - нажать на кнопку-переключатель выделения области на тулбаре. 
Затем:
- ЛКМ (левая кнопка мышки), выделить область. Если область больше видимого окна, 
  прокручивайте окно стрелками клавиатуры, не отпуская ЛКМ.
- Завершите выделение области отпустив ЛКМ. 
При этом выделенная область копируется для дальнейших перемещений.
- Выделенную область теперь можно редактировать кнопками на тулбаре. 
  Ограничение только с поворотом области - выделенная область должна быть квадратной.
- Перетаскивание области выделения (нажатие внутри области), с удержанием ЛКМ, скопирует область 
  в новое место.
- то же, но с удержанием ПКМ, переместит область с удалением старой. То же Ctrl+ЛКМ.
- то же с удержанием СКМ, переместит саму рамку области редактирования, без действий с 
  изображением. То же Shift+ЛКМ.
Скопированную область можно таким же образом вставить в другой символ, в то же место в той же прошивке.
Копирование и вставка областей были расширены, теперь выделенную область можно копировать и вставлять в любую 
 выделенную область, даже в другой копии редактора.

- Кнопка Del клавиатуры очистит выделенную область (заливка белым в окне редактора).
- Нажатие вне области выделения, отменит предыдущую и начнет новую. 
- Отменить выделение области можно кнопкой ESC на клавиатуре или кнопкой работы с областью 
  на тулбаре.

Отмена/Возврат последних действий в окне редактора (Undo/Redo).

Еще быстрые клавиши:
Esc - так же отменяет процесс загрузки прошивки, отменяет рамку выделения, если была.
ALT+ кнопки на доп. клавиатуре - перемещение, очистка (0), инверсия(5), вращение (7,9), отражение (1,3).
ALT+ C,V - копирование, вставка.
ALT+ x,y - вызов окон изменения ширины, высоты.
ALT+ H - вставка текущего символа в слово.
ALT+ S - сохранение текущего символа в прошивку.
ALT+ O - вызов окна настроек.
ALT+ P - вызов окна патчей.

Патчер прошивок:
Патчи лежат в папке Patches, в ней папки по модам, эти имена папок 
 должны быть такими же как в файле настроек (как в списке аппаратов).
Патчер понимает разные форматы патчей, в том числе и классический. 
Расширение файла должно быть *.patch или *.dif (файл дизассемблера IDA).

Для применения патча пометьте его(их) галочкой и нажмите "Применить".
Для отката сделать так же, но нажать "Отменить".
Кнопка "Установленные" (переключатель) покажет установленные в текущую прошивку патчи.
"Сменить формат" служит для преобразования файла патча в формат VTCFont, 
 комментарии переносятся только те, что в строке с кодами патча. Создается резервная копия.
"Параметры" вызывает окно для изменения значений в файле патча.
"Текст патча" - покажет текст в блокноте.
"Конфликты" - покажет остальные патчи, конфликтующие с текущим. Такие патчи могут работать не правильно, если установлены вместе.
 Правая кнопка мыши на "Конфликтах" покажет конфликты всех патчей со всеми.

***
Формат текстовых файлов шрифтов для импорта-экспорта: 
 номер символа, ширина, высота, и блок данных в одной строке. Данные в десятичном виде.
Формат текстовых файлов словарей для импорта-экспорта: 
 адрес слова (десятичный), длина слова, байты слова с завершающим 00 (хекс). 
***
Структура указания параметров в теле патча для удобной настройки в окне редактора:
@PARAM - ключевое слово.
@1 - номер параметра. Максимально 10 параметров.
@1 - номер байта параметра, от младшего к старшему (1,2...).
@1 - общее количество байт параметра.
@0 - множитель числа в хекс записи, 0= нет, 1= *10, 2= *100... степень множителя 10-ти.
@название параметра на английском (подсказки).
@название на другом языке (опционально, но знак @ обязателен).

Первая строка параметра должна содержать всю эту информацию. Пример:
@PARAM@1@1@1@0@Preheat time (sec)@Время действия (сек)

Другие адреса с тем же параметром (дубли) обозначаются:
@PARAM@1 - для параметра размером = 1 байт. Указывать только номер параметра.
@PARAM@1@1 - для параметра размером > 1 байт. Указывать номер параметра и текущий номер байта.
Применение параметров изменяет файл патча без бекапа.
***
Опции в файле настроек (можно изменить в окне настроек программы):
 Language  = ru/en/ (или любой, файл перевода - VTCFont_xx.lng)) 
 Magnify =1/0 (1 - увеличение размера окна предпросмотра символов, строк и мелких шрифтов в списке в 2 раза)
 InvertMouseB = 0/1/2 
 (0 - ЛКМ ставит черный пиксель в окне редактора, правая - белый. Средняя кнопка = инверсия пикселя.)
 (1 - меняют местами действия левой и правой кнопок.)
 (2 - ЛКМ инвертирует пиксель, правая ставит белый, средняя - черный)
 PicDithered  =0/1/2/3 (применение дайзеринга при конвертации импортируемой графики в черно-белую, разные алгоритмы)
 CheckCharSize=1/0 (предупреждать о несоответствии размеров символом при записи или вставке/импорте)
 WordsInLine = 0/1 (рисовать все слова из словаря прошивки в прямоугольнике или в один столбец)

------
"cкрытые" возможности
- ПКМ на кнопку Копирования - копирует в буфер обмена текущий символ в стандарте myevic, например 1 = {6,8,{0,60,66,66,60,0}}
- ЛКМ на количество помеченных патчей в патчере копирует в буфер обмена выделенный патч в формате блока для удобного импорта в IDA.
----------------------------
Известные баги:
- При очень быстром выделении мышкой нескольких символов в списке программа может ошибиться с выделенным. Ведите мышкой медленнее :)
----------------------------

На страничке этого редактора, на лучшем форуме электронных сигарет, есть пособия по работе, 
 с картинками :)
http://www.ecigtalk.ru/forum/f16/t101158.html
https://vk.com/public120705384

----------------------------
2015-2017, A.Lebedev aka SuR / MicroSur
Авторы использованных кодов могут быть указаны с открытых исходниках этих кодов. 
Продукт для свободного некоммерческого использования. 
Ответственность за порчу ..бла бла.. не несу.

Donate: Поблагодарить можно сюда: 
QIWI 9217700085
paypal.me/MicroSur
Кукуруза (пм на форуме)

Thank You! Спасибо!
----------------------------
Enjoy! Приятного творчества!

vtcfont's People

Contributors

microsur avatar

Watchers

 avatar  avatar

Forkers

xxdoc jensha

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.