Изменение размера шрифта терминала с помощью 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 эмулирует реальный текстовый терминал, поэтому он не поддерживает сразу разные шрифты.