
私は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.c
1919--2012行)はイタリック体をサポートしていません。つまり、顔の太字/ぼやけ/点滅/下線のプロパティを確認します。実際、.txtには「イタリック体」属性はエンコードされていませんstruct face
。
実際、私のEmacs(Ubuntu 11.04 nattyのバージョン23.1)はイタリック体リテラル(X11では正しく表示されます)を次のように表示します。下線付きTTYから。 (つまり、アンダースコアを気にしない場合は、端末のterminfoの説明を変更して、アンダースコア入力/終了の代わりにイタリック体入力/終了エスケープシーケンスを使用してイタリック体を取得できます。)
答え2
答え3
emacsについてイタリック体は、この機能を提供するターミナルエミュレータでは使用できません。Emacsのバグ#9652Chong Yidongが2012年6月10日に修正しました。
しかし、修正はリリースされたemacsバージョンにはありませんが、例えばemacs-snapshotパッケージにはあります。emacs.naquadah.org。