web-dev-qa-db-ja.com

konsole(および他のCLIアプリ)の垂直線間隔の調整は可能ですか?

Konsoleの垂直線間隔を減らすことは可能ですか?

[設定/詳細設定]には[行間隔]オプションがありますが、0までしか下がらず、0でも行間にかなりのスペースがあります(つまり、タイポグラフィで一般的にleading 、テキストの行間の空白の垂直間隔)。私は非常に垂直に保守的なInconsolataフォントを使用しています。これは、たとえばMonospaceと比較して垂直方向の間隔が最小ですが、このフォントを使用しても、使用するポイントサイズで行間の間隔が大きすぎます(13)。

フォント自体をハッキングせずに補正することなく、垂直方向の行間隔をさらに減らす方法はありますか?多くの編集者はこれを許可していますが、Konsole(ゼロ以下)でそれを行う方法、またはおそらくKDE全体を何らかのシステム設定として理解することはできません。

1

興味のある人には、これを行う方法を見つけましたが、フォントの編集が必要です。これはすべてのことを理解しようとして途方もない時間を費やしたことがわかっているので、グーグルとフラストレーションの日ではないにしても時間を節約するはずです。手順であるテキストの壁に落胆しないでください。プロセス全体は、文字通り5分未満かかります。私は完全にそれを完全に綴るために長い時間をかけてきましたので、5分かかることがあります:)そして何をすべきかに関して曖昧さはほとんどありませんどのような順序で。

すべてのLinux GUIアプリで、縦線の間隔を心のコンテンツに合わせて調整する方法は次のとおりです。

  1. FontForgeをダウンロードしてインストールします(パッケージは、fontforgeapt-getyum、または使用するパッケージマネージャーでdnfと呼ばれる必要があります)。手動で行うことが好きな場合は、githubでも利用できます: github install details
  2. 変更するフォント(私の場合はInconsolata)を開きます。注:フォントを変更するか、新しいフォントを作成する前に、古いフォントを/usr/share/fonts/...から~/.local/share/fontsにコピーし、ローカルですべての変更(または新しいフォントの追加)を行ってください。 fontsディレクトリ。ボーナスとして、ルートアクセス(/usr/share/fontsへのアクセス)を必要とせずに書き込み権限が付与されます。
  3. OK、FontForgeに戻ります。インストール後にfontforgeとして実行できます。元のフォントをコピーした.local/share/fontsディレクトリからフォントを開くことから始めます。ホームディレクトリからFontForgeを起動すると仮定すると、.local/share/fontsと入力するだけで、そのディレクトリに移動します。 FontForgeはホームディレクトリの代わりに~文字を好まないため、相対パスまたは絶対パスを使用しますが、フォントファイルを開くときに~を使用しないでください。そこにフォントのサブディレクトリがある場合は、それをクリックして開き、最後にフォント自体を選択して開きます。他の何かを変更する前に、フォントの名前を変更する必要があります。メニューから[要素/フォント情報...]を選択して、Font Informationダイアログを開きます。左側の[全般]カテゴリに移動し、その後にサフィックスを追加してフォントの名前を変更します(たとえば、InconsolataをInconsolataDense80に変更して、垂直線間隔(つまり、先頭)を80に縮小することを示します)現在価値のパーセント)。 Fontname、Family Name、およびName For Humansフィールドのそれぞれに対して、この変更を3回行ったことを確認してください。
  4. 次に、左側でOS/2カテゴリを選択し(だれがサンクするのでしょうか?)、上部で[メトリック]タブを選択します。
  5. Linuxの垂直方向の間隔に影響を与える2つの値であるHHead AscentおよびDescentの値を変更します。これを自分で考え出して頑張ってください。干し草の山の中にあるこれらのことわざの針、原石の中にあるダイヤモンド、あなたの選択のアナロジーを見つけるのに何年もかかりました!
  6. 変更を行う前に、必ず現在の値を記録(メモなど)してください。
  7. ここで、垂直方向の間隔を変更するには、垂直方向の間隔を減らす量に応じて、2つの値に係数を掛ける必要があります(私は現在の値の80%を使用しました)。おそらく、すべてのケースの99%で両方に同じ係数を使用する必要があります。それがうまくいかない場合、またはディスプレイのアーティファクトが発生する場合は、後でさまざまな要因を使用して、個々の値を絶対的な最終手段として微調整できます。アーティファクトは、値を下げすぎたことを意味する可能性があり、減らすことにより、ゼロに近づくことを意味します(つまり、HHead Descentが負になる可能性があるため、大きさ、絶対値を減らすことで、実際に値を増やします)正のパーセンテージスケーリング係数を掛けた場合の数値的な意味)。
  8. HHead AscentとDescentのそれぞれを、手順7で計算した値に設定します(たとえば、以前の値の80%が良いスタートです)
  9. [フォント情報]ダイアログはこれで完了です。[OK]ボタンをクリックします。
    1. この時点で、フォントを.SDFファイルとして保存します。ファイル/名前を付けて保存...を実行すると、以前に設定したフォントの新しい名前が記憶されるはずです。
    2. ここで変更を適用するには、フォントを(再)生成する必要があります。 FontForgeメニューからFont/Generate Fonts ...を選択します。 TrueTypeフォントを扱っている場合は、フォントファイル名でTrueTypeが選択されていることを確認してください。次に、「生成」ボタンをクリックします。さまざまなエラーが検出される可能性がありますが、無視しても問題ありません-フォントの生成を続行するように見える場合は、そのダイアログの[生成]ボタンをクリックします。
    3. この時点で問題ありませんが、フォントキャッシュをリセットする必要があります。これを行うには、fc-cache -v -rと入力します。
    4. 新しいkonsoleウィンドウを開きます(新しいフォントまたは既存のフォントへの変更は、既に開いているウィンドウには表示されません)。
    5. [設定]/[現在のプロファイルの編集]に移動し、[外観]タブを選択して、新しいフォントを選択します。フォント選択オプションは設定ページにあります。 [フォントの選択...]をクリックすると、新しいフォントが一覧表示され、選択できるようになります。 [OK]をクリックすると、すぐに変更が有効になります。
    6. おめでとうございます、完了です!行がまだ離れすぎている、または近すぎる場合は、手順7に戻って、HHead Ascent/Descentの値を元の他の倍数に微調整します。フォント名の値(3つすべて)を変更して、後で参照するために掛ける割合を説明することを忘れないでください。その後、新しいファイル名でフォントを保存し、新しいフォントとして新しい名前も)。最後に、フォントキャッシュを更新し、新しいウィンドウを開いて効果を確認することを忘れないでください。

リストされたファイル名の間の行間隔への影響を見ることができるように、私は通常Konsoleでフォントを変更する前にls -lまたはls -lRを実行します。アセンダー(lなど)とディセンダー( 'y'など)を使用するファイル名を互いに上下に配置することをお勧めします。これにより、行が近すぎないことを確認できます。また、アセンダーとディセンダーは交差しません。これを行うには、「agjpqy」、「mbdfijlt」、および「zgjpqy」の3つのファイルを作成します。ファイル名の最初の文字は、ファイルを期待どおりにアルファベット順に並べるだけです。残りの文字には、アセンダー、ディセンダー、またはその両方が含まれています。それらが交差するかどうかを確認し、それに応じてフォントの垂直方向の間隔を調整してください(GoldilocksとThree Bearsの話を思い出します)。

これが時間とフラストレーションのprove濫するボートの助けとなることを願っています。 OCDを使用しているユーザーは、これを最も高く評価します。

1