web-dev-qa-db-ja.com

.fntを.ttfに変換しますか?

FreeBSDの/usr/share/syscons/fontsには、syscons-fontsが.fnt-形式であります。

それらを.ttf形式に変換する方法はありますか?

1
Mirco

@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は、友人が処理できるので便利です fontforgefontforgeを使用してファイルを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フォントをダウンロードできます。

http://www.simtel.net/pub/msdos/vga/

http://www.simtel.net/pub/msdos/screen/

2
Claus Andersen

.fntファイルをTrueTypeに変換するものを見つけるのは難しいと思います。 @Octopusで言及されているように、前者はラスターフォントであり、後者はベクターベースです。さらに、FreeBSDとOpenBSDで使用されているコンソールフォントファイルは、Windowsで使用されているものと同じ形式ではないため、コンバーターを見つけるのはさらに難しいと思います。

好みのコンソールフォントの外観に一致するTrueTypeフォントを見つけようとする方がよいでしょう。たとえば、 Classic Console は、従来のVGA8x16フォントに非常に近いものです。

1
mjturner