Введение

Компьютерный режим отображения, основанный на символах

Текстовый режим — это режим компьютерного отображения, в котором содержимое на экране компьютера представлено в виде символов, а не отдельных пикселей. Как правило, экран состоит из однородной прямоугольной сетки ячеек символов, каждая из которых содержит один из символов набора символов; в отличие от графического режима или других видов компьютерной графики. Приложения в текстовом режиме взаимодействуют с пользователем посредством интерфейсов командной строки и текстовых пользовательских интерфейсов. Многие наборы символов, используемые в текстовых приложениях, также содержат ограниченный набор предварительно определенных полуграфических символов, пригодных для рисования рамок и других примитивных графических элементов, которые можно использовать для выделения содержимого или имитации виджетов или элементов управления, встречающихся в программах с графическим интерфейсом. Типичным примером является набор символов IBM с кодовой страницей 437. Важной характеристикой программ в текстовом режиме является то, что они предполагают использование моноширинных шрифтов, где каждый символ имеет одинаковую ширину на экране, что позволяет им легко поддерживать вертикальное выравнивание при отображении полуграфических символов. Это было обусловлено аналогией с ранними механическими принтерами, имевшими фиксированный шаг. Таким образом, вывод, отображаемый на экране, можно было напрямую отправить на принтер, сохранив тот же формат. В зависимости от среды, буфер экрана может быть напрямую адресуемым. Программы, отображающие вывод на удаленных видеотерминалах, должны использовать специальные управляющие последовательности для манипулирования буфером экрана. Наиболее распространенными стандартами для таких управляющих последовательностей являются ANSI и VT100. Программы, обращающиеся к буферу экрана через управляющие последовательности, могут потерять синхронизацию с фактическим отображением, поэтому многие текстовые программы имеют команду перерисовки всего экрана, часто связанную с определенной комбинацией клавиш.

История

Видеорендеринг в текстовом режиме стал широко распространенным в начале 1970-х годов, когда видеотерминалы начали вытеснять телепринтеры при интерактивной работе с компьютерами.

Преимущества

Преимущества текстовых режимов по сравнению с графическими режимами заключаются в меньшем объеме потребляемой памяти и более высокой скорости манипулирования экраном. В то время, когда в 1970-х годах текстовые терминалы начали заменять телепринтеры, чрезвычайно высокая стоимость оперативной памяти в тот период делала непомерно дорогим установку достаточного объема памяти для компьютера, чтобы одновременно хранить текущее значение каждого пикселя на экране и формировать то, что сейчас называется буфером кадров. Первые буферы кадров были автономными устройствами, стоившими десятки тысяч долларов, помимо затрат на современные дисплеи высокого разрешения, к которым они подключались. Для приложений, которым требовалась простая линейная графика, но затраты на буфер кадров были неоправданно высоки, векторные дисплеи служили популярным обходным решением. Однако существовало множество компьютерных приложений (например, ввод данных в базу данных), которым требовалась лишь возможность быстро и экономично отображать обычный текст на электронно-лучевой трубке. Текстовый режим позволяет избежать проблемы дорогостоящей памяти, используя специализированное аппаратное обеспечение для отображения, которое перерисовывает каждую строку текста из символов в пиксели при каждом развершении экрана электронным лучом. В свою очередь, аппаратному обеспечению дисплея требуется лишь достаточно памяти для хранения пикселей, эквивалентных одной строке текста (или даже меньше) в данный момент времени. Таким образом, буфер экрана компьютера хранит и обрабатывает только базовые текстовые символы (отсюда и название "текстовый режим"), а фактические пиксели, представляющие эти символы в виде единого изображения, существуют только на самом экране, как его видит пользователь (благодаря феномену сохранения зрительного образа). Например, для буфера экрана, достаточного для стандартной сетки 80x25 символов, требуется не менее 2000 байт. Некоторые реализации текстового режима также поддерживают атрибуты строк. Например, терминалы, совместимые с VT100, поддерживают удвоение ширины и высоты символов в отдельных текстовых строках.

