Urxvtで実行されているEmacsを使用していますが、ターミナルでサポートされていますが、イタリックをEmacsで機能させることができません。
現在の設定は次のとおりです。
$TERM
を設定していないので、デフォルトのrxvt-unicode-256color
です。~/.Xdefaults
は、URxvt.font: xft:Inconsolata:size=15
をターミナルフォントとして定義しています。echo "\e[3mitalics\e[m"
を実行すると、実際にitalics
が生成されるため、ターミナルでのイタリック体doは基本的に機能します。「斜体」の面をカスタマイズする場合、の値としてitalic
、oblique
、normal
、またはroman
を選択しても違いはありません。 Slant
属性も、Slant
属性をまったく設定しない場合も同様です。 URxvt.italicFont
で~/.Xdefaults
を明示的に定義することと組み合わせてこれも試しましたが、役に立ちませんでした。
太字は正常に機能し、斜体はまったく機能しません。何か案は?
つまり、現在のバージョンのEmacs(23.2で確認済み)ではできませんが、可能な回避策については以下を参照してください。
より長い話:イタリックのサポートはsitm
(イタリックを入力)およびritm
(イタリックを終了)機能(ZH
およびZR
(termcap互換性)あなたのターミナルがそれらをサポートしていることを確認するには:
infocmp $TERM | egrep '(sitm|ritm)'
それらが存在しない場合、rxvt-unicode-256color
端末記述はncursesライブラリに端末のイタリック機能に関する情報を提供しないため、それらを追加する必要がある場合があります。そうでない場合、TTYアプリケーションはイタリックを使用できません。
ただし、ターミナルディスプレイを管理する関数turn_on_face
(Emacsソースでは、ファイルsrc/term.c
、1919--2012行)はイタリックをサポートしていません。ボールド/ディム/点滅/をチェックします顔の下線属性。実際、struct face
でエンコードされた「斜体」属性はありません。
実際、私のEmacs(Ubuntu 11.04 nattyのバージョン23.1)は、イタリック体の顔(X11では正しく表示されます)をTTYでunderlinedとして表示します。 (つまり、下線が気にならない場合は、端末のterminfo記述を変更して、Enter/Exit Underlineエスケープシーケンスの代わりにEnter/Exit Italicsエスケープシーケンスを使用して、イタリックにすることができます。)
この機能を提供するターミナルエミュレーターでイタリックを利用できないemacsについて:これは emacsバグ#9652 であり、2012年6月10日にChongYidongによって修正されました。
この修正は、リリースされたemacsのバージョンには含まれていませんが、たとえば emacs.naquadah.org のemacs-snapshotパッケージに含まれています。