FreeBSDの/usr/share/syscons/fonts
には、syscons-fontsが.fnt
-形式であります。
それらを.ttf
形式に変換する方法はありますか?
@mjturnerが述べているように、近似値を見つけるのが最善です。
しかし、フォント変換に真剣に取り組んでいるのであれば、それは可能です。秘訣は、これらの古いラスター形式を、最新のツールが使用する最新のファイル形式に変換することです。 PSFツール そのために便利です!これは、古い単純なビットマップ形式の多くを処理します。
次に、ラスターフォントをベクターフォントに変換できます。いくつかの変換を行ってから、アウトラインをベクトル形式にトレースすることについての質問です。
ほとんどのコンソールフォントは非常に単純なビットマップです。しかし、FreeBSDの.fntファイルを見ると、ファイルがuuencodeされていることがわかります。これらの手順は私の頭のてっぺんからです(そしてメモ)が、おそらく要点を理解するでしょう。ここで難しいのは、ソース形式が何であるかを理解することです。 psf2bsd
を使用してPSFフォントを "bsd"フォントに変換した他のメモがあります-uuencodeする必要があるかどうかわかりません(数年前です) )。
まず、生データを取得するためにuudecodeを実行します。
uudecode -o iso-8x16.raw /usr/share/syscons/fonts/iso-8x16.fnt
生のラスターフォントデータが得られたという私の推測が正しければ、PSFを迂回してTTFに到達できます。
そのバンドルを使用すると、rawをpsfに変換できます。
raw2psf iso-8x16.raw iso-8x16.psf
PSF形式の場合は、他の多くの形式にすることができます。良い候補はX11BDFです:
psf2bdf iso-8x16.psf iso-8x16.bdf
X11 BDFは、友人が処理できるので便利です fontforge 。 fontforgeを使用してファイルをTTF形式にトレースする を使用できます。
または、PSFツールを使用してより一般的な形式に変換してから、多くのオンラインツールの1つを使用します。
UPDATE:Poul-Henning Kamp によるフォントフォーマットの説明:
これは生のビットマップフォントで、これはiso-8x14からのものです。
Hex Binary
18 00011000
3c 00111100
3c 00111100
3c 00111100
18 00011000
18 00011000
00 00000000
18 00011000
00 00000000
00 00000000
00 00000000
00 00000000
66 01100110
66 01100110
66 01100110
24 00100100
00 00000000
00 00000000
00 00000000
00 00000000
00 00000000
00 00000000
00 00000000
00 00000000
00 00000000
そして、ダン・ネルソンは次のように付け加えています。
これらは、CVSに簡単に保存できるようにuuencodeされているだけです。 Vidcontrolは、通常の生の8xNフォントビットマップファイルも使用できます。私はFontManiaと呼ばれる古いDOSプログラムを使用しており、Simtelでは何百ものVGAフォントをダウンロードできます。
.fnt
ファイルをTrueTypeに変換するものを見つけるのは難しいと思います。 @Octopusで言及されているように、前者はラスターフォントであり、後者はベクターベースです。さらに、FreeBSDとOpenBSDで使用されているコンソールフォントファイルは、Windowsで使用されているものと同じ形式ではないため、コンバーターを見つけるのはさらに難しいと思います。
好みのコンソールフォントの外観に一致するTrueTypeフォントを見つけようとする方がよいでしょう。たとえば、 Classic Console は、従来のVGA8x16フォントに非常に近いものです。