dzzb - Добро пожаловать! Снова.
$$$
До Н.Г.
ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ

Показаны записи с тегом: Мои_разработки.

Редактор шрифтов для GRUB4DOS - Glyph 2 HEX

Опубликовано: 08-11-2016 00:27 Автор: MBTY Теги: Мои_разработки, GRUB4DOS
Всем нам известно, что G4D не поддерживает кириллицу, а потому все мы дополнительно используем unicode шрифт. Либо его оригинал (Unifont) на много килобайт либо урезанную версию только с кириллицей на 3кб.
Править этот шрифт очень сложно, потому что хз как это делать. Но недавно мне пришлось постичь эту науку, теперь делюсь познаниями + утилиткой, которую создал, чтобы не съехала кукушка при переводе буквы в длинный HEX код - Glyph 2 HEX
1) Нам интересно перерисовать букву Ж
2) Открываем файл шрифтов и видим что-то вроде:

Этого

.....................................
0413:0000FE6662606060606060F000000000
0414:00001E3666666666666666FFC3810000
0415:0000FE6662687868606266FE00000000
0416:0000DBDB5A5A7E7E5ADBDBDB00000000
0417:00007CC606063C060606C67C00000000
0418:0000C6C6C6CEDEF6E6C6C6C600000000
.....................................

3) Лезем на сайт https://www.compart.com/en/unicode и вбиваем там в поиске Ж. Узнаём, что код нашей буквы - 0416
4) Берем только жирный текст из строки 0416:0000DBDB5A5A7E7E5ADBDBDB00000000
5) Вставляем его в самую верхнюю строку Glyph 2 HEX и жмем VVVVV.
6) Получив рисунок правим букву как хотим.
7) После рисования получаем результат.
8) Вверху хранится строка оригинала - она правится юзером по желанию - по сути она для импорта в программу. Внизу - строка с кодом нарисованной в окне буквы. Вот нижнюю строку копируем в файл шрифта G4D на место оригинального символа.
9) Было 0416:0000DBDB5A5A7E7E5ADBDBDB00000000, а стало 0416:00DBDBDBDBDB5A3C3C5ADBDBDBDBDB00.

Сохраняем, проверяем.
Было (dwwb.ru)Было Было.
СТало (dwwb.ru)Стало Стало.
* В ходе всей работы было еще выявлено, что файл шрифтов должен заканчиваться пустой строкой.

Неправильно

044D:00000000007CC6063E06C67C00000000
044E:0000000000CEDBDBFBDBDBCE00000000
044F:00000000007FC6C67E3666E700000000
0451:0000006C007CC6C6FCC0C67C00000000

Правильно

044D:00000000007CC6063E06C67C00000000
044E:0000000000CEDBDBFBDBDBCE00000000
044F:00000000007FC6C67E3666E700000000
0451:0000006C007CC6C6FCC0C67C00000000


* Сайт https://www.compart.com/en/unicode/ можно заюзать в обратную сторону. Стало интересно, что за символ под кодом 042F - правим ссылку на httрs://www.compart.com/en/unicode/U+042F

Скачать
Читать далее

Консольные помогаторы

