GNU/Linux >> Linux の 問題 >  >> Linux

C++ で端末のフォント サイズを変更する

少なくとも xterm については 、エスケープシーケンスを印刷することで現在のフォントを変更できます。構文は ESCAPE ] 50 ; FONTNAME BEL です .

これは、私がこれに使用するスクリプト (の短縮版) です。 xfont と呼んでいます (実際のものはより多くのエラーチェックがあります):

#!/usr/bin/perl

use strict;
use warnings;

print "\e]50;@ARGV\a";

他のどの端末エミュレーターがこのシーケンスを認識するかはわかりません。特に、screen 以下では動作しないことがわかりました。 、 screen であっても セッションは xterm にあります ウィンドウ。

name を指定する必要があることに注意してください フォント ("10x20""9x15" )、そのサイズではありません。

編集:タグにもっと注意を払う必要があります。 C++ では、次のようになります:

std::cout << "\x1b]50;" << font_name << "\a" << std::flush;

更新:xterm で 、TrueType フォントを使用している場合、これは機能しません。また、Dúthomhas はコメントで次のように提案しています。

<ブロック引用>

これが古いことは知っていますが、すべての terminfo 文字列は putp() を使用して出力する必要があります [または tputs() ]、C++ でも。

putp( (std::string{ "\33]50;" } + font_name + "\a").c_str() );


あなたができる最善のことは、太字のフォントを使用することです.ターミナルは実際のテキスト ベースのターミナルをエミュレートするため、一度に異なるフォントをサポートしません。


Linux
  1. Asciinemaとのターミナルセッションを記録する

  2. xtermを使い続ける理由

  3. ターミナルタイトルを変更しますか?

  1. グラブフォントサイズはカスタマイズできますか?

  2. Gnomeターミナルの背景色をオンフライで変更しますか?

  3. フォントサイズの変更 Ubuntu ターミナル

  1. テキストモードコンソールのフォントを変更しますか?

  2. Ubuntu で端末のフォント サイズを変更する方法

  3. Linux 上の C++ での usleep(0) の効果