Gnomeターミナル、または等幅フォントが必要な場合にFixedsysを使用する方法


10

Fixedsysフォントは、プログラミングで最も読みやすいモノスペースフォントの1つだと思います。アンチエイリアスはゼロであり、垂直線の幅はほとんど2ピクセルです。私の目には、文字通り、現在のモニタードットピッチに最適です。ここにサンプルがあります:

Fixedsysサンプル

何年にもわたって自宅でWindows(家族の理由)と職場のLinuxサーバーにWindowsのCygwin(会社のポリシー上の理由)からアクセスし、FixedsysをシェルおよびIDEフォントとして使用していたため、ついに自宅でUbuntuに切り替えることにしました。

Eclipseとgeditは問題ありません。FixedsysExcelsior TTFフォントの修正バージョンを受け入れます。コメント番号16(ファイル名:FSEX301-L2.ttf)にあります。ただし、Gnomeターミナルは等幅フォントのみを受け入れます。

Fixedsys Excelsiorは基本的に等幅ですが、大きなグリフ(主に東部言語用)といくつかの合字が含まれています。フォントが等幅フォントとして認識されるためには、明らかにすべての文字が同じ幅でなければならないため、gnome-terminalを含め、等幅フォントが必要なすべてのコンテキストでFixedsys Excelsiorを選択することはできません。

では、等幅フォントのみを受け入れるコンテキストでFixedsysクローンを使用する最も簡単でクリーンな方法は何ですか?


ところで、NetBeansでFixedsys Excelsiorを使用するには-J-Dswing.aatext=false、/etc/netbeans.confのnetbeans_default_optionsに追加する必要があります。そうでない場合、NetBeansは「色付き」でぼやけてレンダリングします-これはWindowsにも当てはまります
Walter Tross 2013

以前のコメントの更新:Windows上のNetbeans 7.4では-J-Dawt.useSystemAAFontSettings=on、アンチエイリアスを取り除く必要があります。
Walter Tross 2014

MacBook Proでは、サンプル画像を操作する必要がありますが、鮮明ではありません。Fixedsysフォントは、灰色の境界線ピクセルを持っているように見えます。これは、いわゆる「網膜」ディスプレイ、つまりHTML内の画像を2倍に拡大する高解像度ディスプレイが原因です(そうです、HTMLを壊して、ぼやけた画像にするほうが好ましいです...)。同じスケーリングがフォント自体に適用され、フォントを台無しにします。一方、高解像度ディスプレイはすべてのフォントの読みやすさを大幅に向上させ、Fixedsysの必要性を排除します。
Walter Tross、2015

回答:


7

これが私が見つけた解決策です。私はそれを数回徹底的にテストし、結果として得られたフォントを2年間以上さまざまな場所で使用していますが、警告されます。手順の一部は、最適とはいえないものから明らかな間違いまであります。

「結果のフォントを使用できるようにするのはなぜですか」と質問する前に、答えは「私が使用できるかどうかわからないため」です。フォントの著作権は複雑な問題です。


