特定のフォントで行間隔が過剰です


13

長い間、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のバグですか?これを修正する方法はありますか?

アドバイスをありがとう。

左: Emacs Fira Mono 右: Emacs DejaVu Sans Mono Emacs Fira MonoとEmacs DejaVu Sans Mono

左: Emacs Fira Mono 右: Kate Fira Mono Emacs Fira MonoとKate Fira Mono


1
を使用--line-spacing=PIXELSしてコマンドラインで試すことができますemacsが、私の推測ではそれは役に立たないでしょう。私の水晶玉は、行間が余分なピクセルを挿入しないことと、Emacsのフォントの表示に問題があることを教えてくれます。バッファモードに違いはありますか?(私はあなたがチェックしたことを前提としていframe-parametersたフォントがなどが何であるかを見るために)
ドリュー

2
正直なところ、DejaVuには十分なスペースがないように見えます。Firaで最後のスクリーンショットを見ると、gやyなどの下降要素を持つ文字がトリミングされていることさえわかります。それ以外では、最小行の高さはいくつかのTTFパラメータに基づいて計算されると思うので、本当にそれを変更したい場合は、フォントを変更するためにTTF(またはOTF?)ファイルを変更することを検討しています少ない先行を許可するメトリック。
wvxvw

1
minspace=trueFontConfigフォント定義に追加するとどうなりますか?たとえば、のようなものemacs -fn 'Fira Mono:minspace=true'、またはフォントの名前は何でも。
jch

3
これは聞きたいことではありませんが、1年ほど前に行間をあきらめました。代わりに、使いやすいフォントを選択し、それを設定しました:height。Emacsには実際には行間の距離を適切に制御できないため、調整するとより多くの問題が発生します。おそらく、機能要求が適切でしょう。たとえば、行間の距離をピクセル単位で設定し、すべてのフォントで機能するようにします。
法律家

1
行の高さはフォントのプロパティであり、Emacsのレンダリングは指定された値を尊重します。フォントのプロパティに関係なく特定の高さを強制すると、ケイトのFira Monoのスクリーンショットのように(wvxvwが既に指摘したように)文字が切り取られる可能性があります。プロポーショナルフォントに関しては、Lucida Grande Monoはスペースの面で最も効率的であり、小さいサイズでも非常に読みやすいことがわかりました(Droid Sans Monoが近くにありますが、密度が低くなっています)。
パプリカ

回答:


2

Fira Mono v3.2はフォントの行の高さを調整したため、Emacsで使用できるようになりました。

https://github.com/mozilla/Fira/issues/67


更新していただきありがとうございます。それは少し良くなったように見えますが、DejaVu Sans MonoよりもFira Mono 3.2のEmacsの行数はまだ4つ少なくなっています。残念ながら、それはまだ役に立たない。行間のスペースはこれ以上必要ありません。何も得られません。画面に表示される量を減らし、スクロールを増やすことで、効率が低下し、時間を無駄にします。:( Mozillaがフォントを便利にするよりも風通しの良い見栄えにすることに
関心があるのは残念

…そして、Consolasを使用すると、DejaVu Sans Monoと比較して、画面上にさらに4行を表示できます。個々のフォントは、固有の高さ(およびモノスペースバリアントの場合は幅)が異なりますが、これは行間とは関係ありません。MozillaやCarrois(フィラのデザインをリードしていると思われるタイプのファウンドリ)に何らかの悪意を仕掛けることはばかげています。
セメリック

悪意について何か言ったのは誰ですか?または、いつから「エアリー」=悪意があるのでしょうか?事実、現在、基本的にUIに関連するすべての要素の空白を増やす傾向があります。実際には、最近再設計を行う大規模なWebサイトはすべて、行間隔を大幅に拡大します。それは現在人気があります。これらの同じ傾向は、これらのものを作成するために作成されたツールに流れ込みます。「Webサイトの空白が多い=良いため、エディターの空白が多い=良い」この独断は悪意のあるものではなく、役に立たないだけです。非攻撃から防御する前に理解してください。
ブルージェイ

1
ああ、そして参考までに、より少ない行間でフィラコードが作業中です。うまく行けばうまくいくと思います。
ブルジェイ

しかし、現時点では、Emacsに深刻な問題あるようです。(「コメントは5分間しか編集できません。」ため息。)
blujay
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.