Bits'n'Picas adalah seperangkat alat untuk membuat dan mengonversi font bitmap dan emoji.
Fungsi font bitmap dapat diakses baik dengan GUI dan dari baris perintah. Fungsi font emoji hanya dapat diakses dari baris perintah.
Luncurkan Jar Bit'n'Picas tanpa argumen atau dengan perintah edit untuk membuka editor font Bitmap GUI.
java -jar BitsNPicas.jar
java -jar BitsNPicas.jar edit
java -jar BitsNPicas.jar edit myfont.sfd
Format input ditentukan oleh ekstensi file dari file input. Format input yang didukung meliputi:
.kbitx - bits'n'picas 2.x format simpan asli.kbits - Bits'n'picas 1.x Format Simpan Asli.sfd - fontForge (hanya bitmaps; garis besar tidak didukung).bdf - format distribusi bitmap x11.psf , .psfu , .psf.gz , .psfu.gz - font layar pc.suit - Mac OS Classic Font Suitcase (di Fork Resource).dfont - koper font klasik Mac OS (dalam garpu data).nfnt - Sumber font klasik Mac OS (dalam garpu data).png - sfont atau rfont, ekstensi sfont perangkat lunak kreative.png , .jpg , .jpeg , .gif , .bmp - create from Image (hanya GUI).bin , .rom - buat dari file biner (hanya GUI).hex - format gnu unifont hex.cvt - geos font dalam format konversi (termasuk mega font).fzx - FZX oleh Andrew Owen (untuk ZX Spectrum).u8m - u8/m (UTF -8 untuk komputer mikro).font - font bitmap amiga (hitam dan putih; warna tidak didukung).fnt - format windows .fnt (tidak sama dengan .fon ; font vektor tidak didukung).fnt , .ftx - format IBM DOS/V Fontx2.fnt , .mgf , .mpf - font mousepaint/mousegraphics toolkit.fnt , .rbf , .rb11 , .rb12 - format font rockbox.fnt , .fntz , .fnty , .cyf - format font cybiko.fnt , .png - format font playdate.set - set karakter karakter generator karakter hi -res Apple II.hmzk - format font Band 2 Mi.dsf - dosstart! oleh Daniel L. Nice.sbf - font bitmap sabrielDi Mac OS X Anda juga dapat meluncurkan atau menjatuhkan file font ke aplikasi Bits'n'Picas.

Bits'n'Picas juga dapat membuka font, aksesori meja, dan koper sistem dan bergerak di sekitar font, aksesori meja, skrip, tata letak keyboard, dan suara, seperti yang dulu dapat dilakukan oleh pencari di masa lalu yang indah di System 7.

Antarmuka serupa juga ada untuk font GEOS.

Contoh:
java -jar BitsNPicas.jar convertbitmap -f ttf -o myfont.ttf myfont.sfd
Ini akan mengonversi serangan bitmap di file fontForge myfont.sfd menjadi menguraikan dalam file font truetype baru myfont.ttf . Jika, misalnya, serangan bitmap setinggi 16 piksel, garis besar yang dihasilkan akan sangat cocok dengan kisi piksel pada ukuran font 16 poin.
Format input ditentukan oleh ekstensi file dari file input. Format input yang didukung meliputi:
.kbitx - bits'n'picas 2.x format simpan asli.kbits - Bits'n'picas 1.x Format Simpan Asli.sfd - fontForge (hanya bitmaps; garis besar tidak didukung).bdf - format distribusi bitmap x11.psf , .psfu , .psf.gz , .psfu.gz - font layar pc.suit - Mac OS Classic Font Suitcase (di Fork Resource).dfont - koper font klasik Mac OS (dalam garpu data).nfnt - Sumber font klasik Mac OS (dalam garpu data).png - sfont atau rfont, ekstensi sfont perangkat lunak kreative.hex - format gnu unifont hex.cvt - geos font dalam format konversi (termasuk mega font).fzx - FZX oleh Andrew Owen (untuk ZX Spectrum).u8m - u8/m (UTF -8 untuk komputer mikro).font - font bitmap amiga (hitam dan putih; warna tidak didukung).fnt - format windows .fnt (tidak sama dengan .fon ; font vektor tidak didukung).fnt , .ftx - format IBM DOS/V Fontx2.fnt , .mgf , .mpf - font mousepaint/mousegraphics toolkit.fnt , .rbf , .rb11 , .rb12 - format font rockbox.fnt , .fntz , .fnty , .cyf - format font cybiko.fnt , .png - format font playdate.set - set karakter karakter generator karakter hi -res Apple II.hmzk - format font Band 2 Mi.dsf - dosstart! oleh Daniel L. Nice.sbf - font bitmap sabriel Format output ditentukan oleh opsi -f . Format output yang didukung meliputi:
kbitx atau kbnp2 - bits'n'picas 2.x format simpan aslikbits atau kbnp1 - bits'n'picas 1.x format simpan aslittf atau truetype - Truetypeotb - OpenType Bitmapbdf - Format Distribusi Bitmap X11psf , psf2 , psf1 , psfgz , psf2gz , psf1gz - Font Layar PCsuit - Mac OS Classic Font Suitcase (di Fork Resource)dfont - Mac OS Classic Font Suitcase (di Data Fork)nfnt - Mac OS Classic Font Resource (di Fork Data)png atau sfont - sdl sfontrfont - RFONT, Perpanjangan Sfont Perangkat Lunak Kreativehex - format gnu unifont hexcvt atau geos - GEOS FONT DALAM FORMAT CONVERT (dengan opsi mega)fzx - FZX oleh Andrew Owen (untuk ZX Spectrum)u8m - U8/M (UTF -8 untuk komputer mikro)font atau amiga - Amiga Bitmap Font (Hitam dan Putih saja; Warna Tidak Didukung)fnt atau fnt3 - windows 3.x .fnt format (tidak sama dengan .fon )fnt2 - windows 2.x .fnt format (juga tidak sama dengan .fon )fontx2 , fontx , atau dosv - format IBM DOS/V Fontx2mgtk , mgf , mpf , atau mousepaint - Mousepaint/Mousegraphics Toolkit Fontrb12 - Format Font Rockbox untuk Rockbox 2.3 atau lebih darirb11 - Format Font Rockbox untuk Rockbox 2.2 atau di bawah dan iPodlinuxcybiko - Format Font Cybikoplaydate , playdate-allinone , playdate-fnt -Format font playDate, all-in-one (file .fnt tunggal)playdate-separate , playdate-fnt+png -Format Font PlayDate, Pisahkan .FNT dan .PNG Filehrcg atau set - APPLE II Hi -res Character Generator Set Character Sethmzk - Format Font Band 2 Misbf - Font Bitmap SabrielOpsi tambahan termasuk:
-s Regex -r Replacement -Lakukan pencarian dan ganti pada nama font.-b -Terapkan efek faux -bold.-w Unit -h Unit -Tentukan lebar dan tinggi piksel dalam unit EM (untuk format ttf ).-i fontid -z ukuran -Tentukan ID font dan ukuran font (untuk format nfnt atau geos ). Anda dapat melihat daftar semua opsi menggunakan opsi --help .
sbix Apple java -jar BitsNPicas.jar extractsbix AppleColorEmoji.ttf
Ini akan mengekstrak gambar dari AppleColorEmoji.ttf ke dalam direktori AppleColorEmoji.ttf.sbix.d sebagai file png. Akan ada beberapa subdirektori bernomor dalam direktori ini; Angka tersebut sesuai dengan piksel per em gambar di dalam. (Ini tidak selalu sama dengan tinggi gambar!) Struktur direktori yang dihasilkan akan terlihat seperti:
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
Ini akan mengekstraksi gambar SVG dari EmojiOne.otf ke dalam direktori EmojiOne.otf.svg.d sebagai file SVG yang tidak terkompresi. (Jika data SVG di dalam font dikompresi, itu akan didekompresi.) Struktur direktori yang dihasilkan akan terlihat seperti:
EmojiOne.otf
EmojiOne.otf.svg.d
glyph_2.svg
glyph_3.svg
...
CBDT / CBLC Google java -jar BitsNPicas.jar extractcbdt NotoColorEmoji.ttf
Ini akan mengekstraksi gambar PNG dari NotoColorEmoji.ttf ke dalam direktori NotoColorEmoji.ttf.cbdt.d . Akan ada satu atau lebih subdirektori bernomor dalam direktori ini; Jumlahnya hanyalah indeks catatan bitmapsize dan tidak memiliki signifikansi lain. Struktur direktori yang dihasilkan akan terlihat seperti:
NotoColorEmoji.ttf
NotoColorEmoji.ttf.cbdt.d
0000
glyph_4.png
glyph_5.png
....
metadata.txt
....
fontinfo.txt
File metadata.txt dalam setiap subdirektori mencantumkan semua nilai dari berbagai struktur data dalam tabel CBLC dan CBDT . File fontinfo.txt hanya mencantumkan beberapa nilai lain dari tabel lain yang tidak terkait untuk kenyamanan (karena banyak editor font tidak dapat membuka font dengan tabel CBDT / CBLC untuk Anda menemukan nilai -nilai ini karena kurangnya tabel glyf / loca ).
COLR / CPAL Microsoft Format COLR / CPAL Microsoft saat ini tidak didukung.
Untuk membuat font emoji/warna, Anda akan membutuhkan dua hal:
sbix Apple java -jar BitsNPicas.jar injectsbix MyEmoji.ttf
Ini akan mengambil file font truetype MyEmoji.ttf dan gambar dalam direktori MyEmoji.ttf.sbix.d dan menghasilkan file font truetype baru MyEmoji.ttf.sbix.ttf dengan gambar yang disematkan dalam tabel sbix . Anda kemudian dapat mengganti nama file ini jika Anda suka. Nama masing -masing subdirektori dalam direktori gambar harus berupa piksel per em dari gambar yang dikandungnya. (Ini tidak harus sama dengan tinggi gambar!) Nama file setiap gambar dalam setiap subdirektori harus dari bentuk glyph_123.png (dengan indeks mesin terbang dalam desimal) atau char_ABCD.png (dengan titik kode unicode dalam heksadesimal). Posisi kiri bawah dari setiap gambar akan ditentukan oleh koordinat X dan Y minimum dari mesin terbang yang sesuai dalam file font Truetype. (Untuk emoji warna apel, ini kebetulan diatur ke 0,0.)
java -jar BitsNPicas.jar injectsvg MyEmoji.otf
Ini akan mengambil file font OpenType MyEmoji.otf dan gambar SVG di direktori MyEmoji.otf.svg.d dan menghasilkan file font opentype baru MyEmoji.otf.svg.otf dengan gambar yang tertanam dalam tabel SVG . Anda kemudian dapat mengganti nama file ini jika Anda suka. Nama file dari setiap gambar dalam direktori gambar harus dari bentuk glyph_123_456.svg (untuk kisaran mesin terbang, dengan indeks mesin terbang dalam desimal), glyph_123.svg (untuk satu glyph, dengan indeks glyph dalam desimal), atau char_ABCD.svg .
Untuk setiap indeks Glyph yang dipetakan ke dokumen SVG, harus ada elemen dalam dokumen dengan ID yang sesuai dengan indeks GLYPH (misalnya id="glyph123" untuk indeks GLYPH 123). Karena Anda mungkin tidak tahu indeks glyph saat menentukan titik kode dalam nama file gambar, Anda dapat menggunakan placeholder id="glyph{{{0}}}" dan akan diganti dengan indeks liblyph yang sesuai selama proses injeksi.
Jika Anda menentukan opsi -z sebelum nama file font, data SVG akan dikompresi menggunakan GZIP. Microsoft mengklaim format SVG-in-Opentype mendukung hal ini, dan ketersediaan versi emojione dengan mesin terbang SVG yang dikompresi GZIP tampaknya mendukung hal ini. Namun, saya tidak bisa mendapatkan font dengan mesin terbang SVG yang dikompres GZIP untuk bekerja bahkan dalam versi terbaru Firefox pada tulisan ini, jadi saya tidak merekomendasikan ini.
Jika Anda memiliki banyak gambar non-SVG, Anda ingin menyuntikkan menggunakan format ini, Anda dapat dengan mudah menghasilkan SVG dengan gambar tertanam menggunakan perintah seperti berikut:
java -jar BitsNPicas.jar imagetosvg -x 0 -y -700 -w 800 -h 800 myimages/*.png
Ini akan membuat file SVG yang sesuai untuk setiap file gambar non-SVG yang ditentukan. Opsi -x , -y , -w , -h menentukan posisi dan ukuran gambar dalam unit EM. Perhatikan bahwa sumbu Y SVG dibalik dari sumbu Y truetype, sehingga koordinat Y negatif berada di atas baseline dan koordinat Y positif berada di bawah garis dasar.
CBDT / CBLC Google java -jar BitsNPicas.jar injectcbdt MyEmoji.ttf
Ini akan mengambil file font truetype MyEmoji.ttf dan gambar png di direktori MyEmoji.ttf.cbdt.d dan menghasilkan file font truetype baru MyEmoji.ttf.cbdt.ttf dengan gambar yang disematkan dalam tabel CBDT . Anda kemudian dapat mengganti nama file ini jika Anda suka. Harus ada subdirektori untuk setiap ukuran bitmap; Nama -nama subdirektori tidak masalah. Nama file dari setiap gambar dalam setiap subdirektori harus dari bentuk glyph_123.png (dengan indeks glyph dalam desimal) atau char_ABCD.png (dengan titik kode unicode di hexadecimal).
Disarankan untuk setiap subdirektori untuk juga berisi file metadata.txt nilai untuk digunakan untuk berbagai struktur data dalam tabel CBLC dan CBDT . Berikut ini direkomendasikan minimal:
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
Untuk indeks Glyph Anda juga dapat menggunakan char_ABCD (dengan titik kode unicode di hexadecimal) atau * untuk menutupi semua mesin terbang yang tidak ditentukan. Bidang yang terkait dengan struktur data itu sendiri (berbagai offset, jumlah, dan rentang indeks mesin terbang, serta apa pun yang terkait dengan berbagai jenis subtabel indeks) tidak perlu ditentukan, akan diabaikan jika ditentukan, dan akan dihitung secara otomatis. (Hanya indeks subtable format 1 dan format data bitmap 17, 18, dan 19 yang akan digunakan, terlepas dari metadata yang ditentukan.)
Secara default, injectcbdt juga akan menghapus tabel glyf , loca , CFF , atau CFF2 dari font. Untuk menjaga tabel ini, tentukan opsi -g sebelum nama file font.
COLR / CPAL Microsoft Format COLR / CPAL Microsoft saat ini tidak didukung.