Bits'n'picas - это набор инструментов для создания и преобразования растровых шрифтов и эмодзи.
Функции Font Fonts можно получить как с помощью графического интерфейса, так и из командной строки. Функции шрифта смайликов можно получить только из командной строки.
Запустите JAR Bits'n'picas без каких -либо аргументов или с помощью команды edit чтобы открыть графический интерфейс шрифтов Bitmap.
java -jar BitsNPicas.jar
java -jar BitsNPicas.jar edit
java -jar BitsNPicas.jar edit myfont.sfd
Входной формат определяется расширением файла входного файла. Поддерживаемые входные форматы включают:
.kbitx - bits'n'picas 2.x Native Save Format.kbits - bits'n'picas 1.x формат сохранения.sfd - fontforge (только растровые карты; наброски не поддерживаются).bdf - x11 растровый формат распределения растрового изображения.psf , .psfu , .psf.gz , .psfu.gz - шрифт экрана ПК.suit - Mac OS Classic Font Quindatosant (в вилке ресурса).dfont - Mac OS Classic Font Quindatosan (в вилке данных).nfnt - Mac OS Classic Font Resource (в вилке данных).png - sfont или rfont, расширение программного обеспечения Kreative Software.png , .jpg , .jpeg , .gif , .bmp - Создать из изображения (только графический интерфейс).bin , .rom - Создать из двоичного файла (только графический интерфейс).hex - gnu Unifont Hex формат.cvt - шрифт Geos в преобразовании формата (включая мега -шрифты).fzx - fzx от Эндрю Оуэна (для ZX Spectrum).u8m - U8/M (UTF -8 для микрокомпьютеров).font - Amiga Bitmap Font (только черно -белый; цвет не поддерживается).fnt - Format Windows .fnt (не такой же, как .fon ; векторные шрифты не поддерживаются).fnt , .ftx - IBM DOS/V FONTX2 Формат.fnt , .mgf , .mpf - Mousepaint/Mousegraphics toolkit font.fnt , .rbf , .rb11 , .rb12 - Формат шрифта Rockbox.fnt , .fntz , .fnty , .cyf - формат шрифта Cybiko.fnt , .png - формат шрифта Playdate.set - Apple II набор символов символов Hi -Res Apple II.hmzk - Mi Band 2 Формат шрифта.dsf - Dosstart! Даниэль Л. Ниццы.sbf - Сабриэль растровый шрифтНа Mac OS X вы также можете запустить или бросить файл шрифта в приложение Bits'n'picas.

Bits'n'picas также могут открывать шрифт, настольные аксессуары и системные чемоданы и перемещаться по шрифтам, аксессуарам для столов, сценариях, макетах клавиатуры и звуках, как и Finder, который раньше мог делать в старые добрые времена системы 7.

Аналогичный интерфейс также существует для шрифтов Geos.