Обычные текстовые режимы ПК

В зависимости от используемого графического адаптера, на компьютерах IBM PC доступны различные текстовые режимы. Они перечислены в таблице ниже:

Размер символа Разрешение графики Цвета Адаптеры 80×25 9×14 720×350 Монохромный текст MDA, Hercules 40×25 8×8 320×200 16 цветов CGA, EGA 80×25 8×8 640×200 16 цветов CGA, EGA 80×25 8×14 640×350 16 цветов EGA 80×43 8×8 640×350 16 цветов EGA 80×25 9×16 720×400 16 цветов VGA 80×30 8×16 640×480 16 цветов VGA 80×50 9×8 720×400 16 цветов VGA 80×60 16 цветов VESA совместимый Super VGA 132×25 16 цветов VESA совместимый Super VGA 132×43 16 цветов VESA совместимый Super VGA 132×50 16 цветов VESA совместимый Super VGA 132×60 16 цветов VESA совместимый Super VGA

Текст MDA можно было выделить жирным шрифтом, подчеркиванием, инверсией и миганием. Видеокарты в целом обратно совместимы, то есть EGA поддерживает все режимы MDA и CGA, VGA поддерживает режимы MDA, CGA и EGA. Наиболее распространенным текстовым режимом, используемым в средах DOS и начальных консолях Windows, является режим по умолчанию 80 столбцов на 25 строк, или 80×25, с 16 цветами. Этот режим был доступен практически на всех IBM и совместимых персональных компьютерах. Некоторые программы, такие как эмуляторы терминалов, использовали только 80×24 для основного дисплея и резервировали нижнюю строку для строки состояния. Существуют два других текстовых режима VGA – 80×43 и 80×50, но они использовались крайне редко. 40-колонные текстовые режимы не были популярны за пределами игр и других приложений, разработанных для совместимости с телевизионными мониторами, и использовались только в демонстрационных целях или со старым оборудованием. Размеры символов и графическое разрешение для расширенных текстовых режимов Super VGA, совместимых с VESA, зависят от производителя. Также на этих видеоадаптерах доступные цвета могут быть уменьшены с 16 до 8 при использовании второго пользовательского набора символов (что дает общий репертуар из 512 вместо обычных 256 различных графических символов, одновременно отображаемых на экране). Некоторые карты (например, S3) поддерживали пользовательские очень большие текстовые режимы, такие как 100×37 или даже 160×120. В системах Linux программа SVGATextMode часто используется с картами SVGA для настройки очень больших текстовых режимов консоли, например, для использования с мультиплексорами терминалов с разделенным экраном.

Современное использование

Многие современные программы с графическим интерфейсом имитируют стиль отображения программ в текстовом режиме, особенно когда важно сохранить вертикальное выравнивание текста, например, при компьютерном программировании. Существуют также программные компоненты для эмуляции текстового режима, такие как эмуляторы терминалов или консоли командной строки. В Microsoft Windows консоль Win32 обычно открывается в эмулированном графическом оконном режиме. Её можно переключить в полноэкранный, истинный текстовый режим и обратно, одновременно нажав клавиши Alt и Enter. Эта возможность больше не поддерживается дисплейными драйверами WDDM, представленными вместе с Windows Vista. Виртуальная консоль Linux работает в текстовом режиме. Большинство дистрибутивов Linux поддерживают несколько виртуальных консольных экранов, к которым можно получить доступ, одновременно нажав клавиши Ctrl, Alt и функциональную клавишу. Библиотека AAlib с открытым исходным кодом предоставляет программы и подпрограммы, специализирующиеся на преобразовании стандартных файлов изображений и видео, таких как PNG и WMV, и отображении их в виде набора символов ASCII. Это позволяет осуществлять базовый просмотр графических файлов в текстовом режиме, а также в текстовых веб-браузерах, таких как Lynx.