Изменение размера шрифта терминала с помощью C++
Я делаю небольшой проект для удовольствия на C++ (в Ubuntu 11.04), и программа основана на тексте (все в терминале Gnome). Я использую библиотеку ncurses для изменения цвета шрифта, но я также хочу печатать текст разного размера на терминал и не могу понять, как это сделать с ncurses. Есть ли способ сделать это (возможно, с ncurses, или другую библиотеку)? В идеале, я бы хотел, чтобы он был независимым от терминала, но если это решение, которое работает только в Gnome или работает только в Ubuntu или какое-то другое ограничение, подобное этому, тогда это лучше, чем ничего!
Спасибо за помощь как всегда.
Я пробовал предложение от Кита Томпсона, но не смог заставить его работать. Вот мой код:
cout << "x1b]50;" << "10x20" << "a" << flush;
cout << "test";
Он просто отображается как тот же размер шрифта, указанный в настройках терминала. Я использую: gnome Terminal 2.32.1, если это поможет!
2 ответов
по крайней мере xterm
, вы можете изменить текущий шрифт на печать последовательности. Синтаксис ESCAPE ] 50 ; FONTNAME BEL
.
вот (сокращенная версия) сценария, который я использую для этого; я называю его xfont
(реальный и более ошибок):
#!/usr/bin/perl
use strict;
use warnings;
print "\e]50;@ARGV\a";
Я не знаю, какие другие эмуляторы терминала распознает эту последовательность. В частности, я нахожу, что он не работает под screen
, даже если screen
сеанс в
лучшее, что вы можете сделать, это использовать жирный шрифт. Terminal эмулирует реальный текстовый терминал, поэтому он не поддерживает сразу разные шрифты.