На этом шаге мы рассмотрим работу со шрифтами.
У каждого окна есть шрифт, который используется при выводе текста. Этот шрифт может быть изменен вызовом предиката win_SetFont.
Пользователь может выбрать шрифт в стандартном диалоговом окне настройки шрифтов. Также шрифт можно создать, задав семейство, стиль и размер шрифта и вызвав предикат font_Create.
Шрифт - это бинарный домен VPI. Это значит, что он может быть сохранен в файле или внешней базе данных и использован позже. У нас нет возможности прямо проверить настройки шрифта, но при помощи предиката font_GetAttrs можно получить некоторую информацию.
Font=font_Create(FontFamily,StyleFlags,Size)
Этот предикат возвращает структуру шрифта. Возможные семейства шрифтов:
ff_System; ff_Fixed; ff_Times; ff_Helvetica.
Флаги стиля шрифта:
fs_Bold; fs_Italic; fs_UnderLine.
Параметр StyleFlags - это список, поэтому можно определить один или больше стилей. Пустой список создаст обычный шрифт.
Для установки нового шрифта в окне используется предикат win_SetFont/2.
win_SetFont(Window,Font)
Для изменения параметров шрифта используется предикат:
font_SetAttrs(Font,FontStyle,FontSize)
Размер текущего шрифта можно получить, вызвав предикат win_GetFontMetrics/4.
win_GetFontMetrics(Window,Leading,Ascent,Descent)
Здесь Window - это дескриптор окна, Leading - дополнительное расстояние, которое приложение добавляет между строками. Ascent - расстояние между базовой линией и верхним краем символа. Descent - расстояние между нижним краем символа и базовой линией.
Стиль текущего шрифта можно получить, вызвав предикат font_GetAttrs/3.
FontName=font_GetAttrs(Font,StyleFlags,FontSize)
Возвращаемые параметры: StyleFlags - список, FontSize - целочисленное значение, FontName - название шрифта.
Текущий шрифт окна можно получить, вызвав предикат:
Font=win GetFont(Window)
На следующем шаге мы рассмотрим работу с цветом.