修正されたFixedsys Excelsiorフォントをダウンロード(ファイルFSEX301-L2.ttf、コメント#16)

FontForgeをインストールします(Ubuntu Software Centerなどから)

FSEX301-L2.ttfファイルを右クリックし、FontForgeで開きます。表示される[ ビットマップフォントロード ]ウィンドウで、[ いいえ ]をクリックします。

[ ファイル]→ [ スクリプトの実行...]をクリックし、表示されるウィンドウに以下をコピーして貼り付けます。

SelectAll()
foreach
   if (GlyphInfo("Width") != 80)
      DetachAndRemoveGlyphs()
   else
      b = GlyphInfo("BBox")
      if (b[0] < 0 || b[1] < -30 || b[2] > 80 || b[3] > 130)
         DetachAndRemoveGlyphs()
      endif
   endif
endloop
SelectNone()

次にFFを選択して[ OK ]をクリックします(しばらくかかります。[ スクリプト実行]ウィンドウが消えるまで待つ必要があります)

クリックしてエレメント→フォント情報を...PS名を変更フォント名ファミリ名、および人間の名前を追加することによって、例えば、Mono(スペースのみを第二と第三の文字列で許可されます)。

同じフォント情報ウィンドウで、OS / 2を選択します。
ではその他。タブでPFMファミリMonospaceに変更します。
[Metrics]タブで、Win Descent OffsetとHHead Descent Offsetの両方を0 (*)に設定します。
ではパノースタブ、変更の割合等幅

同じ[ フォント情報]ウィンドウで、[ ルックアップ]を選択します。
GSUBのタブ、およびにGPOSのタブ、順番にそれぞれの行を選択し、クリックしてください削除

同じではフォント情報ウィンドウ、クリックOK、とで変化のUniqueID?表示されるウィンドウで[ 変更 ]をクリックします。

必要に応じて、Fixedsysの1つ以上の疑わしい機能を調整できます。たとえば、ゼロ文字は1ピクセル右にシフトします。中央に戻すには、ダブルクリックして、[ メトリック ] [ LBearingの設定... ]をクリックし、LBearingをに設定し10て[ OK ]をクリックします。文字の形を変更することもできますが、コントロールポイントは常に10の倍数、幅は80に保ちます。

[ 要素]→ [ ビットマップストライクを利用可能 ]をクリックし、表示されたウィンドウで[ ピクセルサイズ16 ] をに設定して[ OK ]をクリックします。

[ ファイル]→ [ フォントの生成... ]をクリックし、必要に応じて別のディレクトリやファイル名を選択し、出力形式がTrueTypeであることを確認して、[ 保存 ]をクリックします。では非標準全角クリックし、表示されたウィンドウはい。でエラーが検出 [次へ]をクリック表示されるウィンドウの保存を(ない心配を行います)。

FontForgeを終了しますファイル→終了)。ではフォントの変更ウィンドウが表示されますがクリックすることをしない保存


生成されたファイルを.fontsホームディレクトリのサブディレクトリに移動します(存在しない場合は作成します)。

Gnomeターミナルを開きます。[ 編集]→ [ プロファイル]をクリックします。プロファイル(新しいフォントを作成することをお勧めします)で、フォントをFixedsys Excelsior 3.01-L2 Mono(または、Fixedsys Excelsiorのモノバージョンと呼んでいるものに)サイズ12(これが唯一の「真の」Fixedsysサイズです)に変更します。 。必要に応じて、太字のテキストを無効にすることもできます。白い背景に黒いテキストをお勧めしますが、それは好みの問題です。

このフォントの太字のバリエーションは、1ピクセル右にシフトした文字を繰り返すことと同じです(これはFSEX301-L2.ttf、滑らかに見えるとは異なります)。読みにくいですが、本当に太字が必要ですか?私はしません。問題は、太字を無効にできない(たとえば、構文の強調表示を編集することによっても)ことができないコンテキストでのみ発生します。特に、文字間隔が1ピクセルずつ増加し、配置が崩れる場合(これはgnomeには当てはまりません) -ターミナル)。私はこの最後の迷惑に対する解決策をまだ見つけていません。提案は大歓迎です。


(*):2012-07-31のFontForgeリリース以降は不要(14.04 LTS-Trusty Tahr)


このレシピを保存および/または適用したすべての人へ:いくつかの小さな問題を解決するために、その間に少し変更された可能性があること、および今後も変更される可能性があることに注意してください。あなたは編集履歴を見ることができます。
Walter Tross

参考までに、Windowsでも問題なく動作します。また、「Fixedsys Excelsior 2.0」(私の意見では、文字はFSEX3よりも少し低いため、端末にとってははるかに優れています)でも使用できます。PuTTYに最適なフォント!(元のFSEXと非モノスペースと見なされるフォントにより、画面が頻繁に更新されるとPuTTYが非常に遅くなります)
ThiefMaster

14.04のPhpStorm 7.1は、私が答えで説明したフォントを等幅フォントとして認識しません。理由はわかりません:-(幸い、「等幅フォントのみ表示」のチェックを外すと、引き続きフォントを取得できます。何らかの理由でサイズは12ではなく15または16(同じように見える)でなければなりません。PhpStormは私には少しバグがあるようです...
Walter Tross

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.