我正在C++(Ubuntu 11.04)中开发一个有趣的小项目,程序是基于文本的(全部在Gnome终端中)。我正在使用ncurses库来更改字体颜色,但我也希望将不同大小的文本打印到终端,并且无法弄清楚如何使用ncurses执行此操作。有没有办法做到这一点(也许与ncurses,或与不同的库)?理想情况下,我希望它是独立于终端的,但如果它是一种只能在Gnome中工作的解决方案,或者只能在Ubuntu中工作,或者其他限制,那么这比没有好!用C++更改终端字体大小
感谢您一如既往的帮助。
我试过基思汤普森的建议,但不能得到它的工作。这里是我的代码:
cout << "\x1b]50;" << "10x20" << "\a" << flush;
cout << "test";
它只是显示为在终端首选项中指定的相同字体大小。我正在使用:GNOME Terminal 2.32.1,如果有帮助的话!
感谢您的快速回复。你的回答看起来很有希望,但我无法实现它:/。也许我错过了一些基本的东西。 – navr91
也许Gnome终端不识别相同的转义序列。尝试启动一个xterm窗口('xterm&')并从那里尝试。运行'xlsfonts'获取可用字体列表(我的系统上有几千个)。或'xlsfonts | egrep'^ [0-9] + x [0-9] + $''为WIDTHxHEIGHT字体名称列表(我有14个)。如果它在xterm中可用,但不在Gnome终端中,那么就有一个特定于GNOME的解决方案。 (或者它可能不可能;如果Gnome实现了这个功能,我希望它使用与'xterm'相同的语法。) –
我无法在xterm中使用它:/。我甚至试过你的perl例子:'print'\ e] 50; 10x20 \ a“;打印“test”;'和gnome和xterm中的字体大小相同。也许这是最近发生了变化的事情。你在什么操作系统/终端上运行你的xfont系统? – navr91