urxvtで一部の文字やエスケープシーケンスが正しくレンダリングされないのはなぜですか?

urxvtで一部の文字やエスケープシーケンスが正しくレンダリングされないのはなぜですか?

シェル(構文強調機能付きzsh)、ターミナル(urxvt)、およびXresources構成の特別な組み合わせにより、一部の太字(太字エスケープシーケンスとも呼ばれる)でのみ発生するように見えるフォントレンダリングで奇妙な問題が発見されました。 k ' - キーが大きく空の垂直長方形として表示されます(下の画像を参照)。

端末に奇妙なフォントレンダリングが表示される

なぜこれが起こるのですか?

答え1

この問題は、次のように letterSpace を -1 (またはそれ以下) に設定する .Xresources ファイルの letterSpace 構成が原因で発生します。

! /home/username/.Xresources

URxvt*letterSpace: -1

多くのユーザーやブログの投稿では、カーニングを調整するために letterSpace オプションを -1 に変更することを提案していますが、この場合 urxvt はグリフをレンダリングできない副作用があるようです。

関連情報