• Приветствуем вас на MyAmazFit.ru!
    У нас вы можете:
    • Получить квалифицированную помощь.
    • Скачать эксклюзивные прошивки.
    • Скачать модифицированные шрифты.
    • Скачать лучшие циферблаты.
    • Найти много всего интересного для своих умных устройств.

    Перед регистрацией рекомендуем ознакомиться с Правилами форума.

    Если у вас возникли проблемы с регистрацией или вы не получили письмо с подтверждением, сообщите нам, и мы активируем вашу учетную запись вручную.

Инструкция Инструкция по разборке, редактированию и сборке шрифтов для Amazfit Bip

ahsim

Разработчик
Команда форума
Сообщения
741
Реакции
1,614
Баллы
338
Ваше "умное" устройство
Amazfit Stratos
Инструкция по разборке, редактированию и сборке шрифтов для Amazfit Bip


1.1. Скачиваем и устанавливаем последнюю версию

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.

(на момент написания инструкции последняя версия 3.6.5)

1.2. Скачиваем и устанавливаем последнюю версию

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.

(для ОС Windows x86 - Pillow-5.0.0.win32-py3.6.exe Для ОС Windows x64 - Pillow-5.0.0.win-amd64-py3.6.exe)

1.3. Скачиваем скрипт от santaX Парсер шрифтов Amazfit BIP

1.4. Скачиваем любой MiFit начиная с версии 3.2.7.2.

2. Открываем *.apk файл как архив. Достаем из папки assets файл Mili_chaohu.ft (стандартный шрифт) или Mili_chaohu.ft.latin (испанский шрифт). Это и есть файл шрифта для Amazfit Bip для дальнейшей прошивки с помощью Gadgetbridge.
3. Для того чтобы его распаковать необходимо поместить его в одну папку со скриптом от santaX
4. Открыть стандартный проводник Windows, перетянуть файл шрифта на скрипт. После распаковки шрифта создается папка ИМЯ_ФАЙЛА_extract. В ней содержатся BMP-файлы каждой буквы.
5. В папке BMP-файлы рассортированы группами по

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.

. Имя файла равно его

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.

.
5.1. Чтобы удалить лишние символы из шрифта, просто удаляем bmp-файлы этих символов. При необходимости можно удалить целые папки.
5.2. Чтобы добавить новые символы, например, для украинского языка, просто создаем рисунок bmp с нужной буквой и задаем имя, равное юникоду буквы.
5.3. В папке также создается файл font_info.json, содержащий описание шрифта. Его нельзя редактировать, исключение - допускается изменять значение vertical_offset (разрешенные значения 1,2,3,4).
6. Для запаковки парсеру указывается папка с распакованным шрифтом, при этом из файла font_info.json считывается значение вертикального смещения. В итоге, рядом со скриптом будет создан файл new_ИМЯ_ПАПКИ.


Для правильного редактирования необходимо соблюдать следующие условия:
а). Формат файлов - *.bmp
б). Размер в пикселях:
  • 16х16 для стандартных шрифтов.
  • 16х15 для испанских шрифтов (latin).
в). Цветность - 1 бит (черно-белый).
Размер файла в итоге должен быть:
  • 126 байт для стандартных шрифтов.
  • 122 байта для испанских шрифтов (latin).
Дополнительные инструменты:

Для редактирования подойдет самый простейший графический редактор. Я бы порекомендовал - Paint.net

Для пакетного редактирования файлов (изменение размера, формата, цветности) - FastStone Photo Resizer


Полезная информация:
Особое внимание! Для отдельного символа можно изменить вертикальное смещение, добавив к юникоду в имени файла его значение. Например, имя файла XXXX.bmp до, после XXXXY.bmp, где XXXX - юникод буквы, Y-смещение.

Для испанских шрифтов (latin) по ширине на символ можно использовать только 9 пикселей (фактически 8 потому что 1 пиксель необходимо оставить для разделения букв между собой в тексте), а по вертикали всегда смещение 1. Из за этих ограничений не рекомендуется заниматься редактированием испанских шрифтов (latin).
 
Последнее редактирование модератором:

laker8906

