-@@------------------------------------------@@------@@--------------@@-
-@@------------------------------------------@@------@@--@@----------@@-
-@@------------------------------------------@@----------@@----------@@-
-@@------@@@@@@@@@----@@@@---@@@@@----@@@@---@@@@@---@@-@@@@---------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@------@@-
-@@------@@--@@--@@---@@@@---@@--@@---@@@@---@@@@@---@@---@@-@@------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
Les outils monobit vous permettent de modifier les polices bitmap et de convertir entre plusieurs formats.
Le format indigène de monobit est yaff , un format visuel basé sur le texte et adapté à l'homme similaire à ceux utilisés par hexdraw de Roman Czyborra, mkwinfont de Simon Tatham et psftools de John Elliott. Les détails sont donnés dans la spécification du format de fichier de police yaff .
Monobit nécessite Python 3.9 ou plus. Installez via pip install monobit . Certains formats ou fonctionnalités nécessitent des packages supplémentaires; Voir les dépendances ci-dessous pour une liste. Ceux-ci seront installés automatiquement si vous utilisez pip .
monobit peut être utilisé comme un package Python ou comme outil de ligne de commande.
Voici quelques exemples de la façon d'utiliser l'utilitaire de conversion.
monobit-convert --help
Afficher les options de résumé d'utilisation et de ligne de commande
monobit-convert --help load --format=raw
Afficher le résumé de l'utilisation et des options de ligne de commande spécifiques au format supplémentaire pour la conversion à partir du binaire brut.
monobit-convert fixedsys.fon
Reconnaissez le format de fichier source à partir de "Magic octets" ou suffixe (ici, une police Windows) et d'écrire des polices à la sortie standard au format yaff .
monobit-convert roman.bdf to --format=unifont
Lisez la police du fichier BDF et écrivez à la sortie standard sous forme d'Unifont Hex.
monobit-convert fixed.psf to fixed.png
Lisez la police au format PSF et écrivez sur disque comme image au format PNG.
monobit-convert --format=c to --format=bdf
Lisez la police à partir de l'entrée standard en tant que C-source codé binaire et écrivez à la sortie standard en tant que BDF.
Le convertisseur lit et écrit de manière transparente des fichiers de police gz , bz2 ou xz et peut lire et écrire des archives zip et tar . Certains formats de police contiennent plusieurs polices tandis que d'autres ne peuvent en contenir qu'un; Le convertisseur écrira plusieurs fichiers en répertoire ou archive si nécessaire.
Il est également possible d'appliquer diverses transformations sur la police avant de la sauver. Vérifiez monobit-convert --help pour l'utilisation.
L'utilitaire de bannière rend le texte à la production standard dans une police donnée. Ceci est similaire aux commandes banner anciennes incluses dans System-V et BSD Unixes.
Par exemple, la bannière en haut de ce README a été faite avec
me@bandit:~$ monobit-banner '| monobit. |' --font=VGASYS.FON
monobit-banner a un certain nombre d'options de rendu - vous pouvez choisir des polices, modifier les caractères "encre" et "papier", définir une marge, échelle du texte et tourner par quarts. Vérifiez monobit-banner --help pour l'utilisation.
| Format | Nom court | Extension typique | Lire | Écrire | Taper | Caractéristiques |
|---|---|---|---|---|---|---|
| Xerox alto converti | alto | .al | ✓ | binaire | - | |
| Contenu de la police Amiga | amiga-fc | .font | ✓ | ✓ | binaire | M; Voir amiga |
| Font Amiga | amiga | ✓ | ✓ | binaire | Ocg | |
| X11 / Adobe BDF | bdf | .bdf | ✓ | ✓ | codé | U sb mb vog |
| Police Bitmap Beos | beos | ✓ | ✓ | binaire | Uog | |
| Xerox alto bitblt | bitblt | .strike .ks | ✓ | binaire | O | |
| Angelcode bmfont [p] | bmfont | .fnt .xml .json + images | ✓ | ✓ | image | Mu sb mb okgc |
| Fontrix (PC), PCPAINT, GRASP, CHIWRITE | chiwriter | .set .[specx]ft | ✓ | binaire | - | |
| Consoleet / vfontas | consoleet | .txt | ✓ | ✓ | visuel | - |
| Marguerite | daisy | .nlq .nl2 .nl3 .nl4 | ✓ | binaire | - | |
| Dosstart! | dosstart | .dsf | ✓ | ✓ | codé | - |
| Font bitmap d'Edwin | edwin | .fnt | ✓ | ✓ | codé | - |
| Fonlet | figlet | .flf | ✓ | ✓ | visuel | (3) |
| FZX FONT | fzx | .fzx | ✓ | ✓ | binaire | O |
| Ressource GPI OS / 2 | gpi | .fnt | ✓ | binaire | SB O (MB K) | |
| Atari GDOS / GEM | gdos | .fnt .gft .vga | ✓ | ✓ | binaire | O |
| Fichier GEOS de police (CVT) | geos | .cvt | ✓ | ✓ | binaire | M; Voir vlir |
| Font Adafruit GFX | gfxfont | .h | ✓ | ✓ | codé | O |
| hexargon | hexdraw | .draw | ✓ | ✓ | visuel | U |
| Font doux HP PCL | hppcl | .sft .sfp .sfl | ✓ | ✓ | Échap | SB MB O |
| Font Apple Iigs | iigs | .fon | ✓ | ✓ | binaire | Voir nfnt |
| Image bitmap [p] | image | .png .gif .bmp | ✓ | ✓ | image | - |
| Ensemble d'images bitmap [P] | imageset | .png .gif .bmp | ✓ | ✓ | image | - |
| Bibliothèque de polices Lisa | lisa | .bin | ✓ | binaire | M; Voir nfnt | |
| Font macos | mac | .dfont .suit | ✓ | ✓ | binaire | MK; Voir nfnt |
| Boîte à outils MouseGraphics | mgtk | ✓ | binaire | - | ||
| format de texte mkwinfont | mkwinfont | .fd | ✓ | ✓ | visuel | Sb |
| Font Windows ou OS / 2 | mzfon | .fon .exe .dll | ✓ | (1) | binaire | M; Voir win , gpi |
| Ressource NFNT nu | nfnt | .f | ✓ | ✓ | binaire | SB OG (C) |
| Palm OS Font (V1 / NFNT) | palm | .pdb | ✓ | binaire | M; Voir nfnt | |
| PALM OS PRC (V1 / NFNT) | palm-prc | .prc | ✓ | binaire | M; Voir nfnt | |
| Format compilé portable x11 | pcf | .pcf | ✓ | ✓ | binaire | U sb mb o |
| PC / GEOS V2.0 + | pcgeos | .fnt | ✓ | ✓ | binaire | O (MB K) |
| Pilfont [P] | pilfont | .pil + .pbm | ✓ | ✓ | image | O |
| Tex Pkfont | pkfont | .pk | ✓ | binaire | O | |
| Format Adobe prédéfini | prebuilt | .bepf .lepf | ✓ | binaire | G (v) | |
| Xerox Alto Prepress | prepress | .ac | ✓ | binaire | O | |
| L'imprimerie | printshop | .pnf | ✓ | binaire | - | |
| Format Riscos X90Y45 | riscos-xy | ✓ | binaire | OG | ||
| Riscos nouveau format | riscos | ✓ | binaire | OG | ||
| Signum! 2 | signum | .e24 .p9 .p24 .l30 | ✓ | binaire | - | |
| Sfont | sfont | ✓ | ✓ | image | GC | |
| Bitmap sfnt intégré | sfnt | .otb .ttf .otf [f] [**] | ✓ | (2) | binaire | M us sb mb okvg (c) |
| Collection SFNT | ttcf | .otc .ttc [f] [**] | ✓ | (2) | binaire | M us sb mb okvg (c) |
| vfont | vfont | ✓ | ✓ | binaire | O | |
| Record de police nue Geos | vlir | ✓ | ✓ | binaire | O | |
| Ressource Windows FNT | win | .fnt | ✓ | ✓ | binaire | Sb |
| monobit yaff | yaff | .yaff | ✓ | ✓ | visuel | M us sb mb okvgc |
[P] nécessite PIL
[F] nécessite des Fonttools
(1) conteneur Windows NE 16 bits avec ressource FNT uniquement
(2) Bitmap uniquement (OTB)
(3) Fonctionnalité de lecture limitée: aucun support pour ASCII-Art, qui est une caractéristique centrale de Figlet
M conteneur multiple
U unicode
US Unicode, séquences multi-codepoint
Ensembles de caractères SB à un octet
Ensembles de caractères MB multi-octets
O chevauchant les glyphes k kerning
V Métriques verticales
G Polices GreysCale
C de polices de couleur (non soutenues par monobit )
Si l'abréviation est entre parenthèses, le format le prend en charge mais il n'est pas mis en œuvre.
| Format | Nom court | Extension typique | Lire | Écrire | Taper | Cellule | Caractéristiques |
|---|---|---|---|---|---|---|---|
| 64c | 64c | .64c | ✓ | ✓ | binaire | 8x8 | - |
| + 3dos | plus3dos | ✓ | ✓ | binaire | 8x8 | - | |
| BBC Soft Font | bbc | ✓ | ✓ | Échap | 8x8 | - | |
| Informations sur le codepage | cpi | .cpi | ✓ | ✓ | binaire | 8xn | M SB |
| Dashène | dashen | .pft | ✓ | binaire | n'importe lequel | - | |
| Dec DRCS Soft Police | dec | ✓ | ✓ | Échap | > 4xn | - | |
| Dr Halo / Dr Genius | drhalo | .fon | ✓ | binaire | n'importe lequel | - | |
| Fontx2 | fontx | .fnt | ✓ | ✓ | binaire | n'importe lequel | Mb |
| Fontedit | fontedit | .com | ✓ | binaire | 8xn | - | |
| Fontraption | frapt | .com | ✓ | binaire | 8xn | - | |
| Fontraption TSR | frapt-tsr | .com | ✓ | binaire | 8xn | - | |
| Pcpaint, saisir le vieux format | grasp | .set .fnt | ✓ | ✓ | binaire | n'importe lequel | - |
| Font bitmap de Hanzi | hbf | .hbf + binaire brut | ✓ | ✓ | binaire | n'importe lequel | SB MB |
| GNU Unifont | unifont | .hex | ✓ | ✓ | codé | 8x16 (strict) 8xn <= 32 (ext) | Mc u (strict) MC US (ext) |
| Codepage nu | kbd | .cp | ✓ | ✓ | binaire | 8xn | Sb |
| Chargeur letafont | letafont | .com | ✓ | binaire | 8x8 | - | |
| Manie de police rexxcom | mania | .com | ✓ | binaire | 8xn | - | |
| En-tête NetBSD WSFONT C | netbsd | .h | ✓ | ✓ | codé | n'importe lequel | M SB |
| Font PCR OPTIKS | pcr | .pcr | ✓ | ✓ | binaire | 8xn | - |
| Police d'écran PC | psf | .psf .psfu | ✓ | ✓ | binaire | Tout (v2) 8xn (v1) | NOUS |
| psf2ams psfcom | psfcom | .com | ✓ | binaire | 8x8, 8x16 | - | |
| psf2txt | psf2txt | .txt | ✓ | ✓ | visuel | n'importe lequel | NOUS |
| Binaire brut | raw | .fnt .rom [*] | ✓ | ✓ | binaire | - | - |
| Chargeur UDG | udg | .com | ✓ | binaire | 8x8 | - | |
| Freebsd Console Police | vtfont | .fnt | ✓ | ✓ | binaire | n'importe lequel | MC U |
| Hercules écrivez! | writeon | .wof | ✓ | ✓ | binaire | Multiples 8x14 | - |
| Binaire netbsd wsfont | wsfont | .wsf | ✓ | ✓ | binaire | n'importe lequel | Sb |
| Police douce WYSE-60 | wyse | ✓ | ✓ | Échap | 8x16 | - | |
| Section des polices XBIN | xbin | .xb | ✓ | ✓ | binaire | 8x <= 32 | - |
| Zapfont (ancien format) | zapfont | ,1bd | ✓ | ✓ | binaire | n'importe lequel | - |
| Zapredraw ucs | zapredraw | ,1bd | ✓ | ✓ | binaire | n'importe lequel | U |
Glyphes multi-cellules MC
Ces formats sortent un tableau de glyphes. Les graphiques PDF, Text et Block sont uniquement en écriture, les graphiques d'image peuvent être lus via le lecteur image .
| Format | Nom court | Lire | Écrire |
|---|---|---|---|
| Texte | chart | ✓ | |
| Bloquer les éléments | blocks | ✓ | |
| Couleurs ANSI | shades | ✓ | |
| Image [p] | image | ✓ | ✓ |
| Pdf [r] | pdf | ✓ |
[P] nécessite PIL
[R] nécessite un rapport
Greyscale et le support des couleurs sont expérimentaux. Une extension du format YAFF permet de stocker des glyphes avec jusqu'à 8 bits par pixel (256 couleurs ou niveaux de gris).
Le soutien à la police de l'AVC est expérimental. Les polices de course sont des polices évolutives définies comme des segments de ligne. Ils sont fondamentalement différents des polices modernes en ce qu'ils définissent des coups uniques tandis que les polices modernes définissent les contours à remplir d'encre. De plus, les polices actuellement prises en charge se composent uniquement de segments de ligne droite.
| Format | Nom court | Extension typique | Lire | Écrire |
|---|---|---|---|---|
| monobit yaff | yaff | .yaff | ✓ | ✓ |
| Polices SVG | svg | .svg | ✓ | ✓ |
| Ressource Windows | win | .fnt | ✓ | ✓ |
| Font Windows | fon | .fon | ✓ | ✓ (NE) |
| Interface graphique de Borland | borland | .chr | ✓ | ✓ |
| Fonts Hershey (Jim Hurt) | hurt | .jhf | ✓ | |
| Dosstart | dosstart | .dsf | ✓ | |
| Gimms | gimms | .bin | ✓ |
monobit reviendra et extraire les fichiers de police à partir d'un certain nombre de formats de conteneurs, d'archives, de compression et d'encodage communs:
| Format | Nom | Extension typique | Lire | Écrire |
|---|---|---|---|---|
| Pkzip / winzip | zip | .zip | ✓ | ✓ |
| Goudron de gnu | tar | .tar .tgz | ✓ | ✓ |
| Rar [a] | rar | .rar | ✓ | |
| 7-zip [a] | 7zip | .7z | ✓ | ✓ |
| Armoire MS [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 | ✓ | ✓ |
| Compress [z] | compress | .Z | ✓ | ✓ |
| Pommes pommes | apple1 | .as | ✓ | |
| Enrouler | apple2 | .adf .rsrc | ✓ | |
| Macbinaire | macbin | .bin | ✓ | |
| Binhex 4.0 | binhex | .hqx | ✓ | |
| Binscii | binscii | .bsc .bsq | ✓ | |
| Intel hex | intel | .ihex .ihx | ✓ | ✓ |
| Base64 | base64 | ✓ | ✓ | |
| Cité | quopri | ✓ | ✓ | |
| Uuencode | uuencode | ✓ | ✓ | |
| yencode [y] | yenc | ✓ | ✓ | |
| E-mail MIME Multipart | email | .eml .msg | ✓ | ✓ |
| C ou c ++ codé binaire | c | .c .cpp .cc .h | ✓ | ✓ |
| Binaire codé JSON | json | .json | ✓ | ✓ |
| Binaire codé de python | python | .py | ✓ | ✓ |
| Binaire codé Pascal | pascal | .pas | ✓ | ✓ |
| Binaire codé de base | basic | .bas | ✓ | ✓ |
[A] a besoin de libarchive
[C] nécessite Acefile
[Y] a besoin de python3-yenc
[Z] nécessite NCompress
Notez que beaucoup d'entre eux nécessitent actuellement de lire les archives complètes en mémoire, qui peuvent ne pas être possibles avec EG ISO9660 ou WARC Files qui peuvent contenir des systèmes de fichiers entiers.
Il s'agit du format le plus courant utilisé sur les anciennes plates-formes, souvent avec le suffixe inutile .fnt . Comme il n'y a pas de métadonnées, c'est à vous de spécifier la taille des cellules de caractère. La taille la plus courante et par défaut est de 8x8 (CGA et de nombreuses plates-formes 8 bits), suivies de 8x16 (VGA) et 8x14 (EGA).
.f08 , .ch8 , .88 , .chr , .udg et bien d'autres..f14 ou .814 ..f16 , WARP 9 .fnt ou degas elite .fnt.car sont des fichiers bruts 16x16..fnt sont des binaires bruts avec une frappe bitmap 4096x8 pixels hébergeant 512 glyphes 8x8 côte à côte. Extraire avec -strike-width=512 .Il est également utile de vérifier la taille du fichier. Les fichiers bruts contiennent généralement 96 (ASCII excluant les contrôles), 128 (ASCII), 256, ou des multiples de ceux-ci. Les tailles de fichiers communes sont donc:
| 8x8 | 8x14 | 8x16 | |
|---|---|---|---|
| 96 | 768 | 1344 | 1536 |
| 128 | 1024 | 1792 | 2048 |
| 256 | 2048 | 3584 | 4096 |
| 512 | 4096 | 7168 | 8192 |
Si votre fichier de police non identifié a une de ces tailles, il est probable qu'il s'agit d'un fichier binaire brut.
monobit peut extraire les bitmaps intégrés dans des fichiers de police TrueType et OpenType. Il convient de garder à l'esprit que ceux-ci sont principalement destinés à des formats évolutifs, et n'intégrent que des bitmaps exceptionnels pour améliorer le rendu sur les affichages à basse résolution.
La grande majorité des fichiers .ttf , .otf , .dfont etc. ne contiennent pas du tout les bitmaps . Cela est vrai même pour les polices avec un look pixelisé. Pour les convertir, vous avez d'abord besoin de les rasterriser , ce que monobit ne fait pas. Certains des autres outils de police liés ci-dessous ont des fonctionnalités rasterisantes.
monobit peut sortir expérimentalement les fichiers OpenType Bitmap ( .otb ), un format de fichier Bitmap uniquement pris en charge par Linux Desktops.
Certains formats nécessitent
Pillow )Le rendu emploie en outre
Presque tous peuvent être installés via PIP:
pip install Pillow reportlab fonttools uniseg python-bidi arabic-reshaper libarchive-c ncompress acefile
Le package python3-yenc est disponible sur https://github.com/oe-mirrors/python3-yenc et via certaines distributions Linux. Sans ces packages, certaines fonctionnalités peuvent ne pas être disponibles.
monobit et la spécification yaff sont le droit d'auteur 2019-2024 Rob Hagemans et libérés sous la licence du MIT.
monobit contient du code de:
mkwinfont Copyright 2001 Simon Tatham. Tous droits réservés.dewinfont Copyright 2001,2017 Simon Tatham. Tous droits réservés. Veuillez vous référer aux avis dans les sous-packages windows et os2 et le module mac/fond.py pour les licences et plus d'informations.
Les fichiers de police dans tests/fonts sont soumis à leurs propres licences, dont certaines sont plus restrictives. Ce sont des fichiers utilisés pour les tests et le développement et ne sont pas inclus dans la distribution emballée. Voir tests/fonts/README.md et avis inclus avec les fichiers individuels.
monobit n'existerait pas sans ceux qui documentaient, l'ingénierie rétro-inverse, la mise en œuvre et la préservation des formats de police et des fichiers:
D'autres outils de police bitmap que vous pourriez utiliser en conjonction avec (ou au lieu de) monobit incluent:
gbdfed de Mark Leisher