MATEデスクトップ環境(Debian Linux 12)のリッチテキストなどのコンポーネントでレンダリングされる先行スペースの幅は、言語によって異なります。テキストビューを含めるピューマ/編集者、アビマル、等。
PT Mono Regular
フォント(この場合)とフォントサイズ(14pt)を事前に選択しましたが、先行スペースの幅は言語行ごとに異なる場合があります。
フォントはPT Mono Regular
実際に空白文字を定義します。これはコマンドで確認できます。FCクエリ:
$ fc-query --format='%{charset}\n' /usr/share/fonts/truetype/paratype/PTM55F.ttf
20-7e a0-109 10c-113 116-11f 122-127 12a-12b ...
コードポイント範囲20-7e表示フォントに空白文字が含まれています。\u0020。
ビューコンポーネントは、空白ではなく最初の文字をチェックして空白をレンダリングするために使用するフォントを決定しますが、選択したフォントで定義されている空白文字は確認しないようです。それでは、「AIスペースフォント」機能を取り除くことはできますか?たぶんlibgtk設定ラインがあるかもしれません。
行の前に char 記号を追加して問題を解決できる場合:
したがって、ビューコンポーネントは、スペースをレンダリングするために使用されたフォントを「推測する」ように見えます。スペースの前の文字だけを確認し、後の文字は確認しません。ルールの唯一の例外は、スペースが行の前にある場合(通常はインデントの場合)です。スペースの前に文字がないため、編集者はスペースの後ろの文字を検索して言語を検索しようとしますが、通常は検索します。空白の前の文字について。スペース。
ただし、タブを使用すると\u0009空白文字の代わりに\u0020インデントの場合、タブは機能します。一部のテキストエディタは次のとおりです。原子リーダーだけを扱う\u0020スペースをタブにグループ化します。たとえば、4つを削除できます。\u0020スペースプラスワンバックスペースキーキーストローク入力原子またはVSCode。
下のスクリーンショットは、スペースをレンダリングするためにさまざまなフォントを選択したときにテキストエディタがどのように見えるかを示しています。
フォントファイルによると、最初の行(英語)のみが次の定義を使用します。PTM55F.ttf文書。まあ、スペースはテキストの中央にあり、スペースの幅は言語の書き込みスタイルを反映しているので、言語ごとに異なる幅のスペースをレンダリングするのが合理的です。
ただし、インデントには前のスペースを使用することがよくあります。
この問題は他のフォントにも存在します。これは特に明らかなようです固定幅フォントファミリーフォントです。
たぶんFontconfigはこの問題を解決できますか?