テキスト端末のEmacsからイタリック体(rxvt-unicode)

テキスト端末のEmacsからイタリック体(rxvt-unicode)

私はurxvtで実行されているEmacsを使用しています。ターミナルはイタリック体をサポートしていますが、Emacsではイタリック体を使用することはできません。

これは私の現在の設定です。

  • まだ設定していない$TERMため、すべてデフォルトですrxvt-unicode-256color
  • 私の~/.Xdefaults定義URxvt.font: xft:Inconsolata:size=15はターミナルフォントです。
  • echo "\e[3mitalics\e[m"シェルで実行すると生成されます。italicsそのため、端末にイ​​タリック体で表示されます。する基本的に働いてください。

italic「イタリック体」フォントをカスタマイズするときoblique、、、normalまたはromanプロパティ値を選択しても違いはなく、Slantプロパティをまったく設定しなくても違いはありません。私もそれを私のSlant明示的な定義と組み合わせようとしましたが、役に立ちませんでした。URxvt.italicFont~/.Xdefaults

太字はうまく機能しますが、イタリック体はまったく機能しません。どんなアイデアがありますか?

ベストアンサー1

つまり、現在のバージョンのEmacs(23.2で確認)は利用できませんが、考えられる解決策については以下を参照してください。

長いストーリー:イタリック体のサポートは次のようにコーディングされています。 用語情報sitm(イタリック体の入力)およびritm(イタリック体の終了)機能を使用すると、データベース(termcap互換性ZHとも呼ばれますZR)は、端末がこれをサポートしているかどうかを確認できます。

infocmp $TERM | egrep '(sitm|ritm)'

これがなければ、rxvt-unicode-256colorターミナル記述はncursesライブラリにターミナルのイタリック体機能に関する情報を提供せず、それを追加する必要があるかもしれません。それ以外の場合、TTY アプリケーションではイタリック体を使用できません。

しかし、端末ディスプレイを管理する機能turn_on_face(Emacsソースコードのファイル src/term.c1919--2012行)はイタリック体をサポートしていません。つまり、顔の太字/ぼやけ/点滅/下線のプロパティを確認します。実際、.txtには「イタリック体」属性はエンコードされていませんstruct face

実際、私のEmacs(Ubuntu 11.04 nattyのバージョン23.1)はイタリック体リテラル(X11では正しく表示されます)を次のように表示します。下線付きTTYから。 (つまり、アンダースコアを気にしない場合は、端末のterminfoの説明を変更して、アンダースコア入力/終了の代わりにイタリック体入力/終了エスケープシーケンスを使用してイタリック体を取得できます。)

おすすめ記事