Опубликовано: 24-07-2015 21:16 Автор: MBTY Теги: Мои_разработки, HTML
А сегодня у нас два консольных костыля за раз.
Первый - NetSize:
Небольшая утилита, которая просто получает размер файла с сервера.
Вся эта паника вокруг Flash Player с его ежедневными фиксами привела к тому, что нужно каждый день обновлять установочные дистрибутивы браузеров на моей флешке.
У ЯндексБраузера ссылка на скачивание последнего билда имеет вид: http://browser.yandex.ru/download/?os=win&full=1
При обновлении дистрибутива ни aria2c ни wget не могут сравнить файл на сервере с файлом на флешке, потому что на сервере у него всегда меняется имя. Получается, что браузер всегда приходится перекачивать, даже если он не обновлялся.
Получается нужна сравнивалка размеров файла на сервере с локальным файлом. Получился NetSize.
Вбиваем в консоли NetSize "http://browser.yandex.ru/download/?os=win&full=1" и получаем в ответ 59194320 Скрипт, который демонстрирует его работу выглядит так.
1) for %%I in (Yandexlatest.exe) do set LocalFileSize=%%~zI
2) for /F %%a in ('%~d0\!_Soft\netsize "http://browser.yandex.ru/download/?os=win&full=1"') do set NetFileSize=%%a
3) if "%LocalFileSize%"=="%NetFileSize%" goto setup
4) :download
5) wget --trust-server-names --no-check-certificate "http://browser.yandex.ru/download/?os=win&full=1" -q -nv -N -O Yandexlatest.exe
6) :setup
7) Yandexlatest.exe
Поясню построчно.
1) Получаем размер файла на флешке и назначем ему переменную LocalFileSize
2) Получаем размер файла на сервере и назначем ему переменную NetFileSize
3) Если размеры одинаковы, то перескакиваем к процессу установки с маркером Setup, пропустив процесс скачивания.
4, 5) Если размеры не совпали, то начинается процесс скачивания с последнующей установкой.
6, 7) Установка браузера.
Скачать NetSize
Второй костыль - OPI:
Простая, но полезная утилита, которая будет удобна для обновления разных дистрибутивов.
Для примера рассмотрим как выкладываются дистрибутивы браузера Opera на оффициальном сервере.
Перейдя по ссылке http://get.geo.opera.com/ftp/pub/opera/desktop/, мы увидим, что нумерация версий приводит к тому, что в самом низу последним идёт самый свежий релиз браузера 30.0.1835.88
Сталкивался в сети с хитроумным скриптом для выполнения подобной цели - нахождение последнего билда любой программулины на страницах подобного формата. Скрипт скачивал всю страницу через Wget, отсеивал все ссылки в отдельный файл через find, затем gsar чистил сылку, чтобы получить только номер билда. Итого три утилиты.
OPI делает всё это за раз. Комманда opi.exe "http://get.geo.opera.com/ftp/pub/opera/desktop/" выдаёт в консоль: 30.0.1835.88 Скрипт демонстрации работы Opi:
1) for /F %%a in ('opi.exe http://get.geo.opera.com/ftp/pub/opera/desktop/') do set BUILD=%%a
2) wget http://get.geo.opera.com/ftp/pub/opera/desktop/%BUILD%/win/Opera_%BUILD%_Setup.exe
1)Opi вычисляет свежий билд и назначает переменную BUILD
2)wget скачивает файл по ссылке, но заменяет %BUILD% на 30.0.1835.88: http://get.geo.opera.com/ftp/pub/opera/desktop/30.0.1835.88/win/Opera_30.0.1835.88_Setup.exe

Скачать Opi
Читать далее
Выкладываю первый действительно полезный шаблон для моей кнопки
Работает он так:
1) Пользователь выделяет изображения, запускает MBTYTCB и выбирает этот скрипт создания галлереи.
2) Скрипт поочередно для каждого изображения сначала создает миниатюру, затем заливает на хостинг изображений savepic.su сначала оригинальную картинку, а потом уменьшенную.
3) Далее в противоположной панели создается файл imageurls.txt с двумя ссылками: а) ссылка на оригинальное изображение. б) ссылка на миниатюру.
4) Потом идет переход к следующему изображению, его заливка с внесением еще двух строк в imageurls.txt
Далее с файлом imageurls.txt делайте что хотите :)
Скрипт обязательно запускать в Sync режиме. Иначе в imageurls.txt ссылки будут внесены не последовательно парами для каждого изображения, а в порядке скорости обработки и заливки - какая картинка быстрее зальется на savepic.su - та и будет первой. Говоря проще: В imageurls.txt получится каша из ссылок.
Как установить скрипт в кнопку: (инструкция подразумевает, что сама MBTYTCB уже установлена)
1) Скачать архив с необходимыми программами и скриптом
2) Распаковать содержимое в папку Prog, которая, есть в MBTYTCB.
3) Внести в MBTYTCB.ini новый скрипт:
[Запилить галлерею миниатюр и залить на Savepic.SU]
Mask=Prog\Gallery\Gallery.cmd "%INPATH%%FILE%.%EXT%" "%OUTPATH%%FILE%_min_.PNG" "%OUTPATH%imageurls.txt"
Читать далее

◘▲▼▲◘◘▲▼▲◘◘▲▼▲◘