Пример:
java -jar BitsNPicas.jar convertbitmap -f ttf -o myfont.ttf myfont.sfd
Это преобразует растровые удары в файле fontforge myfont.sfd в очереди в новом файле шрифта Truetype myfont.ttf . Если, например, удары растрового изображения высоты 16 пикселей, сгенерированные контуры идеально совпадают с сеткой пикселя с размером шрифта в 16 пунктов.
Входной формат определяется расширением файла входного файла. Поддерживаемые входные форматы включают:
.kbitx - bits'n'picas 2.x Native Save Format.kbits - bits'n'picas 1.x формат сохранения.sfd - fontforge (только растровые карты; наброски не поддерживаются).bdf - x11 растровый формат распределения растрового изображения.psf , .psfu , .psf.gz , .psfu.gz - шрифт экрана ПК.suit - Mac OS Classic Font Quindatosant (в вилке ресурса).dfont - Mac OS Classic Font Quindatosan (в вилке данных).nfnt - Mac OS Classic Font Resource (в вилке данных).png - sfont или rfont, расширение программного обеспечения Kreative Software.hex - gnu Unifont Hex формат.cvt - шрифт Geos в преобразовании формата (включая мега -шрифты).fzx - fzx от Эндрю Оуэна (для ZX Spectrum).u8m - U8/M (UTF -8 для микрокомпьютеров).font - Amiga Bitmap Font (только черно -белый; цвет не поддерживается).fnt - Format Windows .fnt (не такой же, как .fon ; векторные шрифты не поддерживаются).fnt , .ftx - IBM DOS/V FONTX2 Формат.fnt , .mgf , .mpf - Mousepaint/Mousegraphics toolkit font.fnt , .rbf , .rb11 , .rb12 - Формат шрифта Rockbox.fnt , .fntz , .fnty , .cyf - формат шрифта Cybiko.fnt , .png - формат шрифта Playdate.set - Apple II набор символов символов Hi -Res Apple II.hmzk - Mi Band 2 Формат шрифта.dsf - Dosstart! Даниэль Л. Ниццы.sbf - Сабриэль растровый шрифт Выходной формат определяется опцией -f . Поддерживаемые выходные форматы включают:
kbitx или kbnp2 - BITS'N'PICAS 2.x НАСЛЕВЛЕННЫЙ ФОРМАТ SAVEkbits или kbnp1 - BITS'N'PICAS 1.x НАСЛЕДИТЕЛЬНЫЙ ФОРМАТ SAVEttf или truetype - trueTypeotb - Bitmap Opentypebdf - x11 растровый формат распределенияpsf , psf2 , psf1 , psfgz , psf2gz , psf1gz - Шрифт экрана ПКsuit - чемодан Mac OS Classic Font (в вилке ресурса)dfont - MAC OS Classic Font ЧУТАКАТ (В вилке данных)nfnt - Mac OS Classic Font Resource (в вилке данных)png или sfont - SDL SFONTrfont - Rfont, расширение SFONT Software Rfont, KREATIVEhex - GNU Unifont Hex Formatcvt или geos - Geos Font в формате преобразования (с Mega Option)fzx - FZX от Эндрю Оуэна (для ZX Spectrum)u8m - U8/M (UTF -8 для микрокомпьютеров)font или amiga - Amiga Bitmap Font (только черно -белый; цвет не поддерживается)fnt или fnt3 - формат Windows 3.x .fnt (не такой же, как .fon )fnt2 - Windows 2.x .fnt Format (также не такой, как .fon )fontx2 , fontx или dosv - IBM DOS/V ФОРМАТ FONTX2mgtk , mgf , mpf или mousepaint - Mousepaint/Mousegraphics Toolkit Fontrb12 - формат шрифта Rockbox для Rockbox 2.3 или вышеrb11 - формат шрифта Rockbox для Rockbox 2.2 или ниже и iPodlinuxcybiko - формат шрифта Cybikoplaydate , playdate-allinone , playdate-fnt Playdate Font Format, All-in-One (Single .fnt File)playdate-separate , playdate-fnt+png -Формат шрифта PlayDate, отдельные файлы .fnt и .pnghrcg или set - набор символов символов HI -разрешения Apple II Hi -Reshmzk - Mi Band 2 Font Formatsbf - Sabriel Bitmap FontДополнительные варианты включают:
-s regex -r Замена -Выполните поиск и замену на имя шрифта.-b -применить искусственный эффект.-w единиц -h единиц -укажите ширину и высоту пикселей в единицах EM (для формата ttf ).-i fontid -z Размер -Укажите идентификатор шрифта и размер шрифта (для формата nfnt или geos ). Вы можете увидеть список всех вариантов, используя опцию --help .
sbix Apple java -jar BitsNPicas.jar extractsbix AppleColorEmoji.ttf
Это извлекает изображения из AppleColorEmoji.ttf в каталог AppleColorEmoji.ttf.sbix.d As AS Piles. В этом каталоге будет несколько пронумерованных подкаталогов; Число соответствует пикселям на EM изображений внутри. (Это не обязательно то же самое, что и высота изображения!) Полученная структура каталогов будет выглядеть как:
AppleColorEmoji.ttf
AppleColorEmoji.ttf.sbix.d
20
glyph_43.png
glyph_44.png
...
32
glyph_43.png
glyph_44.png
...
...
java -jar BitsNPicas.jar extractsvg EmojiOne.otf
Это извлечет изображения SVG из EmojiOne.otf в каталог EmojiOne.otf.svg.d как несжатые файлы SVG. (Если данные SVG внутри шрифта сжаты, они будут декомпрессированы.) Полученная структура каталогов будет выглядеть как:
EmojiOne.otf
EmojiOne.otf.svg.d
glyph_2.svg
glyph_3.svg
...
CBDT / CBLC java -jar BitsNPicas.jar extractcbdt NotoColorEmoji.ttf
Это извлекает изображения PNG из NotoColorEmoji.ttf в каталог NotoColorEmoji.ttf.cbdt.d . В этом каталоге будет один или несколько пронумерованных подкаталогов; Число - это просто индекс записи растрового размера и не имеет другого значения. Полученная структура каталогов будет выглядеть как:
NotoColorEmoji.ttf
NotoColorEmoji.ttf.cbdt.d
0000
glyph_4.png
glyph_5.png
....
metadata.txt
....
fontinfo.txt
Файл metadata.txt в каждом подкаталоге перечисляет все значения из различных структур данных в таблицах CBLC и CBDT . Файл fontinfo.txt только что перечисляет некоторые другие значения из других неродственных таблиц для удобства (поскольку многие редакторы шрифтов не могут открывать шрифты с таблицами CBDT / CBLC , чтобы вы могли найти эти значения из -за отсутствия таблиц glyf / loca ).
COLR / CPAL Формат Microsoft COLR / CPAL в настоящее время не поддерживается.
Чтобы создать шрифт смайликов/цветов, вам понадобятся две вещи:
sbix Apple java -jar BitsNPicas.jar injectsbix MyEmoji.ttf
Это займет файл шрифта Truetype MyEmoji.ttf и изображения в каталоге MyEmoji.ttf.sbix.d и генерируют новый файл шрифта Truetype MyEmoji.ttf.sbix.ttf с изображениями, вставленными в таблицу sbix . Затем вы можете переименовать этот файл, если хотите. Название каждого подкаталога в каталоге изображения должно быть пикселями на EM из изображений, которые он содержит. (Это не обязательно то же самое, что и высота изображения!) Имя файла каждого изображения в каждом подкаталоге должно быть из формы glyph_123.png (с индексом Glyph в десятилетом) или char_ABCD.png (с точкой кода Юникода в гексадецимале). Нижняя левая позиция каждого изображения будет определена минимальными координатами x и y соответствующего глифа в файле шрифта Truetype. (Для яблочного эмодзи, это просто установлено в 0,0.)
java -jar BitsNPicas.jar injectsvg MyEmoji.otf
Это займет файл font opentype MyEmoji.otf и изображения SVG в каталоге MyEmoji.otf.svg.d и генерирует новый файл font opentype MyEmoji.otf.svg.otf с изображениями, встроенными в таблицу SVG . Затем вы можете переименовать этот файл, если хотите. Имя файла каждого изображения в каталоге изображений должно относиться к форме glyph_123_456.svg (для диапазона глифов, с индексами Glyph в десятичных знаках), glyph_123.svg (для одного глифа, с индексом Glyph в Decimal), или char_ABCD.svg (для одиночного Glyph, с unicxim in inexecim).
Для каждого индекса Glyph, отображаемого с документом SVG, в этом документе должен быть элемент с идентификатором, соответствующим этому индексу глифа (например id="glyph123" для индекса Glyph 123). Поскольку вы можете не знать индекс Glyph при указании кодовой точки в имени файла изображения, вы можете использовать заполнитель id="glyph{{{0}}}" , и он будет заменен соответствующим индексом Glyph во время процесса инъекции.
Если вы указали опцию -z перед именем файла шрифта, данные SVG будут сжаты с помощью GZIP. Microsoft утверждает, что это поддерживает формат SVG-in-opentype, и доступность версии эмоджионе с GZIP-сжатым Glyphs SVG, по-видимому, подтверждает это. Тем не менее, я не смог получить шрифты с GZIP-глифами SVG, чтобы работать даже в последней версии Firefox на момент написания этой статьи, поэтому я не рекомендую это.
Если у вас есть куча изображений без SVG, которые вы хотели бы ввести, используя этот формат, вы можете легко генерировать SVG с встроенными изображениями, используя команду, подобную следующему:
java -jar BitsNPicas.jar imagetosvg -x 0 -y -700 -w 800 -h 800 myimages/*.png
Это создаст соответствующий файл SVG для каждого указанного файла изображения без SVG. Параметры -x , -y , -w , -h указывают положение и размер изображения в единицах EM. Обратите внимание, что ось SVG y обращается от оси y truetype, поэтому отрицательные координаты Y находятся выше базовой линии, а положительные координаты Y находятся ниже базовой линии.
CBDT / CBLC java -jar BitsNPicas.jar injectcbdt MyEmoji.ttf
Это займет файл шрифта Truetype MyEmoji.ttf и изображения PNG в каталоге MyEmoji.ttf.cbdt.d и генерировать новый файл шрифта Truetype MyEmoji.ttf.cbdt.ttf с изображениями, встроенным в таблицу CBDT . Затем вы можете переименовать этот файл, если хотите. Должен быть подкаталог для каждого размера растрового изображения; Названия подкаталогов не имеют значения. Имя файла каждого изображения в каждом подкаталоге должно быть в форме glyph_123.png (с индексом Glyph в десятичном значении) или char_ABCD.png (с точкой кода Unicode в шестнадцатеричном).
Для каждого подкаталога рекомендуется также содержать файл значений metadata.txt для использования для различных структур данных в таблицах CBLC и CBDT . Следующее рекомендуется как минимум:
horiAscender: *ascent in pixels (normally positive)*
horiDescender: *descent in pixels (normally negative)*
horiWidthMax: *max character width in pixels*
vertAscender: *ascent in pixels (normally positive)*
vertDescender: *descent in pixels (normally negative)*
vertWidthMax: *max character width in pixels*
ppemX: *pixels per em*
ppemY: *pixels per em*
glyph: *glyph index*
height: *image height in pixels*
width: *image width in pixels*
bearingX: *x offset in pixels*
bearingY: *y offset in pixels (positive is above the baseline)*
advance: *character width in pixels*
endGlyph
Для индекса Glyph вы также можете использовать char_ABCD (с точкой кода Unicode в шестнадцатеричной) или * для покрытия всех глифов, не указанных иначе. Поля, связанные с самой структурой данных (различные смещения, графики и диапазоны индекса глифа, а также все, что связано с различными типами подтоконов индекса), не должны быть указаны, будут проигнорированы в случае указанного и будут рассчитаны автоматически. (Только индекс -подтекальный формат 1 и форматы данных растрового изображения 17, 18 и 19 будут использоваться, независимо от указанных метаданных.)
По умолчанию injectcbdt также удалит любые таблицы glyf , loca , CFF или CFF2 из шрифта. Чтобы сохранить эти таблицы, укажите опцию -g перед именем файла шрифта.
COLR / CPAL Формат Microsoft COLR / CPAL в настоящее время не поддерживается.