grub-mkfont 入出力形式

grub-mkfont 入出力形式

設定できるフォントがあります。フォント設定とrc.conf [コンソール]。それにPSF2滞在。 Grubでもこのフォントを使いたいです。私はGrub2を使用しています。私が走るとき

grub-mkfont -o ~/outfont pc.psf

私は出力を得る

can't open file pc.pf2, index 0: error 2: unknown file format

マニュアルページが少し足りないが、私が読んだ内容によると他の場所で、grub-mkfontは複数の入力形式(psf2を含む)を受け入れ、psf2フォントを出力できるようにする必要があるようです。私が見るものとは一致しません。動作する grub フォントがあり、上部に psf2 "magic" がなく、代わりにFILE{0,0,0,4} (bytes) などで始まることがわかりましたPFF2NAME。通常は次のようになります。MAXHRegular 16およびその他の内容を含むテキスト/バイナリハイブリッド形式。FAMIこれに関してGrub2は違うの?

問題は、grub-mkfontがどの形式を使用して出力するのかです。 psf2フォントをこの形式に変換するにはどうすればよいですか?

このような部分については情報が少し不足しているようですので、質問に完全に回答できなくても情報お願いします!小さなことでも大きくなることができる!ありがとうございます。

答え1

私はこの質問が古くなったことを知っていますが、これはまだ関連性があるため、私の結果を共有したいと思いました。私の場合は、Terminus Boldフォントを変換してみます。

警告:あまりにも意欲を感じないでください。私はまだ最終的にpsfをpf2に変換できませんでしたが、他の人はそれがうまくいったと報告しました。たぶんあなたは幸運な人の一人になります。変換したいフォントによっても異なる場合があります。しかし、好きなフォントを別の形式でダウンロードでき、grub-mkfontで変換することができました。読んでください。

psf2 は pf2 と同じではありません。 psf2 はコンソールで使用され、pf2 は GRUB で使用されます。この回答では、psf2の代わりにpsfを使用します。これは、このファイル形式で一般的に使用される拡張子であるためです。

このページを見つけた後、私の考え方は次のようになります。 grub-mkfontがpsfを理解していない場合は、psfをgrub-mkfontが理解できるもの(好ましくはビットマップとロスレス)に変換できますか?正解はbdfです。

(grub-mkfontは理解していますFreeTypeライブラリが理解するすべて)

私が見つけた答えはPSFツールpsfをbdfに変換することが可能なので、これをコンパイルしてpsfフォントをbdfに変換しましたが、grub-mkfontはフォントサイズ(24x24)が間違っていると文句を言いましたが、フォント自体は24x12です。

grub-mkfont: error: can't set 24x24 font size: Freetype error 23: invalid pixel size.

bdfファイルを見ると、実際にサイズが24x12に設定されていることがわかります。これはLinuxコンソールのフレームバッファでサポートされているフォントサイズにすぎませんが、小さいVGAサイズも試しましたが、同じ問題が発生しました。私はこれがPSFツールまたはgrub-mkfontのバグであるという結論に達しました。

その後、検索を続けて次のツールを見つけました。国別リーグ戦(幸いにもUbuntuリポジトリにあります。)psfをインポートしてbdfとして保存できます。

grub-mkfontは文句を言わずにそれを解析しますが(以前の問題はgrub-mkfontではなくPSFツールにありました)、結果pf2フォントには正確にゼロのグリフが含まれています。 grub-mkfontのパラメータを操作してVGAバージョンを再試行しましたが、何も機能しませんでした。

結局、bdfに変換しようとしたpsfファイルが実際にはbdfのソース形式であることを発見して追跡してみました。元のbdfファイル今回は、grub-mkfontが実際にこれを受け入れて、有効なpf2を生成しました!今は寝なければならないので、まだテストしていませんが、今すぐ持つことができる唯一の問題は、GRUBが理解するにはpf2に文字の外観が多すぎるということです。

私の英語が理解しにくいと申し訳ありません。私の母国語ではありません。

関連情報