長い間、DejaVu Sans Monoをプログラミングフォントとして使用してきました。より良いフォントをまだ見つけていません。
しかし、少し前に、MozillaのFiraを発見しました。これは、コードにとって非常に便利です。そこで、Emacsで試してみることにしました。
残念ながら、Emacsで使用すると、行間隔が広がり、表示できる行数が約10減少します。
(setq line-spacing 0)
などのさまざまな組み合わせを試しました(set-frame-font (font-spec :name "Fira Mono" :width 'normal :height 100))
が、何をしても、余分な行間隔が残っています。(line-spacing
残念ながら、Emacsで負の値を使用することはできません。これは明らかな解決策のように思われます。)
しかし、同じサイズのケイトでFira Monoを使用すると、行間隔は通常と考えられ、DejaVu SansのEmacs行間隔とほぼ同じになるため、フォントのバグではないようです。 。
これはEmacsのバグですか?これを修正する方法はありますか?
アドバイスをありがとう。
正直なところ、DejaVuには十分なスペースがないように見えます。Firaで最後のスクリーンショットを見ると、gやyなどの下降要素を持つ文字がトリミングされていることさえわかります。それ以外では、最小行の高さはいくつかのTTFパラメータに基づいて計算されると思うので、本当にそれを変更したい場合は、フォントを変更するためにTTF(またはOTF?)ファイルを変更することを検討しています少ない先行を許可するメトリック。
—
wvxvw
minspace=true
FontConfigフォント定義に追加するとどうなりますか?たとえば、のようなものemacs -fn 'Fira Mono:minspace=true'
、またはフォントの名前は何でも。
これは聞きたいことではありませんが、1年ほど前に行間をあきらめました。代わりに、使いやすいフォントを選択し、それを設定しました
—
法律家
:height
。Emacsには実際には行間の距離を適切に制御できないため、調整するとより多くの問題が発生します。おそらく、機能要求が適切でしょう。たとえば、行間の距離をピクセル単位で設定し、すべてのフォントで機能するようにします。
行の高さはフォントのプロパティであり、Emacsのレンダリングは指定された値を尊重します。フォントのプロパティに関係なく特定の高さを強制すると、ケイトのFira Monoのスクリーンショットのように(wvxvwが既に指摘したように)文字が切り取られる可能性があります。プロポーショナルフォントに関しては、Lucida Grande Monoはスペースの面で最も効率的であり、小さいサイズでも非常に読みやすいことがわかりました(Droid Sans Monoが近くにありますが、密度が低くなっています)。
—
パプリカ
--line-spacing=PIXELS
してコマンドラインで試すことができますemacs
が、私の推測ではそれは役に立たないでしょう。私の水晶玉は、行間が余分なピクセルを挿入しないことと、Emacsのフォントの表示に問題があることを教えてくれます。バッファモードに違いはありますか?(私はあなたがチェックしたことを前提としていframe-parameters
たフォントがなどが何であるかを見るために)