現在の端末で斜体を正しく表示できるかどうかを確認したいのですが。
手動で確認するのは簡単です。
echo -e "\e[3mfoo\e[23m"
出力がfoo
の場合、端末(-emulator)はイタリックをサポートします。ただし、イタリックがプログラムでサポートされているかどうかを.zshrc
でテストしたいと思います。
それを行うためのベストプラクティスは何ですか?
可能であれば、標準のLinuxコンソールでもイタリックを使用できるようにしたいと思います。問題は、手動テストが失敗することです。そこでイタリックを可能にする方法はありますか?
(これは元の質問の一部ではありません。ただし、曖昧すぎて、独立した質問として質問することは無意味です。)
それはいくつかの質問です:
setterm
とscreendump
の両方が未加工のvcsa
デバイスを開きます(ただし、代わりにscreendump
はTIOCLINUX
ioctlのデフォルトを使用します。同じ内容です)
TIOCLINUX
、サブコード=8
画面の幅と高さ、カーソル位置、およびすべての文字と属性のペアをダンプします。 (カーネル1.1.67から1.1.91のみ。カーネル1.1の場合.92以降、代わりに/ dev/vcsa *から読み取ります。)
プログラム的にイタリックが実装されているかどうかを判断する解決策がないことに加えて、解像度を上げるための特別な機能を使用する以外に、Linuxコンソールフォントがイタリックで描画されることを期待する理由はほとんどありません。 Terminusフォントページ (これは、Linuxコンソールフォントと同じ効果をXで提供しようとするため、関連性があります)よくある質問セクションで次のように述べています。
Q.斜体バージョンですか?
A.いいえ。品質は大幅に低下します。フォント幅を維持するには、文字を重ねる必要がありますが、X11/Xftではうまく処理されません。とにかく、最新のGUIは自動傾斜をサポートしています。満足できない場合は、FreeBSDのmkitalicまたはDebianのbdfslantを試してください。
Q.スケーラブルバージョン?
A.簡単に言うと、平均ディスプレイ解像度が少なくとも150DPIになる場合です。できれば200。
参考文献:
端末が実際にイタリックをサポートしているかどうかを確実にテストすることはできません。 tput sitm
またはtput ritm
の出力をチェックすることにより、$TERM
の値とそれに対応する端末の説明claimsがそれをサポートするかどうかをテストできますが、クレーム実際の動作は、どちらの方向でも簡単に同期しなくなる可能性があります。
Linuxコンソールが近い将来イタリックをサポートするか、サポートするかどうかは本当に疑わしいです。