-@@------------------------------------------@@------@@--------------@@-
-@@------------------------------------------@@------@@--@@----------@@-
-@@------------------------------------------@@----------@@----------@@-
-@@------@@@@@@@@@----@@@@---@@@@@----@@@@---@@@@@---@@-@@@@---------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@------@@-
-@@------@@--@@--@@---@@@@---@@--@@---@@@@---@@@@@---@@---@@-@@------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
Инструменты monobit позволяют изменить растровые шрифты и преобразовать между несколькими форматами.
Нативным форматом monobit является yaff , ориентированный на человеку, текстовый визуальный формат, похожий на тот, который использовался hexdraw Roman Czyborra, mkwinfont 's Simon Tatham и John Elliott's psftools . Подробная информация приведена в спецификации формата файла шрифта yaff .
Монобит требует Python 3.9 или выше. Установите через pip install monobit . Некоторые форматы или функции требуют дополнительных пакетов; См. Зависимости ниже для списка. Они будут установлены автоматически, если вы используете pip .
monobit можно использовать в качестве пакета Python или в качестве инструмента командной строки.
Вот несколько примеров того, как использовать утилиту конверсии.
monobit-convert --help
Отображение вариантов использования и параметров командной строки
monobit-convert --help load --format=raw
Отображение резюме использования и дополнительные параметры командной строки, специфичные для формата для преобразования из необработанного двоичного файла.
monobit-convert fixedsys.fon
Признайте формат исходного файла из «магических байтов» или суффикса (здесь, шрифт Windows) и напишите шрифты на стандартный выход в формате yaff .
monobit-convert roman.bdf to --format=unifont
Прочитайте шрифт из файла BDF и запишите на стандартный вывод в виде Unifont Hex.
monobit-convert fixed.psf to fixed.png
Прочитайте шрифт в формате PSF и напишите на диск как изображение в формате PNG.
monobit-convert --format=c to --format=bdf
Прочитайте шрифт из стандартного ввода в качестве бинарного кодирования C-Source и записать в стандартный выход как BDF.
Конвертер прозрачно читает и записывает файлы шрифтов gz , bz2 или xz -COMPRESE и может читать и писать архивы zip и tar . Некоторые форматы шрифтов содержат несколько шрифтов, тогда как другие могут содержать только один; Преобразователь при необходимости будет писать несколько файлов в каталог или архив.
Также возможно применять различные преобразования на шрифте перед его сохранением. Проверьте monobit-convert --help для использования.
Утилита баннера отображает текст на стандартную выводу в данном шрифте. Это похоже на древние banner команды, включенные в System-V и BSD Unixes.
Например, баннер на вершине этого README был сделан с
me@bandit:~$ monobit-banner '| monobit. |' --font=VGASYS.FON
monobit-banner имеет ряд вариантов рендеринга - вы можете выбрать шрифты, изменить символы «чернила» и «бумаги», установить маржу, масштабный текст и повернуть на четверть поворота. Проверьте monobit-banner --help для использования.
| Формат | Короткое имя | Типичное расширение | Читать | Писать | Тип | Функции |
|---|---|---|---|---|---|---|
| Xerox Alto конвертировать | alto | .al | ✓ | бинарный | - | |
| Amiga Font Содержимое | amiga-fc | .font | ✓ | ✓ | бинарный | М; Смотрите amiga |
| Amiga Font | amiga | ✓ | ✓ | бинарный | OCG | |
| X11/adobe bdf | bdf | .bdf | ✓ | ✓ | кодированный | U SB MB VOG |
| Beos Bitmap Font | beos | ✓ | ✓ | бинарный | Uog | |
| Xerox Alto Bitblt | bitblt | .strike .ks | ✓ | бинарный | О | |
| AngelCode BMFONT [P] | bmfont | .fnt .xml .json + изображения | ✓ | ✓ | изображение | MU SB MB OKGC |
| Fontrix (ПК), PCPaint, Grasp, Chiwriter | chiwriter | .set .[specx]ft | ✓ | бинарный | - | |
| Консоль / Vfontas | consoleet | .txt | ✓ | ✓ | визуальный | - |
| Дейзи-дот | daisy | .nlq .nl2 .nl3 .nl4 | ✓ | бинарный | - | |
| Desstart! | dosstart | .dsf | ✓ | ✓ | кодированный | - |
| Эдвин растровый шрифт | edwin | .fnt | ✓ | ✓ | кодированный | - |
| Figlet Font | figlet | .flf | ✓ | ✓ | визуальный | (3) |
| FZX Font | fzx | .fzx | ✓ | ✓ | бинарный | О |
| ОС/2 Ресурс GPI | gpi | .fnt | ✓ | бинарный | SB O (MB K) | |
| Atari gdos / gem | gdos | .fnt .gft .vga | ✓ | ✓ | бинарный | О |
| Файл шрифта GEOS (CVT) | geos | .cvt | ✓ | ✓ | бинарный | М; Смотрите vlir |
| Adafruit GFX Font | gfxfont | .h | ✓ | ✓ | кодированный | О |
| Hexdraw | hexdraw | .draw | ✓ | ✓ | визуальный | U |
| HP PCL мягкий шрифт | hppcl | .sft .sfp .sfl | ✓ | ✓ | эск | SB MB o |
| Apple IIGS Font | iigs | .fon | ✓ | ✓ | бинарный | Смотрите nfnt |
| Растровое изображение [P] | image | .png .gif .bmp | ✓ | ✓ | изображение | - |
| Набор изображений растрового изображения [P] | imageset | .png .gif .bmp | ✓ | ✓ | изображение | - |
| Библиотека Фонта Лизы | lisa | .bin | ✓ | бинарный | М; Смотрите nfnt | |
| MacOS Font | mac | .dfont .suit | ✓ | ✓ | бинарный | МК; Смотрите nfnt |
| MouseGraphics Toolkit | mgtk | ✓ | бинарный | - | ||
| Формат текста Mkwinfont | mkwinfont | .fd | ✓ | ✓ | визуальный | Сб |
| Windows или OS/2 шрифт | mzfon | .fon .exe .dll | ✓ | (1) | бинарный | М; См. win , gpi |
| Голый ресурс NFNT | nfnt | .f | ✓ | ✓ | бинарный | SB OG (C) |
| Palm OS Font (v1/nfnt) | palm | .pdb | ✓ | бинарный | М; Смотрите nfnt | |
| Palm OS PRC (v1/nfnt) | palm-prc | .prc | ✓ | бинарный | М; Смотрите nfnt | |
| X11 Portable Compiled Format | pcf | .pcf | ✓ | ✓ | бинарный | U SB MB O |
| ПК/GEOS v2.0+ | pcgeos | .fnt | ✓ | ✓ | бинарный | O (MB K) |
| Pilfont [P] | pilfont | .pil + .pbm | ✓ | ✓ | изображение | О |
| Tex Pkfont | pkfont | .pk | ✓ | бинарный | О | |
| Случайный формат Adobe | prebuilt | .bepf .lepf | ✓ | бинарный | G (v) | |
| Xerox Alto Prepress | prepress | .ac | ✓ | бинарный | О | |
| Печатный магазин | printshop | .pnf | ✓ | бинарный | - | |
| RISCOS X90Y45 Формат | riscos-xy | ✓ | бинарный | Ог | ||
| RISCOS новый формат | riscos | ✓ | бинарный | Ог | ||
| Серьмо! 2 | signum | .e24 .p9 .p24 .l30 | ✓ | бинарный | - | |
| Sfont | sfont | ✓ | ✓ | изображение | GC | |
| SFNT встроенный растровый карту | sfnt | .otb .ttf .otf [f] [**] | ✓ | (2) | бинарный | M US SB MB OKVG (C) |
| SFNT Collection | ttcf | .otc .ttc [f] [**] | ✓ | (2) | бинарный | M US SB MB OKVG (C) |
| VFONT | vfont | ✓ | ✓ | бинарный | О | |
| Запись шрифта Geos Geos | vlir | ✓ | ✓ | бинарный | О | |
| Windows Fnt Resource | win | .fnt | ✓ | ✓ | бинарный | Сб |
| Монобит Яфф | yaff | .yaff | ✓ | ✓ | визуальный | M US SB MB OKVGC |
[P] требует PIL
[F] требует Fonttools
(1) 16-битный контейнер Windows NE только с ресурсом Fnt
(2) только растровый карта (OTB)
(3) Ограниченная функция чтения: нет поддержки ASCII-ART, которая является основной особенностью Figlet
М многократный контейнер
U Unicode
Us Unicode, многоцелевые последовательности
SB Однобайтовые наборы символов
МБ много-байтовые наборы символов
O Перекрывающиеся глифы K kerning
V Вертикальные метрики
G Грейсскальные шрифты
C Цветные шрифты (не поддерживаются monobit )
Если аббревиатура заключена в скобку, формат поддерживает это, но он не реализован.
| Формат | Короткое имя | Типичное расширение | Читать | Писать | Тип | Клетка | Функции |
|---|---|---|---|---|---|---|---|
| 64c | 64c | .64c | ✓ | ✓ | бинарный | 8x8 | - |
| +3дос | plus3dos | ✓ | ✓ | бинарный | 8x8 | - | |
| BBC мягкий шрифт | bbc | ✓ | ✓ | эск | 8x8 | - | |
| Информация о коде | cpi | .cpi | ✓ | ✓ | бинарный | 8xn | M SB |
| Дашен | dashen | .pft | ✓ | бинарный | любой | - | |
| Dec Drcs Soft Font | dec | ✓ | ✓ | эск | > 4xn | - | |
| Доктор Хало / Доктор Гений | drhalo | .fon | ✓ | бинарный | любой | - | |
| FONTX2 | fontx | .fnt | ✓ | ✓ | бинарный | любой | Мб |
| Fontedit | fontedit | .com | ✓ | бинарный | 8xn | - | |
| Погрузка | frapt | .com | ✓ | бинарный | 8xn | - | |
| Fontraption Tsr | frapt-tsr | .com | ✓ | бинарный | 8xn | - | |
| PCPAINT, поймайте старый формат | grasp | .set .fnt | ✓ | ✓ | бинарный | любой | - |
| Hanzi Bitmap Font | hbf | .hbf + RAW | ✓ | ✓ | бинарный | любой | SB MB |
| GNU Unifont | unifont | .hex | ✓ | ✓ | кодированный | 8x16 (строго) 8xn <= 32 (Ext) | MC U (строго) MC US (EXT) |
| Голая кодировка | kbd | .cp | ✓ | ✓ | бинарный | 8xn | Сб |
| Letafont Loader | letafont | .com | ✓ | бинарный | 8x8 | - | |
| REXXCOM FONT MANIA | mania | .com | ✓ | бинарный | 8xn | - | |
| NetBSD WSFONT C HEADER | netbsd | .h | ✓ | ✓ | кодированный | любой | M SB |
| Optiks PCR Font | pcr | .pcr | ✓ | ✓ | бинарный | 8xn | - |
| Шрипт экрана ПК | psf | .psf .psfu | ✓ | ✓ | бинарный | любой (v2) 8xn (v1) | НАС |
| PSF2AMS PSFCOM | psfcom | .com | ✓ | бинарный | 8x8, 8x16 | - | |
| psf2txt | psf2txt | .txt | ✓ | ✓ | визуальный | любой | НАС |
| Сырой бинар | raw | .fnt .rom [*] | ✓ | ✓ | бинарный | - | - |
| UDG Loader | udg | .com | ✓ | бинарный | 8x8 | - | |
| FreeBSD Консольный шрифт | vtfont | .fnt | ✓ | ✓ | бинарный | любой | MC U. |
| Геркулес пишет! | writeon | .wof | ✓ | ✓ | бинарный | 8x14 кратные | - |
| Netbsd WSFont Binary | wsfont | .wsf | ✓ | ✓ | бинарный | любой | Сб |
| Wyse-60 мягкий шрифт | wyse | ✓ | ✓ | эск | 8x16 | - | |
| Секция шрифта Xbin | xbin | .xb | ✓ | ✓ | бинарный | 8x <= 32 | - |
| Zapfont (старый формат) | zapfont | ,1bd | ✓ | ✓ | бинарный | любой | - |
| Zapredraw UCS | zapredraw | ,1bd | ✓ | ✓ | бинарный | любой | U |
MC Многоцелевые глифы
Эти форматы выводят таблицу глифов. PDF, текстовые и блок-диаграммы только для записи, диаграммы изображений могут быть прочитаны через считывание image .
| Формат | Короткое имя | Читать | Писать |
|---|---|---|---|
| Текст | chart | ✓ | |
| Блокировать элементы | blocks | ✓ | |
| Цвета ANSI | shades | ✓ | |
| Изображение [P] | image | ✓ | ✓ |
| PDF [R] | pdf | ✓ |
[P] требует PIL
[R] Требуется Reportlab
Серкальная и цветная поддержка экспериментальна. Расширение формата YAFF позволяет хранить глифы с до 8 бит на пиксель (256 цветов или серых уровней).
Поддержка шрифта инсульта экспериментальная. Шрифты ударов представляют собой масштабируемые шрифты, определяемые как сегменты линии. Они принципиально отличаются от современных шрифтов тем, что они определяют отдельные удары, тогда как современные шрифты определяют контуры, которые будут заполнены чернилами. Кроме того, в настоящее время поддерживаемые шрифты состоят только из прямых сегментов.
| Формат | Короткое имя | Типичное расширение | Читать | Писать |
|---|---|---|---|---|
| Монобит Яфф | yaff | .yaff | ✓ | ✓ |
| SVG шрифты | svg | .svg | ✓ | ✓ |
| Ресурс Windows | win | .fnt | ✓ | ✓ |
| Windows Font | fon | .fon | ✓ | ✓ (NE) |
| Борланд графический интерфейс | borland | .chr | ✓ | ✓ |
| Херши шрифты (Джим Херт) | hurt | .jhf | ✓ | |
| Desstart | dosstart | .dsf | ✓ | |
| Управление | gimms | .bin | ✓ |
monobit будет повторять и извлекать файлы шрифтов из ряда общих контейнеров, архива, сжатия и кодирования:
| Формат | Имя | Типичное расширение | Читать | Писать |
|---|---|---|---|---|
| PKZIP/WINZIP | zip | .zip | ✓ | ✓ |
| GNU TAR | tar | .tar .tgz | ✓ | ✓ |
| Rar [a] | rar | .rar | ✓ | |
| 7-Zip [A] | 7zip | .7z | ✓ | ✓ |
| MS Cabinet [A] | cabinet | .cab | ✓ | |
| Lharc/lha/lzh [a] | lharc | .lha .lzh | ✓ | |
| Туз [c] | ace | .ace | ✓ | |
| ISO 9660 [A] | iso9660 | .iso | ✓ | ✓ |
| Warc [a] | warc | .warc | ✓ | ✓ |
| CPIO [A] | cpio | .cpio | ✓ | ✓ |
| Pax [a] | pax | .pax | ✓ | ✓ |
| Xar [a] | xar | .xar | ✓ | ✓ |
| Ar [a] | ar | .ar | ✓ | ✓ |
| Gzip | gzip | .gz | ✓ | ✓ |
| Bzip2 | bzip2 | .bz2 | ✓ | ✓ |
| XZ/LZMA | lzma | .xz .lzma | ✓ | ✓ |
| Сжатие [z] | compress | .Z | ✓ | ✓ |
| Яблоко | apple1 | .as | ✓ | |
| Appledouble | apple2 | .adf .rsrc | ✓ | |
| Макбинар | macbin | .bin | ✓ | |
| Binhex 4.0 | binhex | .hqx | ✓ | |
| Binscii | binscii | .bsc .bsq | ✓ | |
| Intel Hex | intel | .ihex .ihx | ✓ | ✓ |
| База64 | base64 | ✓ | ✓ | |
| Цитируется | quopri | ✓ | ✓ | |
| Uuencode | uuencode | ✓ | ✓ | |
| yencode [y] | yenc | ✓ | ✓ | |
| Mime Multipart Email | email | .eml .msg | ✓ | ✓ |
| C или C ++ Кодированный двоичный файл | c | .c .cpp .cc .h | ✓ | ✓ |
| JSON закодировал бинарный | json | .json | ✓ | ✓ |
| Питон, закодированный бинар | python | .py | ✓ | ✓ |
| Паскаль закодировал бинарный | pascal | .pas | ✓ | ✓ |
| Основной кодированный бинарный | basic | .bas | ✓ | ✓ |
[A] требует Libarchive
[C] требует AceFile
[Y] требует Python3-Yenc
[Z] требует NCMPRESS
Обратите внимание, что многие из них в настоящее время требуют чтения полного архива в память, что может быть практически возможно с помощью EG ISO9660 или файлов WARC, которые могут содержать целые файловые системы.
Это наиболее распространенный формат, используемый на старых платформах, часто с бесполезным суффиксом .fnt . Поскольку нет метаданных, вы должны указать размер символов. Наиболее распространенный и по умолчанию размер составляет 8x8 (CGA и многие 8-битные платформы), за которыми следуют 8x16 (VGA) и 8x14 (EGA).
.f08 , .ch8 , .88 , .chr , .udg и многие другие..f14 или .814 ..f16 , Warp 9 .fnt или Degas Elite .fnt.car -файлы - это необработанные файлы 16x16..fnt представляют собой необработанные двоичные файлы с растровым ударом 4096x8 пикселей. Извлечение с помощью -strike-width=512 .Также полезно проверить размер файла. Сырые файлы обычно содержат 96 (ASCII, исключая элементы управления), 128 (ASCII), 256 или их кратные. Общие размеры файлов поэтому:
| 8x8 | 8x14 | 8x16 | |
|---|---|---|---|
| 96 | 768 | 1344 | 1536 |
| 128 | 1024 | 1792 | 2048 |
| 256 | 2048 | 3584 | 4096 |
| 512 | 4096 | 7168 | 8192 |
Если ваш неопознанный файл шрифта имеет один из этих размеров, скорее всего, это необработанный двоичный файл.
monobit может извлекать растровые карты, встроенные в файлы шрифтов TrueType и Opentype. Следует иметь в виду, что они в основном предназначены как масштабируемые форматы, и только исключительно встраивают растровые карты для улучшения рендеринга на дисплеях с низким разрешением.
Подавляющее большинство файлов .ttf , .otf , .dfont и т. Д. Это верно даже для шрифтов с пикселизированным видом. Чтобы преобразовать их, вам сначала нужно их раскачиваться , что monobit не делает. Некоторые из других инструментов шрифтов, связанных ниже, имеют растительные функции.
monobit может экспериментально выводить файлы OpenType Bitmap ( .otb ), формат файла только растрового изображения, поддерживаемый настольными компьютерами Linux.
Некоторые форматы требуют
Pillow )Рендерер дополнительно использует
Почти все могут быть установлены через PIP:
pip install Pillow reportlab fonttools uniseg python-bidi arabic-reshaper libarchive-c ncompress acefile
Пакет python3-yenc доступен по адресу https://github.com/oe-mirrors/python3-yenc и через некоторые распределения Linux. Без этих пакетов некоторые функции могут быть недоступны.
monobit и спецификация yaff являются Copyright 2019-2024 Rob Hagemans и выпущены по лицензии MIT.
monobit содержит код из:
mkwinfont Copyright 2001 Саймон Татхам. Все права защищены.dewinfont Copyright 2001,2017 Саймон Татхам. Все права защищены. Пожалуйста, обратитесь к уведомлениям в подпакетах windows и os2 и модуле mac/fond.py для получения лицензий и дополнительной информации.
Файлы шрифтов в tests/fonts подлежат их собственным лицензиям, некоторые из которых являются более ограничительными. Это файлы, используемые для тестирования и разработки, и не включены в упакованное распределение. См. tests/fonts/README.md и уведомления, включенные в отдельные файлы.
monobit не существовал бы без тех, кто документирует, обратно инженеры, внедрение и сохранение форматов и файлов шрифтов:
Другие инструменты шрифта растрового изображения, которые вы можете использовать в сочетании с (или вместо) monobit включают:
gbdfed