-@@------------------------------------------@@------@@--------------@@-
-@@------------------------------------------@@------@@--@@----------@@-
-@@------------------------------------------@@----------@@----------@@-
-@@------@@@@@@@@@----@@@@---@@@@@----@@@@---@@@@@---@@-@@@@---------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@------@@-
-@@------@@--@@--@@---@@@@---@@--@@---@@@@---@@@@@---@@---@@-@@------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
As ferramentas monobit permitem modificar fontes de bitmap e converter entre vários formatos.
O formato nativo de monobit é yaff , um formato visual baseado em texto, adequado para o ser humano, semelhante aos usados pelo hexdraw de Roman Czyborra, mkwinfont de Simon Tatham e psftools de John Elliott. Os detalhes são fornecidos na especificação do formato do arquivo de font yaff .
Monobit requer Python 3.9 ou superior. Instale através do pip install monobit . Alguns formatos ou recursos requerem pacotes adicionais; Veja as dependências abaixo para uma lista. Estes serão instalados automaticamente se você usar pip .
monobit pode ser usado como um pacote Python ou como uma ferramenta de linha de comando.
Aqui estão alguns exemplos de como usar o utilitário de conversão.
monobit-convert --help
Exibir resumo de uso e opções de linha de comando
monobit-convert --help load --format=raw
Exiba o resumo do uso e opções adicionais de linha de comando específicas de formato para conversão do binário bruto.
monobit-convert fixedsys.fon
Reconheça o formato do arquivo de origem de "Magic bytes" ou sufixo (aqui, uma fonte do Windows) e escreva fontes para a saída padrão no formato yaff .
monobit-convert roman.bdf to --format=unifont
Leia a fonte do arquivo BDF e grave para a saída padrão como hexadecimal unifont.
monobit-convert fixed.psf to fixed.png
Leia a fonte no formato PSF e escreva no disco como imagem no formato PNG.
monobit-convert --format=c to --format=bdf
Leia a fonte a partir de entrada padrão como binário codificado em origem C e escreva na saída padrão como BDF.
O conversor lê e grava transparentemente os arquivos de fonte compactados gz , bz2 ou xz e pode ler e gravar arquivos zip e tar . Alguns formatos de fonte contêm várias fontes, enquanto outras podem conter apenas uma; O conversor gravará vários arquivos em um diretório ou arquivo, se necessário.
Também é possível aplicar várias transformações na fonte antes de salvá -la. Verifique monobit-convert --help para uso.
O utilitário Banner renderiza o texto para a saída padrão em uma determinada fonte. Isso é semelhante aos comandos banner antigos incluídos nos Unixes System-V e BSD.
Por exemplo, o banner no topo deste README foi feito com
me@bandit:~$ monobit-banner '| monobit. |' --font=VGASYS.FON
monobit-banner possui várias opções de renderização - você pode escolher fontes, alterar os caracteres "tinta" e "papel", definir uma margem, textos em escala e girar por trimestre. Verifique monobit-banner --help para uso.
| Formatar | Nome curto | Extensão típica | Ler | Escrever | Tipo | Características |
|---|---|---|---|---|---|---|
| Xerox Alto converta | alto | .al | ✓ | binário | - | |
| Conteúdo da fonte Amiga | amiga-fc | .font | ✓ | ✓ | binário | M; Veja amiga |
| Fonte Amiga | amiga | ✓ | ✓ | binário | OCG | |
| X11/Adobe BDF | bdf | .bdf | ✓ | ✓ | codificado | U sb mb vog |
| Fonte de bitmap beos | beos | ✓ | ✓ | binário | Uog | |
| Xerox Alto BitBlt | bitblt | .strike .ks | ✓ | binário | O | |
| Angelcode BMFont [P] | bmfont | .fnt .xml .json + imagens | ✓ | ✓ | imagem | Mu sb mb okgc |
| Fontrix (PC), PCPaint, Grasp, Chiwriter | chiwriter | .set .[specx]ft | ✓ | binário | - | |
| Consoleet / Vfontas | consoleet | .txt | ✓ | ✓ | visual | - |
| Daisy-Dot | daisy | .nlq .nl2 .nl3 .nl4 | ✓ | binário | - | |
| Dosstart! | dosstart | .dsf | ✓ | ✓ | codificado | - |
| Fonte Edwin Bitmap | edwin | .fnt | ✓ | ✓ | codificado | - |
| Fonte figlet | figlet | .flf | ✓ | ✓ | visual | (3) |
| Fonte FZX | fzx | .fzx | ✓ | ✓ | binário | O |
| Recurso OS/2 GPI | gpi | .fnt | ✓ | binário | SB O (MB K) | |
| Atari GDOs / Gem | gdos | .fnt .gft .vga | ✓ | ✓ | binário | O |
| Arquivo de fontes Geos (CVT) | geos | .cvt | ✓ | ✓ | binário | M; Veja vlir |
| Fonte Adafruit GFX | gfxfont | .h | ✓ | ✓ | codificado | O |
| Hexdraw | hexdraw | .draw | ✓ | ✓ | visual | U |
| Fonte macia HP PCL | hppcl | .sft .sfp .sfl | ✓ | ✓ | esc | Sb mb o |
| Fonte da Apple IIGS | iigs | .fon | ✓ | ✓ | binário | Veja nfnt |
| Imagem de bitmap [P] | image | .png .gif .bmp | ✓ | ✓ | imagem | - |
| Conjunto de imagens de bitmap [P] | imageset | .png .gif .bmp | ✓ | ✓ | imagem | - |
| Biblioteca de fontes Lisa | lisa | .bin | ✓ | binário | M; Veja nfnt | |
| Fonte MacOS | mac | .dfont .suit | ✓ | ✓ | binário | Mk; Veja nfnt |
| MouseGraphics Toolkit | mgtk | ✓ | binário | - | ||
| Formato de texto mkwinfont | mkwinfont | .fd | ✓ | ✓ | visual | Sb |
| Windows ou OS/2 Fonte | mzfon | .fon .exe .dll | ✓ | (1) | binário | M; Veja win , gpi |
| Recurso NFNT nua | nfnt | .f | ✓ | ✓ | binário | Sb og (c) |
| Fonte de Palm OS (v1/nfnt) | palm | .pdb | ✓ | binário | M; Veja nfnt | |
| Palm OS PRC (v1/nfnt) | palm-prc | .prc | ✓ | binário | M; Veja nfnt | |
| X11 Formato compilado portátil | pcf | .pcf | ✓ | ✓ | binário | U sb mb o |
| PC/GEOS v2.0+ | pcgeos | .fnt | ✓ | ✓ | binário | O (MB K) |
| Pilfont [P] | pilfont | .pil + .pbm | ✓ | ✓ | imagem | O |
| Tex Pkfont | pkfont | .pk | ✓ | binário | O | |
| Formato pré -construído da Adobe | prebuilt | .bepf .lepf | ✓ | binário | G (v) | |
| Xerox Alto Preppress | prepress | .ac | ✓ | binário | O | |
| A loja de impressão | printshop | .pnf | ✓ | binário | - | |
| Formato Riscos X90Y45 | riscos-xy | ✓ | binário | OG | ||
| Riscos New Format | riscos | ✓ | binário | OG | ||
| Signum! 2 | signum | .e24 .p9 .p24 .l30 | ✓ | binário | - | |
| Sfont | sfont | ✓ | ✓ | imagem | Gc | |
| Bitmap incorporado sfnt | sfnt | .otb .ttf .otf [f] [**] | ✓ | (2) | binário | M US SB MB OKVG (C) |
| Coleção SFNT | ttcf | .otc .ttc [f] [**] | ✓ | (2) | binário | M US SB MB OKVG (C) |
| vfont | vfont | ✓ | ✓ | binário | O | |
| Registro de fontes geos nua | vlir | ✓ | ✓ | binário | O | |
| Recurso do Windows FNT | win | .fnt | ✓ | ✓ | binário | Sb |
| monobit yaff | yaff | .yaff | ✓ | ✓ | visual | M US SB MB OKVGC |
[P] requer Pil
[F] requer fonttools
(1) Contêiner Windows NE de 16 bits apenas com recurso FNT
(2) apenas bitmap (OTB)
(3) Funcionalidade de leitura limitada: nenhum suporte para ascii-arte, que é uma característica central do figlet
M Contêiner de múltiplos fontes
U unicode
Us Unicode, sequências multi-codepoint
Conjuntos de caracteres de bytes de sb sb
Conjuntos de personagens de vários bytes MB
O Glyphs sobrepostos K Kerning
V métricas verticais
Fontes da escala de Greys
C Fontes coloridas (não suportadas por monobit )
Se a abreviação for entre colchetes, o formato suporta isso, mas não será implementado.
| Formatar | Nome curto | Extensão típica | Ler | Escrever | Tipo | Célula | Características |
|---|---|---|---|---|---|---|---|
| 64c | 64c | .64c | ✓ | ✓ | binário | 8x8 | - |
| +3dos | plus3dos | ✓ | ✓ | binário | 8x8 | - | |
| Fonte Soft BBC | bbc | ✓ | ✓ | esc | 8x8 | - | |
| Informações da página de código | cpi | .cpi | ✓ | ✓ | binário | 8xn | M sb |
| Dashen | dashen | .pft | ✓ | binário | qualquer | - | |
| Dec Drcs Soft Font | dec | ✓ | ✓ | esc | > 4xn | - | |
| Dr. Halo / Dr. Genius | drhalo | .fon | ✓ | binário | qualquer | - | |
| Fontx2 | fontx | .fnt | ✓ | ✓ | binário | qualquer | Mb |
| FONDEDIT | fontedit | .com | ✓ | binário | 8xn | - | |
| FONTRAPTION | frapt | .com | ✓ | binário | 8xn | - | |
| FONTRAPTION TSR | frapt-tsr | .com | ✓ | binário | 8xn | - | |
| PCPaint, comprem formato antigo | grasp | .set .fnt | ✓ | ✓ | binário | qualquer | - |
| Fonte Hanzi Bitmap | hbf | .hbf + binário bruto | ✓ | ✓ | binário | qualquer | Sb mb |
| GNU unifont | unifont | .hex | ✓ | ✓ | codificado | 8x16 (rigoroso) 8xn <= 32 (ext) | Mc U (Strict) Mc US (ext) |
| Papagem de código nua | kbd | .cp | ✓ | ✓ | binário | 8xn | Sb |
| Letrafont Loader | letafont | .com | ✓ | binário | 8x8 | - | |
| Mania da fonte rexxcom | mania | .com | ✓ | binário | 8xn | - | |
| Netbsd wsfont c cabeçalho | netbsd | .h | ✓ | ✓ | codificado | qualquer | M sb |
| Fonte Optiks PCR | pcr | .pcr | ✓ | ✓ | binário | 8xn | - |
| Fonte da tela do PC | psf | .psf .psfu | ✓ | ✓ | binário | qualquer (v2) 8xn (v1) | NÓS |
| psf2ams psfcom | psfcom | .com | ✓ | binário | 8x8, 8x16 | - | |
| psf2txt | psf2txt | .txt | ✓ | ✓ | visual | qualquer | NÓS |
| Binário bruto | raw | .fnt .rom [*] | ✓ | ✓ | binário | - | - |
| Loader UDG | udg | .com | ✓ | binário | 8x8 | - | |
| Fonte do console FreeBSD | vtfont | .fnt | ✓ | ✓ | binário | qualquer | Mc u |
| Hércules Escreva! | writeon | .wof | ✓ | ✓ | binário | 8x14 múltiplos | - |
| Netbsd wsfont binário | wsfont | .wsf | ✓ | ✓ | binário | qualquer | Sb |
| Fonte Soft WYSE-60 | wyse | ✓ | ✓ | esc | 8x16 | - | |
| Seção da fonte XBIN | xbin | .xb | ✓ | ✓ | binário | 8x <= 32 | - |
| ZapFont (formato antigo) | zapfont | ,1bd | ✓ | ✓ | binário | qualquer | - |
| Zapredraw UCS | zapredraw | ,1bd | ✓ | ✓ | binário | qualquer | U |
MC GLYPHS Multi-Cell
Esses formatos emitem uma tabela de glifos. Os gráficos de PDF, texto e bloco são somente de gravação, os gráficos de imagem podem ser lidos pelo leitor image .
| Formatar | Nome curto | Ler | Escrever |
|---|---|---|---|
| Texto | chart | ✓ | |
| Bloco elementos | blocks | ✓ | |
| Ansi Colors | shades | ✓ | |
| Imagem [P] | image | ✓ | ✓ |
| Pdf [r] | pdf | ✓ |
[P] requer Pil
[R] Requer relatório
A escala de cinza e o suporte a cores é experimental. Uma extensão do formato Yaff permite armazenar glifos com até 8 bits por pixel (256 cores ou níveis de cinza).
O suporte à fonte de AVC é experimental. As fontes de AVC são fontes escaláveis definidas como segmentos de linha. Eles são fundamentalmente diferentes das fontes modernas, pois definem traços únicos, enquanto as fontes modernas definem contornos para serem preenchidos com tinta. Além disso, as fontes atualmente suportadas consistem apenas em segmentos de linha reta.
| Formatar | Nome curto | Extensão típica | Ler | Escrever |
|---|---|---|---|---|
| monobit yaff | yaff | .yaff | ✓ | ✓ |
| Fontes SVG | svg | .svg | ✓ | ✓ |
| Recurso do Windows | win | .fnt | ✓ | ✓ |
| Fonte do Windows | fon | .fon | ✓ | ✓ (NE) |
| Interface gráfica de Borland | borland | .chr | ✓ | ✓ |
| Hershey Fontes (Jim Hurt) | hurt | .jhf | ✓ | |
| Dosstart | dosstart | .dsf | ✓ | |
| Gimms | gimms | .bin | ✓ |
monobit voltará e extrairá arquivos de fonte de vários formatos de contêiner, arquivamento, compactação e codificação comuns:
| Formatar | Nome | Extensão típica | Ler | Escrever |
|---|---|---|---|---|
| Pkzip/winzip | zip | .zip | ✓ | ✓ |
| GNU tar | tar | .tar .tgz | ✓ | ✓ |
| Rar [a] | rar | .rar | ✓ | |
| 7-ZIP [A] | 7zip | .7z | ✓ | ✓ |
| MS Gabinete [A] | cabinet | .cab | ✓ | |
| Lharc/lha/lzh [a] | lharc | .lha .lzh | ✓ | |
| ACE [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 | ✓ | ✓ |
| Compressa [Z] | compress | .Z | ✓ | ✓ |
| Maçãs | apple1 | .as | ✓ | |
| Apledouble | apple2 | .adf .rsrc | ✓ | |
| MacBinary | macbin | .bin | ✓ | |
| Binhex 4.0 | binhex | .hqx | ✓ | |
| Binscii | binscii | .bsc .bsq | ✓ | |
| Intel Hex | intel | .ihex .ihx | ✓ | ✓ |
| Base64 | base64 | ✓ | ✓ | |
| Printable citado | quopri | ✓ | ✓ | |
| Uuencode | uuencode | ✓ | ✓ | |
| yencode [y] | yenc | ✓ | ✓ | |
| E -mail multipartidário MIME | email | .eml .msg | ✓ | ✓ |
| B ou c ++ binário codificado | c | .c .cpp .cc .h | ✓ | ✓ |
| Binário codificado por JSON | json | .json | ✓ | ✓ |
| Binário codificado em Python | python | .py | ✓ | ✓ |
| Binário codificado por Pascal | pascal | .pas | ✓ | ✓ |
| Binário codificado básico | basic | .bas | ✓ | ✓ |
[A] requer libarchive
[C] requer acefile
[Y] requer python3-yenc
[Z] requer NCompress
Observe que muitos deles atualmente exigem a leitura do arquivo completo na memória, o que pode não ser praticável com os arquivos ISO9660 ou WARC, que podem conter os sistemas de arquivos inteiros.
Este é o formato mais comum usado em plataformas antigas, geralmente com o sufixo inútil .fnt . Como não há metadados, cabe a você especificar o tamanho da célula de caracteres. O tamanho mais comum e padrão é 8x8 (CGA e muitas plataformas de 8 bits), seguido por 8x16 (VGA) e 8x14 (EGA).
.f08 , .ch8 , .88 , .chr , .udg e muitos outros..f14 ou .814 ..f16 , Warp 9 .fnt ou degas elite .fnt.car são arquivos brutos de 16x16..fnt são binários brutos com um bitmap de 4096x8 pixels que hospeda 512 8x8 glifos lado a lado. Extraia com -strike-width=512 .Também é útil verificar o tamanho do arquivo. Os arquivos brutos geralmente mantêm 96 (ASCII excluindo controles), 128 (ASCII), 256 ou múltiplos dos mesmos. Os tamanhos de arquivos comuns, portanto, são:
| 8x8 | 8x14 | 8x16 | |
|---|---|---|---|
| 96 | 768 | 1344 | 1536 |
| 128 | 1024 | 1792 | 2048 |
| 256 | 2048 | 3584 | 4096 |
| 512 | 4096 | 7168 | 8192 |
Se o seu arquivo de fonte não identificado tiver um desses tamanhos, é provável que seja um arquivo binário bruto.
monobit pode extrair bitmaps incorporados nos arquivos de fonte TrueType e OpenType. Deve-se ter em mente que estes são destinados principalmente a formatos escaláveis e apenas bitmaps excepcionalmente incorporados para melhorar a renderização em telas de baixa resolução.
A grande maioria dos arquivos .ttf , .otf , .dfont etc. não contém bitmaps . Isso é verdade mesmo para fontes com uma aparência pixelizada. Para convertê -las, você primeiro precisa invadi -las, o que monobit não faz. Algumas das outras ferramentas de fonte vinculadas abaixo têm recursos de rasterização.
monobit pode produzir arquivos de bitmap ( .otb ) de openype (.OTB) experimentalmente, um formato de arquivo somente bitmap suportado pelo Linux Desktops.
Alguns formatos exigem
Pillow )O renderizador também emprega
Quase todos podem ser instalados através do PIP:
pip install Pillow reportlab fonttools uniseg python-bidi arabic-reshaper libarchive-c ncompress acefile
O pacote python3-yenc está disponível em https://github.com/oe-mirrors/python3-yenc e através de algumas distribuições Linux. Sem esses pacotes, alguma funcionalidade pode não estar disponível.
monobit e a especificação yaff são Copyright 2019--2024 Rob Hagemans e libertados sob a licença do MIT.
monobit contém código de:
mkwinfont Copyright 2001 Simon Tatham. Todos os direitos reservados.dewinfont Copyright 2001.2017 Simon Tatham. Todos os direitos reservados. Consulte os avisos nos subpackagens windows e os2 e módulo mac/fond.py para obter licenças e mais informações.
Os arquivos de fonte nos tests/fonts estão sujeitos a suas próprias licenças, algumas das quais são mais restritivas. Estes são arquivos usados para teste e desenvolvimento e não estão incluídos na distribuição embalada. Consulte tests/fonts/README.md e avisos incluídos em arquivos individuais.
monobit não existiria sem aqueles que documentam, engenharia reversa, implementando e preservando os formatos e arquivos de fontes:
Outras ferramentas de fonte de bitmap que você pode usar em conjunto com (ou em vez de) monobit incluem:
gbdfed