-@@------------------------------------------@@------@@--------------@@-
-@@------------------------------------------@@------@@--@@----------@@-
-@@------------------------------------------@@----------@@----------@@-
-@@------@@@@@@@@@----@@@@---@@@@@----@@@@---@@@@@---@@-@@@@---------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@------@@-
-@@------@@--@@--@@---@@@@---@@--@@---@@@@---@@@@@---@@---@@-@@------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
monobitツールを使用すると、ビットマップフォントを変更し、いくつかの形式間で変換できます。
monobitのネイティブ形式は、ローマyaff Czyborraのhexdraw 、Simon Tathamのmkwinfont 、John Elliottのpsftoolsが使用したものと同様の人間に優しいテキストベースの視覚形式です。詳細は、 yaffフォントファイル形式の仕様に記載されています。
MonobitにはPython 3.9以上が必要です。 pip install monobitを介してインストールします。一部の形式または機能には、追加のパッケージが必要です。リストについては、以下の依存関係を参照してください。 pipを使用すると、これらは自動的にインストールされます。
monobit 、Pythonパッケージまたはコマンドラインツールとして使用できます。
コンバージョンユーティリティを使用する方法の例をいくつか紹介します。
monobit-convert --help
使用法の概要とコマンドラインオプションを表示します
monobit-convert --help load --format=raw
RAWバイナリからの変換のための追加のフォーマット固有のコマンドラインオプションを表示します。
monobit-convert fixedsys.fon
「マジックバイト」またはサフィックス(ここではWindowsフォント)のソースファイル形式を認識し、 yaff形式の標準出力にフォントを書き込みます。
monobit-convert roman.bdf to --format=unifont
BDFファイルからフォントを読み取り、標準出力にunifont hexとして書き込みます。
monobit-convert fixed.psf to fixed.png
PSF形式のフォントを読み取り、PNG形式の画像としてディスクに書き込みます。
monobit-convert --format=c to --format=bdf
C-Source Coded Binaryとして標準入力からフォントを読み取り、BDFとして標準出力に書き込みます。
コンバーターは、 gz 、 bz2 、またはxzが再接続されたフォントファイルを透過的に読み取り、書き込み、 zipおよびtarアーカイブを読み書きできます。一部のフォント形式には複数のフォントが含まれていますが、他のフォントには1つしか含まれていません。コンバーターは、必要に応じて複数のファイルをディレクトリまたはアーカイブに書き込みます。
保存する前に、フォントにさまざまな変換を適用することもできます。 monobit-convert --help使用については確認してください。
バナーユーティリティは、特定のフォントの標準出力にテキストをレンダリングします。これは、System-VおよびBSD Unixesに含まれる古代のbannerコマンドに似ています。
たとえば、このREADMEの上部にあるバナーは
me@bandit:~$ monobit-banner '| monobit. |' --font=VGASYS.FON
monobit-bannerには多くのレンダリングオプションがあります。フォントを選択したり、「インク」と「紙」文字を変更したり、マージンを設定したり、テキストをスケールしたり、4分の1回転したりできます。 monobit-banner --help使用についてはヘルプしてください。
| 形式 | 短い名前 | 典型的な拡張機能 | 読む | 書く | タイプ | 特徴 |
|---|---|---|---|---|---|---|
| Xerox Alto Convert | alto | .al | ✓✓ | バイナリ | - | |
| Amigaフォントの内容 | amiga-fc | .font | ✓✓ | ✓✓ | バイナリ | m; amigaを参照してください |
| アミガフォント | amiga | ✓✓ | ✓✓ | バイナリ | OCG | |
| X11/Adobe BDF | bdf | .bdf | ✓✓ | ✓✓ | コード化されています | U SB MB Vog |
| beosビットマップフォント | beos | ✓✓ | ✓✓ | バイナリ | uog | |
| Xerox Alto Bitblt | bitblt | .strike .ks | ✓✓ | バイナリ | o | |
| AngelCodeBMFont [P] | bmfont | .fnt .xml .json +画像 | ✓✓ | ✓✓ | 画像 | Mu Sb MB OKGC |
| fontrix(pc)、pcpaint、grasp、chiwriter | chiwriter | .set .[specx]ft | ✓✓ | バイナリ | - | |
| コンソレット / vfontas | consoleet | .txt | ✓✓ | ✓✓ | ビジュアル | - |
| デイジードット | daisy | .nlq .nl2 .nl3 .nl4 | ✓✓ | バイナリ | - | |
| dosstart! | dosstart | .dsf | ✓✓ | ✓✓ | コード化されています | - |
| Edwin BitMapフォント | edwin | .fnt | ✓✓ | ✓✓ | コード化されています | - |
| 図フォント | figlet | .flf | ✓✓ | ✓✓ | ビジュアル | (3) |
| FZXフォント | fzx | .fzx | ✓✓ | ✓✓ | バイナリ | o |
| OS/2 GPIリソース | gpi | .fnt | ✓✓ | バイナリ | SB O(MB K) | |
| atari gdos / gem | gdos | .fnt .gft .vga | ✓✓ | ✓✓ | バイナリ | o |
| GEOSフォントファイル(CVT) | geos | .cvt | ✓✓ | ✓✓ | バイナリ | m; vlirを参照してください |
| Adafruit GFXフォント | gfxfont | .h | ✓✓ | ✓✓ | コード化されています | o |
| ヘックスドロー | hexdraw | .draw | ✓✓ | ✓✓ | ビジュアル | u |
| HP PCLソフトフォント | hppcl | .sft .sfp .sfl | ✓✓ | ✓✓ | ESC | SB MB o |
| Apple IIGSフォント | iigs | .fon | ✓✓ | ✓✓ | バイナリ | nfntを参照してください |
| ビットマップ画像[P] | image | .png .gif .bmp | ✓✓ | ✓✓ | 画像 | - |
| ビットマップ画像のセット[P] | imageset | .png .gif .bmp | ✓✓ | ✓✓ | 画像 | - |
| リサフォントライブラリ | lisa | .bin | ✓✓ | バイナリ | m; nfntを参照してください | |
| MacOSフォント | mac | .dfont .suit | ✓✓ | ✓✓ | バイナリ | MK; nfntを参照してください |
| MouseGraphicsツールキット | mgtk | ✓✓ | バイナリ | - | ||
| mkwinfontテキスト形式 | mkwinfont | .fd | ✓✓ | ✓✓ | ビジュアル | SB |
| WindowsまたはOS/2フォント | mzfon | .fon .exe .dll | ✓✓ | (1) | バイナリ | m; win 、 gpiを参照してください |
| 裸のnfntリソース | nfnt | .f | ✓✓ | ✓✓ | バイナリ | SB OG(C) |
| Palm OSフォント(V1/NFNT) | palm | .pdb | ✓✓ | バイナリ | m; nfntを参照してください | |
| Palm OS PRC(V1/NFNT) | palm-prc | .prc | ✓✓ | バイナリ | m; nfntを参照してください | |
| X11ポータブルコンパイルされた形式 | pcf | .pcf | ✓✓ | ✓✓ | バイナリ | U SB MB o |
| PC/GEOS V2.0+ | pcgeos | .fnt | ✓✓ | ✓✓ | バイナリ | O(MB K) |
| ピルフォント[P] | pilfont | .pil + .pbm | ✓✓ | ✓✓ | 画像 | o |
| Tex Pkfont | pkfont | .pk | ✓✓ | バイナリ | o | |
| Adobe Prebuiltフォーマット | prebuilt | .bepf .lepf | ✓✓ | バイナリ | g(v) | |
| Xerox Alto Prepress | prepress | .ac | ✓✓ | バイナリ | o | |
| プリントショップ | printshop | .pnf | ✓✓ | バイナリ | - | |
| RISCOS X90Y45形式 | riscos-xy | ✓✓ | バイナリ | og | ||
| Riscos New Format | riscos | ✓✓ | バイナリ | og | ||
| 署名! 2 | signum | .e24 .p9 .p24 .l30 | ✓✓ | バイナリ | - | |
| sfont | sfont | ✓✓ | ✓✓ | 画像 | GC | |
| sfnt埋め込みビットマップ | sfnt | .otb .ttf .otf [f] [**] | ✓✓ | (2) | バイナリ | M US SB MB OKVG(C) |
| SFNTコレクション | ttcf | .otc .ttc [f] [**] | ✓✓ | (2) | バイナリ | M US SB MB OKVG(C) |
| vfont | vfont | ✓✓ | ✓✓ | バイナリ | o | |
| ベアGEOSフォントレコード | vlir | ✓✓ | ✓✓ | バイナリ | o | |
| Windows FNTリソース | win | .fnt | ✓✓ | ✓✓ | バイナリ | SB |
| モノビット・ヤッフ | yaff | .yaff | ✓✓ | ✓✓ | ビジュアル | M US SB MB OKVGC |
[P] PILが必要です
[f] fonttoolsが必要です
(1)FNTリソースのみを備えた16ビットウィンドウNEコンテナ
(2)BitMapのみ(OTB)
(3)限られた読み取り機能:ASCII-ARTのサポートはありません。これは図の中核機能です
mマルチフォントコンテナ
uユニコード
US Unicode、マルチコデポイントシーケンス
SBシングルバイト文字セット
MBマルチバイト文字セット
o Glyphs K Kerningの重複
v垂直メトリック
G GreyScaleフォント
Cカラーフォント( monobitによってサポートされていない)
略語が括弧で囲まれている場合、形式はこれをサポートしますが、実装されていません。
| 形式 | 短い名前 | 典型的な拡張機能 | 読む | 書く | タイプ | 細胞 | 特徴 |
|---|---|---|---|---|---|---|---|
| 64c | 64c | .64c | ✓✓ | ✓✓ | バイナリ | 8x8 | - |
| +3DOS | plus3dos | ✓✓ | ✓✓ | バイナリ | 8x8 | - | |
| BBCソフトフォント | bbc | ✓✓ | ✓✓ | ESC | 8x8 | - | |
| コードページ情報 | cpi | .cpi | ✓✓ | ✓✓ | バイナリ | 8xn | M SB |
| ダッシェン | dashen | .pft | ✓✓ | バイナリ | どれでも | - | |
| DEC DRCSソフトフォント | dec | ✓✓ | ✓✓ | ESC | > 4xn | - | |
| ハロー博士 /天才博士 | drhalo | .fon | ✓✓ | バイナリ | どれでも | - | |
| fontx2 | fontx | .fnt | ✓✓ | ✓✓ | バイナリ | どれでも | MB |
| fontedit | fontedit | .com | ✓✓ | バイナリ | 8xn | - | |
| fontraption | frapt | .com | ✓✓ | バイナリ | 8xn | - | |
| fontraption tsr | frapt-tsr | .com | ✓✓ | バイナリ | 8xn | - | |
| PCPaint、古い形式を把握します | grasp | .set .fnt | ✓✓ | ✓✓ | バイナリ | どれでも | - |
| Hanzi Bitmapフォント | hbf | .hbf + rawバイナリ | ✓✓ | ✓✓ | バイナリ | どれでも | SB MB |
| GNU UNIFONT | unifont | .hex | ✓✓ | ✓✓ | コード化されています | 8x16(厳格)8xn <= 32(ext) | MC U(Strict)MC US(Ext) |
| 裸のコードページ | kbd | .cp | ✓✓ | ✓✓ | バイナリ | 8xn | SB |
| Letafontローダー | letafont | .com | ✓✓ | バイナリ | 8x8 | - | |
| rexxcomフォントマニア | mania | .com | ✓✓ | バイナリ | 8xn | - | |
| NetBSD WSFONT Cヘッダー | netbsd | .h | ✓✓ | ✓✓ | コード化されています | どれでも | M SB |
| Optiks PCRフォント | pcr | .pcr | ✓✓ | ✓✓ | バイナリ | 8xn | - |
| PCスクリーンフォント | psf | .psf .psfu | ✓✓ | ✓✓ | バイナリ | any(v2)8xn(v1) | 私たち |
| psf2ams psfcom | psfcom | .com | ✓✓ | バイナリ | 8x8、8x16 | - | |
| psf2txt | psf2txt | .txt | ✓✓ | ✓✓ | ビジュアル | どれでも | 私たち |
| 生のバイナリ | raw | .fnt .rom [*] | ✓✓ | ✓✓ | バイナリ | - | - |
| UDGローダー | udg | .com | ✓✓ | バイナリ | 8x8 | - | |
| FreeBSDコンソールフォント | vtfont | .fnt | ✓✓ | ✓✓ | バイナリ | どれでも | MC u |
| ヘラクレスは書く! | writeon | .wof | ✓✓ | ✓✓ | バイナリ | 8x14倍 | - |
| NetBSD WSFONTバイナリ | wsfont | .wsf | ✓✓ | ✓✓ | バイナリ | どれでも | SB |
| wyse-60ソフトフォント | wyse | ✓✓ | ✓✓ | ESC | 8x16 | - | |
| Xbinフォントセクション | xbin | .xb | ✓✓ | ✓✓ | バイナリ | 8x <= 32 | - |
| Zapfont(古い形式) | zapfont | ,1bd | ✓✓ | ✓✓ | バイナリ | どれでも | - |
| ZapredRaw UCS | zapredraw | ,1bd | ✓✓ | ✓✓ | バイナリ | どれでも | u |
MCマルチセルグリフ
これらの形式は、グリフのテーブルを出力します。 PDF、テキスト、ブロックチャートは書き込みのみであり、画像チャートはimageリーダーを通して読むことができます。
| 形式 | 短い名前 | 読む | 書く |
|---|---|---|---|
| 文章 | chart | ✓✓ | |
| 要素をブロックします | blocks | ✓✓ | |
| ANSI色 | shades | ✓✓ | |
| 画像[P] | image | ✓✓ | ✓✓ |
| PDF [R] | pdf | ✓✓ |
[P] PILが必要です
[R]にはreportLabが必要です
グレースケールとカラーサポートは実験的です。 YAFF形式の拡張により、ピクセルあたり最大8ビット(256色またはグレーレベル)でグリフを保存できます。
ストロークフォントのサポートは実験的です。ストロークフォントは、ラインセグメントとして定義されたスケーラブルなフォントです。それらは、シングルストロークを定義し、最新のフォントがインクで満たされるアウトラインを定義するという点で、最新のフォントと根本的に異なります。さらに、現在サポートされているフォントは、直線セグメントのみで構成されています。
| 形式 | 短い名前 | 典型的な拡張機能 | 読む | 書く |
|---|---|---|---|---|
| モノビット・ヤッフ | yaff | .yaff | ✓✓ | ✓✓ |
| SVGフォント | svg | .svg | ✓✓ | ✓✓ |
| Windowsリソース | win | .fnt | ✓✓ | ✓✓ |
| Windowsフォント | fon | .fon | ✓✓ | ✓(ne) |
| Borlandグラフィックインターフェイス | borland | .chr | ✓✓ | ✓✓ |
| ハーシーフォント(ジムハート) | hurt | .jhf | ✓✓ | |
| dosstart | dosstart | .dsf | ✓✓ | |
| ギム | gimms | .bin | ✓✓ |
monobit 、多くの一般的なコンテナ、アーカイブ、圧縮、エンコード形式からフォントファイルを再発および抽出します。
| 形式 | 名前 | 典型的な拡張機能 | 読む | 書く |
|---|---|---|---|---|
| pkzip/winzip | zip | .zip | ✓✓ | ✓✓ |
| GNUタール | tar | .tar .tgz | ✓✓ | ✓✓ |
| rar [a] | rar | .rar | ✓✓ | |
| 7-zip [a] | 7zip | .7z | ✓✓ | ✓✓ |
| MSキャビネット[A] | cabinet | .cab | ✓✓ | |
| lharc/lha/lzh [a] | lharc | .lha .lzh | ✓✓ | |
| エース[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 | ✓✓ | ✓✓ |
| コンプレス[z] | compress | .Z | ✓✓ | ✓✓ |
| appleSingle | apple1 | .as | ✓✓ | |
| Appledouble | apple2 | .adf .rsrc | ✓✓ | |
| Macbinary | macbin | .bin | ✓✓ | |
| BINHEX 4.0 | binhex | .hqx | ✓✓ | |
| binscii | binscii | .bsc .bsq | ✓✓ | |
| Intel Hex | intel | .ihex .ihx | ✓✓ | ✓✓ |
| base64 | base64 | ✓✓ | ✓✓ | |
| 引用プリント可能 | quopri | ✓✓ | ✓✓ | |
| uuencode | uuencode | ✓✓ | ✓✓ | |
| yencode [y] | yenc | ✓✓ | ✓✓ | |
| MIMEマルチパートメール | email | .eml .msg | ✓✓ | ✓✓ |
| CまたはC ++コード付きバイナリ | c | .c .cpp .cc .h | ✓✓ | ✓✓ |
| JSONコード化されたバイナリ | json | .json | ✓✓ | ✓✓ |
| Pythonコード付きバイナリ | python | .py | ✓✓ | ✓✓ |
| Pascal Coded Binary | pascal | .pas | ✓✓ | ✓✓ |
| 基本的なコード付きバイナリ | basic | .bas | ✓✓ | ✓✓ |
[a]は糞便を必要とします
[c] Acefileが必要です
[Y]にはpython3-yencが必要です
[z] ncompressが必要です
これらの多くは現在、完全なアーカイブをメモリに読み取る必要があることに注意してください。これは、例えばISO9660またはファイルシステム全体を保持できるWarcファイルでは実行できない場合があります。
これは、古いプラットフォームで使用される最も一般的な形式であり、多くの場合、役に立たない接尾辞.fntを使用します。メタデータはないので、文字細胞のサイズを指定するのはあなた次第です。最も一般的な、デフォルトのサイズは8x8(CGAおよび多くの8ビットプラットフォーム)で、その後8x16(VGA)と8x14(EGA)が続きます。
.f08 、 .ch8 、 .88 、 .chr 、 .udgなどとも呼ばれます。.f14または.814としても知られています。.f16 、warp 9 .fntまたはgeas elite .fntとしても知られています.carファイルは16x16 RAWファイルです。.fntファイルは、512 8x8グリフを並べてホストする4096x8ピクセルビットマップストライクを備えた生のバイナリです。 -strike-width=512で抽出します。また、ファイルのサイズを確認すると便利です。生ファイルは通常、96(コントロールを除くASCII)、128(ASCII)、256、またはその倍数を保持します。したがって、一般的なファイルサイズは次のとおりです。
| 8x8 | 8x14 | 8x16 | |
|---|---|---|---|
| 96 | 768 | 1344 | 1536 |
| 128 | 1024 | 1792 | 2048 |
| 256 | 2048 | 3584 | 4096 |
| 512 | 4096 | 7168 | 8192 |
未確認のフォントファイルにこれらのサイズのいずれかがある場合、それが生のバイナリファイルである可能性があります。
monobit 、TrueTypeおよびOpentypeフォントファイルに埋め込まれたビットマップを抽出できます。これらは主にスケーラブルな形式として意図されており、低解像度ディスプレイでのレンダリングを改善するためにビットマップを非常に埋め込んだもののみを目的としていることに留意する必要があります。
.ttf 、 .otf 、 .dfontなどの大部分のファイルには、ビットマップがまったく含まれていません。これは、ピクセル化された外観のフォントにも当てはまります。これらを変換するには、まずそれらをラスター化する必要がありますが、 monobitしません。以下にリンクされている他のフォントツールのいくつかには、ラスター化機能があります。
monobit 、Linuxデスクトップでサポートされているビットマップのみのファイル形式であるOpentype BitMap( .otb )ファイルを実験的に出力できます。
いくつかの形式が必要です
Pillow )レンダラーはさらに採用しています
ほとんどすべてがPIPを介してインストールできます。
pip install Pillow reportlab fonttools uniseg python-bidi arabic-reshaper libarchive-c ncompress acefile
パッケージpython3-yencは、https://github.com/oe-mirrors/python3-yencで入手できます。これらのパッケージがなければ、一部の機能は利用できない場合があります。
monobitとyaff仕様は著作権2019--2024 Rob Hagemansであり、MITライセンスの下でリリースされています。
monobitには次のコードが含まれています。
mkwinfont Copyright 2001 Simon Tatham。無断転載を禁じます。dewinfont Copyright 2001,2017 Simon Tatham。無断転載を禁じます。ライセンスと詳細については、 windowsおよびos2サブパッケージとmac/fond.pyモジュールの通知を参照してください。
tests/fontsのフォントファイルは、独自のライセンスの対象となりますが、その一部はより制限的です。これらは、テストと開発に使用されるファイルであり、パッケージ化された分布には含まれていません。 tests/fonts/README.mdおよび個々のファイルに含まれる通知を参照してください。
monobit 、フォント形式とファイルを文書化、逆エンジニアリング、実装、保存する人がいなければ存在しません。
monobitと組み合わせて(またはその代わりに)使用できる他のBitMapフォントツールは次のとおりです。
gbdfed