1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/walkline-micropython-new-fontlib

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ICONFONT.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 06:20 b8d4e13

Генерация шрифтов с использованием иконок в виде шрифта

В этом руководстве мы рассмотрим, как создать библиотеку символов с помощью бесплатного набора иконок от IcoMoon.

  • Сначала скачайте архив с версией Free Version с GitHub.

  • Распакуйте следующие файлы из архива:

    • Font/IcoMoon-Free.ttf: файл шрифта иконок
    • Font/demo-files/demo.css: файл стилей, содержащий значения Unicode иконок
  • Откройте файл .ttf, нажмите кнопку "Установить", запомнив имя шрифта IcoMoon-Free.

  • Откройте файл .css и найдите первый и последний элементы, аналогичные следующим:

     /* Первый */
     .icon-home:before {
         content: "\e900";
     }
    
     /* Последний */
     .icon-IcoMoon:before {
         content: "\eaea";
     }
  • Запомните значения Unicode после content, такие как e900 и eaea.

  • Откройте файл client/fonts/cst_generator.py и добавьте список icomoon-free в соответствии со структурой font_list:

     font_list = [
         # [
         # 	output_file_prefix,
         # 	charset_range,
         # 	fontface,
         # 	fontfile
         # ]
         ['open-iconic', range(0xe000, 0xe0de + 1), 'Icons', 'open-iconic.ttf'],
         ['emoticons21', range(0x20, 0x3f + 1), 'Emoticons21', 'emoticons21.fon'],
         ['icomoon-free', range(0xe900, 0xeaea + 1), 'IcoMoon-Free', 'icomoon-free.ttf']
     ]
  • Запустите файл cst_generator.py и выполните указанные действия, чтобы сгенерировать файл icomoon-free.cst (таблица символов):

     $ cd client
     $ python fonts/cst_generator.py
  • Используйте командную строку для создания файла библиотеки символов, где IcoMoon-Free — это имя шрифта, которое вы запомнили при установке .ttf файла: ```bash $ FontMaker_Cli.exe -f IcoMoon-Free -s 16 --charset fonts/icomoon-free.cst -o icomoon-free.bin

  • Откройте сгенерированный файл icomoon-free.bin в двоичном режиме и прокрутите его до середины; если все содержимое состоит из 00, значит один из шагов был выполнен неверно, и файл библиотеки символов не был создан.

  • Используйте FontLib для получения данных пикселей символов:

     from libs.fontlib import FontLib
    
     fontlib = FontLib('client/icomoon-free.bin')
     fontlib.info()
    
     chars = '\ue977\ue9e9\ue978'
     buffer_dict = fontlib.get_characters(chars)
    
     for unicode, data in buffer_dict.items():
         print('{}: {}'.format(unicode, bytes(data)))
     for char in chars:
         print('{}: {}'.format(char, bytearray(buffer_dict[ord(char)])))
  • При запуске файла cst_generator.py также генерируется страница с превью иконок, что позволяет выбирать иконки в режиме предварительного просмотра.

    Примечание: файлы .fon недействительны


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/walkline-micropython-new-fontlib.git
git@api.gitlife.ru:oschina-mirror/walkline-micropython-new-fontlib.git
oschina-mirror
walkline-micropython-new-fontlib
walkline-micropython-new-fontlib
master