Новичок
Сообщения
47
Реакции
30
Баллы
23
Ваше "умное" устройство
Amazfit Bip
как запаковать обратно? переношу папку ничего не присходит (
 

trace

Разработчик
Команда форума
Сообщения
214
Реакции
555
Баллы
93
Ваше "умное" устройство
Amazfit Bip
@ahsim, подскажи, вот я хочу нарисовать для latin-шрифта новые смайлы. Как это сделать?
Можно ли добавлять в шрифт символы? и как?
Я заметил, что в твоем шрифте смайлы находятся в папке "Слоговое письмо хангыля".
То есть ты заменяешь ненужные в шрифте символы, а уже через MiFit смайлы принимают то значение, которое ты выбрал для смайла в шрифте.
В общем, можно по-подробнее, как это работает и как можно добавить новые смайлы так, чтобы они работали (включая правки MiFit, если возможно)?
 

ahsim

Разработчик
Команда форума
Сообщения
741
Реакции
1,614
Баллы
338
Ваше "умное" устройство
Amazfit Stratos
@ahsim, подскажи, вот я хочу нарисовать для latin-шрифта новые смайлы. Как это сделать?
Можно ли добавлять в шрифт символы? и как?
Я заметил, что в твоем шрифте смайлы находятся в папке "Слоговое письмо хангыля".
То есть ты заменяешь ненужные в шрифте символы, а уже через MiFit смайлы принимают то значение, которое ты выбрал для смайла в шрифте.
В общем, можно по-подробнее, как это работает и как можно добавить новые смайлы так, чтобы они работали (включая правки MiFit, если возможно)?
Да, сообщи в лс свой вк/телегу или здесь в лс спишемся
 

Lurker

Друг форума
Сообщения
34
Реакции
64
Баллы
13
Ваше "умное" устройство
Amazfit Bip
Чё-то не так...

Если я сохраняю оригинальный BMP в Фотошопе с минимальным редактированием - получаю файл 128 (а не 126) байт длиной. Если в Image.NET - 822 байта. Оба - абсолютно нормальные BMP-файлы. Но упаковка-распаковка шрифта с отредактированными символами дает на выходе хлам.

Т.е. как бы получается, что font_info.json ожидает на входе не BMP, а его конкретный подвид... А как этот подвид реально получить?

Если имеет значение: изменять пытаюсь шрифт myamazfit.ru_BOLD_v5q_newsmiles.ft. Если я его распакую и тут же запакую - результат отличается от оригинала, что тоже странно.
 
Последнее редактирование:

Lurker

Друг форума
Сообщения
34
Реакции
64
Баллы
13
Ваше "умное" устройство
Amazfit Bip
Конвертировать изподфотошопный BMP в понятный font_info.json получилось - написал програмень, мои символы видны.

Но вот засада: оказывается, font_info.json теряет вертикальные смещения отдельных символов! Потому и результат конвертации туда-сюда - разный. Теперь буквы по высоте скачут :(
 

ahsim

Разработчик
Команда форума
Сообщения
741
Реакции
1,614
Баллы
338
Ваше "умное" устройство
Amazfit Stratos
Да, надо некоторые буквы смещать по вертикали. ЕМНИП там доступно 5 уровней смещения по вертикали от 0 до 4. Отсюда и ширина строк больше чем в латин шрифтах (высота символа 16 пикселей + 4 пикселя на смещение).
В json выставляется общий уровень и имя файла должно быть только юникод символа, если надо другой уровень, то после юникода ставим цифру с необходимым уровнем.
Думаю лучшим вариантом для Вас будет сделать с 0 ну или сконвертить какой то из существующих шрифтов в файлы картинок, но смещения всё равно придется корректировать вручную если хотите по максимуму крупный шрифт (например буквы Ё, Й, Д, б, р и т.д. с хвостиками сверху, снизу).
Я с этим шрифтом долго провозился, каждую буковку в ручную рисовал)
 

trace

Разработчик
Команда форума
Сообщения
214
Реакции
555
Баллы
93
Ваше "умное" устройство
Amazfit Bip
Конвертировать изподфотошопный BMP в понятный font_info.json получилось - написал програмень, мои символы видны.
Но вот засада: оказывается, font_info.json теряет вертикальные смещения отдельных символов! Потому и результат конвертации туда-сюда - разный. Теперь буквы по высоте скачут :(
Качаешь Paint.NET:

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.


Качаешь плагин: https://myamazfit.ru/attachments/lowcolor_bmp_for_paint-net-zip.14565/
Закидываешь его в папку: ...\Program Files\paint.net\FileTypes
Потом редактируешь/добавляешь файлы шрифта, сохраняешь через "Сохранить как > Bitmap (Low Color)", это если пару-тройку файлов изменить нужно.
Если сразу много делаешь, то можно не париться и сохранять автоматом в обычный .bmp, а потом прогонять через программу "FastStonePhotoResizer": Программы для работы с графикой
В настройках ставишь "Без сжатия", цвет "Черно-белый", и убираешь галочку с пункта "Папка вывода", чтобы перезаписать файлы.
Далее закидываешь в скрипт, и всё, готово :)
 

Вложения

Lurker

Друг форума
Сообщения
34
Реакции
64
Баллы
13
Ваше "умное" устройство
Amazfit Bip
@trace, Спасибо! Я-то свои цифры уже сделал :)

Но сколько сложностей вместо того, чтоб в питоновом скрипте честно работать с BMP! Да и смещения при разборке что б не прописывать... В сборщике ресурсов и циферблатов - как-то без бубна, любой PNG, без проблем...
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу