Bits'n'picas es un conjunto de herramientas para crear y convertir fuentes de mapa de bits y emoji.
Se pueden acceder a las funciones de fuentes de mapa de bits tanto con una GUI como desde una línea de comando. Las funciones de fuentes de emoji solo se pueden acceder desde una línea de comando.
Inicie el fras de bits'n'picas sin ningún argumento o con el comando edit para abrir la GUI del editor de fuentes de mapa de bits.
java -jar BitsNPicas.jar
java -jar BitsNPicas.jar edit
java -jar BitsNPicas.jar edit myfont.sfd
El formato de entrada está determinado por la extensión del archivo del archivo de entrada. Los formatos de entrada compatibles incluyen:
.kbitx - bits'n'picas 2.x formato de guardado nativo.kbits - bits'n'picas 1.x formato de guardado nativo.sfd - FontForge (solo mapas de bits; contornos no admitidos).bdf - formato de distribución de mapa de bits x11.psf , .psfu , .psf.gz , .psfu.gz - fuente de pantalla de PC.suit - Mac OS Classic Font Sutadase (en la bifurcación de recursos).dfont - Mac OS Classic Font Sutadase (en la bifurcación de datos).nfnt - recurso de fuente clásica de Mac OS (en la bifurcación de datos).png - sfont o rfont, la extensión de Kreative Software de SFONT.png , .jpg , .jpeg , .gif , .bmp - crear desde la imagen (solo GUI).bin , .rom - Crear desde el archivo binario (solo GUI).hex - Gnu unifont Hex Formato.cvt - Fuente GEOS en formato de conversión (incluidas mega fuentes).fzx - FZX de Andrew Owen (para el espectro ZX).u8m - U8/M (UTF -8 para microcomputadoras).font - Fuente de mapa de bits Amiga (solo en blanco y negro; color no es compatible).fnt - Windows .fnt format (no es lo mismo que .fon ; vector no admitidos).fnt , .ftx - formato IBM DOS/V FONTX2.fnt , .mgf , .mpf - mousePaint/Mousegraphics Toolkit.fnt , .rbf , .rb11 , .rb12 - formato de fuente rockbox.fnt , .fntz , .fnty , .cyf - formato de fuente cybiko.fnt , .png - formato de fuente de date.set - Conjunto de caracteres de personajes de personajes Apple II Hi -RES.hmzk - formato de fuentes de mi banda 2.dsf - ¡Dosstart! por Daniel L. Nice.sbf - Fuente de mapa de bits de SabrielEn Mac OS X también puede iniciar o soltar un archivo de fuente en la aplicación Bits'n'Picas.

Las bits'n'picas también pueden abrir fuentes de fuentes, accesorios de escritorio y sistemas y moverse alrededor de fuentes, accesorios de escritorio, scripts, diseños de teclado y sonidos, al igual que el buscador solía poder hacer en los buenos viejos tiempos del sistema 7.

También existe una interfaz similar para las fuentes GEOS.

Ejemplo:
java -jar BitsNPicas.jar convertbitmap -f ttf -o myfont.ttf myfont.sfd
Esto convertirá los ataques de mapa de bits en el archivo FontForge myfont.sfd a contornos en un nuevo archivo de fuentes TrueType myfont.ttf . Si, por ejemplo, los ataques de mapa de bits tienen 16 píxeles de altura, los contornos generados coincidirán perfectamente con la cuadrícula de píxeles en un tamaño de fuente de 16 puntos.
El formato de entrada está determinado por la extensión del archivo del archivo de entrada. Los formatos de entrada compatibles incluyen:
.kbitx - bits'n'picas 2.x formato de guardado nativo.kbits - bits'n'picas 1.x formato de guardado nativo.sfd - FontForge (solo mapas de bits; contornos no admitidos).bdf - formato de distribución de mapa de bits x11.psf , .psfu , .psf.gz , .psfu.gz - fuente de pantalla de PC.suit - Mac OS Classic Font Sutadase (en la bifurcación de recursos).dfont - Mac OS Classic Font Sutadase (en la bifurcación de datos).nfnt - recurso de fuente clásica de Mac OS (en la bifurcación de datos).png - sfont o rfont, la extensión de Kreative Software de SFONT.hex - Gnu unifont Hex Formato.cvt - Fuente GEOS en formato de conversión (incluidas mega fuentes).fzx - FZX de Andrew Owen (para el espectro ZX).u8m - U8/M (UTF -8 para microcomputadoras).font - Fuente de mapa de bits Amiga (solo en blanco y negro; color no es compatible).fnt - Windows .fnt format (no es lo mismo que .fon ; vector no admitidos).fnt , .ftx - formato IBM DOS/V FONTX2.fnt , .mgf , .mpf - mousePaint/Mousegraphics Toolkit.fnt , .rbf , .rb11 , .rb12 - formato de fuente rockbox.fnt , .fntz , .fnty , .cyf - formato de fuente cybiko.fnt , .png - formato de fuente de date.set - Conjunto de caracteres de personajes de personajes Apple II Hi -RES.hmzk - formato de fuentes de mi banda 2.dsf - ¡Dosstart! por Daniel L. Nice.sbf - Fuente de mapa de bits de Sabriel El formato de salida está determinado por la opción -f . Los formatos de salida compatibles incluyen:
kbitx o kbnp2 - bits'n'picas 2.x formato de guardado nativokbits o kbnp1 - bits'n'picas 1.x formato de guardado nativottf o truetype - TrueTypeotb - OpenType Bitmapbdf - X11 Formato de distribución de mapa de bitspsf , psf2 , psf1 , psfgz , psf2gz , psf1gz - FUENTE DE PRENDIDA DE PCsuit - Mac OS Classic Font Suitcase (en la bifurcación de recursos)dfont - Mac OS Classic Font Sutadase (en la bifurcación de datos)nfnt - Recurso de fuentes Classic Mac OS (en la bifurcación de datos)png o sfont - SDL SFONTrfont - RFONT, la extensión de SFONT de Kreative Softwarehex - Gnu unifont Hex Formatocvt o geos - FUENTA GEOS EN FORMATO CONVERTO (con Mega Opción)fzx - FZX de Andrew Owen (para el espectro ZX)u8m - U8/M (UTF -8 para microcomputadoras)font o amiga - Font de mapa de bits Amiga (solo en blanco y negro; color no es compatible)fnt o fnt3 - Formato de Windows 3.x .fnt (no es lo mismo que .fon )fnt2 - Windows 2.x .fnt Format (tampoco lo mismo que .fon )fontx2 , fontx o dosv - Formato IBM DOS/V FONTX2mgtk , mgf , mpf o mousepaint - MOUSEPAINT/MOUSEGRAPHICS Toolkit Kitrb12 - Formato de fuente Rockbox para Rockbox 2.3 o superiorrb11 - Formato de fuente de rockbox para Rockbox 2.2 o abajo e iPodlinuxcybiko - Formato de fuente Cybikoplaydate , playdate-allinone , playdate-fnt -PlayDate Font Format, All-in-One (archivo .fnt .fnt)playdate-separate , playdate-fnt+png -Formato de fuente PlayDate, archivos separados .fnt y .pnghrcg o set - Conjunto de caracteres del generador de caracteres Apple II Hi -REShmzk - Formato de fuentes de mi banda 2sbf - Fuente de Sabriel BitmapLas opciones adicionales incluyen:
-s REGEX -r Reemplazo -Realice una búsqueda y reemplazo en el nombre de la fuente.-b -Aplicar un efecto de altura falsa.-w UNITS -h UNITS -Especifique el ancho y la altura de los píxeles en las unidades EM (para formato ttf ).-i FONTID -z Tamaño : especifique la ID de fuente y el tamaño de la fuente (para el formato nfnt o geos ). Puede ver una lista de todas las opciones utilizando la opción --help .
sbix de Apple java -jar BitsNPicas.jar extractsbix AppleColorEmoji.ttf
Esto extraerá las imágenes de AppleColorEmoji.ttf en el directorio AppleColorEmoji.ttf.sbix.d como archivos PNG. Habrá varios subdirectorios numerados dentro de este directorio; El número corresponde a los píxeles por EM de las imágenes dentro. (¡Esto no es necesariamente lo mismo que la altura de la imagen!) La estructura del directorio resultante se verá como:
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
Esto extraerá las imágenes SVG de EmojiOne.otf en el directorio EmojiOne.otf.svg.d como archivos SVG sin comprimir. (Si los datos de SVG dentro de la fuente están comprimidos, se descomprimirán). La estructura del directorio resultante se verá como:
EmojiOne.otf
EmojiOne.otf.svg.d
glyph_2.svg
glyph_3.svg
...
CBDT / CBLC de Google java -jar BitsNPicas.jar extractcbdt NotoColorEmoji.ttf
Esto extraerá las imágenes PNG de NotoColorEmoji.ttf en el directorio NotoColorEmoji.ttf.cbdt.d . Habrá uno o más subdirectorios numerados dentro de este directorio; El número es simplemente el índice del registro de mapsización de bits y no tiene otro significado. La estructura del directorio resultante se verá como:
NotoColorEmoji.ttf
NotoColorEmoji.ttf.cbdt.d
0000
glyph_4.png
glyph_5.png
....
metadata.txt
....
fontinfo.txt
El archivo metadata.txt dentro de cada subdirectorio enumera todos los valores de las diversas estructuras de datos dentro de las tablas CBLC y CBDT . El archivo fontinfo.txt solo enumera algunos otros valores de otras tablas no relacionadas para conveniencia (ya que muchos editores de fuentes no pueden abrir fuentes con tablas CBDT / CBLC para que encuentre estos valores debido a la falta de tablas glyf / loca ).
COLR / CPAL de Microsoft El formato COLR / CPAL de Microsoft actualmente no es compatible.
Para crear una fuente de emoji/color, necesitará dos cosas:
sbix de Apple java -jar BitsNPicas.jar injectsbix MyEmoji.ttf
Esto tomará el archivo de fuente TrueType MyEmoji.ttf y las imágenes en el directorio MyEmoji.ttf.sbix.d y generar un nuevo archivo de fuente TrueType MyEmoji.ttf.sbix.ttf con imágenes incrustadas en una tabla sbix . Luego puede cambiar el nombre de este archivo si lo desea. El nombre de cada subdirectorio dentro del directorio de imágenes debe ser los píxeles por em de las imágenes que contiene. (¡Esto no es necesariamente lo mismo que la altura de la imagen!) El nombre de archivo de cada imagen dentro de cada subdirectorio debe ser de la forma glyph_123.png (con el índice Glyph en decimal) o char_ABCD.png (con el punto de código unicode en hexadecimal). La posición inferior izquierda de cada imagen estará determinada por las coordenadas mínimas X e Y del glifo correspondiente en el archivo de fuente TrueType. (Para el emoji de color de manzana, esto se establece en 0,0).
java -jar BitsNPicas.jar injectsvg MyEmoji.otf
Esto tomará el archivo de fuente OpenType MyEmoji.otf y las imágenes SVG en el directorio MyEmoji.otf.svg.d y generar un nuevo archivo de fuente opentype MyEmoji.otf.svg.otf con imágenes incrustadas en una tabla SVG . Luego puede cambiar el nombre de este archivo si lo desea. El nombre de archivo de cada imagen dentro del directorio de imagen debe ser de la forma glyph_123_456.svg (para un rango de glifos, con los índices de glifo en decimal), glyph_123.svg (para un solo código de glifo en el índice de glifo en decimal) o char_ABCD.svg (para un solo Glyph, con el punto de glifo en hexadode.
Para cada índice de glifo asignado a un documento SVG, debe haber un elemento en ese documento con una ID correspondiente a ese índice Glyph (por ejemplo id="glyph123" para el índice Glyph 123). Como es posible que no conozca el índice Glyph al especificar un punto de código en el nombre del archivo de imagen, puede usar el id="glyph{{{0}}}" y se reemplazará con el índice de glifo apropiado durante el proceso de inyección.
Si especifica la opción -z antes del nombre del archivo de fuente, los datos de SVG se comprimirán usando GZIP. Microsoft afirma que el formato SVG-in-Opentype admite esto, y la disponibilidad de una versión de EmoJione con glifos SVG comprimidos por GZIP parece respaldar esto. Sin embargo, no pude obtener fuentes con los glifos SVG comprimidos por GZIP para trabajar incluso en la última versión de Firefox a partir de este escrito, por lo que no recomiendo esto.
Si tiene un montón de imágenes no SVG que desea inyectar utilizando este formato, puede generar fácilmente SVG con imágenes integradas usando un comando como el siguiente:
java -jar BitsNPicas.jar imagetosvg -x 0 -y -700 -w 800 -h 800 myimages/*.png
Esto creará un archivo SVG correspondiente para cada archivo de imagen no SVG especificado. Las opciones -x , -y , -w , -h especifican la posición y el tamaño de la imagen en las unidades EM. Tenga en cuenta que el eje SVG Y se invierte del eje Y TrueType, por lo que las coordenadas Y negativas están por encima de la línea de base y las coordenadas Y positivas están por debajo de la línea de base.
CBDT / CBLC de Google java -jar BitsNPicas.jar injectcbdt MyEmoji.ttf
Esto tomará el archivo de fuentes TrueType MyEmoji.ttf y las imágenes PNG en el directorio MyEmoji.ttf.cbdt.d y generar un nuevo archivo de fuentes trueType MyEmoji.ttf.cbdt.ttf con imágenes incorporadas en una tabla CBDT . Luego puede cambiar el nombre de este archivo si lo desea. Debe haber un subdirectorio para cada tamaño de mapa de bits; Los nombres de los subdirectorios no importan. El nombre de archivo de cada imagen dentro de cada subdirectorio debe ser del formulario glyph_123.png (con el índice Glyph en decimal) o char_ABCD.png (con el punto de código unicode en hexadecimal).
Se recomienda que cada subdirectorio también contenga un archivo metadata.txt de valores para usar para las diversas estructuras de datos dentro de las tablas CBLC y CBDT . Lo siguiente se recomienda como mínimo:
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
Para el índice Glyph también puede usar char_ABCD (con el punto de código unicode en hexadecimal) o * para cubrir todos los glifos no especificados de otra manera. Los campos asociados con la estructura de datos en sí (varios desplazamientos, recuentos y rangos de índice de glifo, así como cualquier cosa asociada con los diversos tipos de subpolesizaciones de índice) no es necesario especificar, se ignorará si se especifica y se calculará automáticamente. (Solo se utilizarán los formatos de datos de subtables de índice 1 y de datos de mapa de bits 17, 18 y 19, independientemente de los metadatos especificados).
Por defecto, injectcbdt también eliminará cualquier tablas glyf , loca , CFF o CFF2 de la fuente. Para mantener estas tablas, especifique la opción -g antes del nombre del archivo de fuente.
COLR / CPAL de Microsoft El formato COLR / CPAL de Microsoft actualmente no es compatible.