Создание шрифтов и контроль за ними.СИНТАКСИС
Синтаксис
Описание
Описание шрифта
Метрические характеристики шрифтов
Параметры шрифтов
Особенности реализации на различных платформах
font параметр ?арг арг ...?
Возвращает информацию о фактических значениях параметров шрифта, выводимого на экран. Фактические параметры могут отличаться от запрошенных благодаря ограничениям, накладываемым платформами (например, доступность различных семейств шрифтов или различных кеглей). Аргумент шрифт представляет собой описатель шрифта ниже (см. "Описание шрифта"). Если аргумент окно опущен, то по умолчанию команда относится к главному окну. Если задан аргумент параметр, то команда возвращает значение указанного параметра. Если этот аргумент опущен, то возвращаемое значение представляет собой список всех атрибутов и их значений. Список возможных атрибутов приведен ниже (см. "Параметры шрифтов").font configure имяшрифта?параметр? ?значение параметр значение ...?
font families ?-displayof
окно?
Возвращает список всех поименованных на текущий момент шрифтов.
В качестве описателя шрифта в любой из приведенных выше команд принимаются следующие данные; те же самые форматы допустимы и в качестве значения параметра -font в описателе примитива. [1] имяшрифта Имя поименованного шрифта, созданного командой font create. Использование поименованного шрифта не может привести к ошибке вне зависимости от того, насколько потенциально ошибочны или бессмысленны значения параметров этого шрифта. Если вывод символов в поименованном шрифте невозможен, то для их вывода используется автоматически подбираемый шрифт с близкими значениями параметров.
[2] систшрифт
Имя (зависящее от используемой платформы) шрифта,
интерпретируемого графическим сервером. Сюда входит также (под X)
шрифт XLFD (см. [4]), в котором используется единственный символ
"*",
предназначенный для забивки нескольких полей в середине имени.
Список системных шрифтов приведен в части текста, описывающей
особенности данной платформы.
[3] семейство ?размер? ?стиль? ?стиль ...?
Список, первым элементом которого является требуемое семейство
шрифтов, а вторым, необязательным, элементом — требуемый размер.
Параметр размер интерпретируется по тем же правилам, что и параметр
-size (см. "Параметры шрифтов"). Все остальные необязательные
аргументы, следующие за параметром размер, представляют собой
стили шрифтов. Они могут иметь следующие значения:
normal
bold
roman
italic
underline
overstrike
[4] X-шрифт имена (XLFD)
Имя шрифта для Unix-машин, представленное в виде
-заливка-семейство-шрифт-наклон-устширина-добстиль-пиксель-точка-
разрешx-разрешy-промежуток-ширина-наборсимволов-кодирование
-foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-
resy-spacing-width-charset-encoding.
Поля, содержимое которых пользователю безразлично, можно
пропустить, заменив символом "*". Каждому пропущенному полю должен
соответствовать ровно один символ "*", а символ “*” в конце XLFD
приводит к пропуску всех оставшихся полей; кратчайшая форма XLFD
имеет вид просто "*", что означает, что значения всех полей берутся по
умолчанию. Всем пропущенным полям присваиваются значения по
умолчанию. В целях совместимости XLFD всегда выбирает шрифт
заданного размера в пикселах (а не в точках). Несмотря на некоторую
некорректность выбранного подхода, все приложения, использующие
XLFD, предполагают, что “точка” в действительности совпадает с одним
пикселем, и при использовании корректного размера шрифта могут
привести к неправильному выводу шрифта (обычно с более крупными
символами).
[5] параметр значение ? параметр значение ...?
Правильно сформированный список пар параметр-значение, задающих
атрибуты шрифта, в том же формате, что и при определении
поименованного шрифта (см. "Параметры шрифтов").
При
использовании описателя шрифта система пытается проанализировать
описание в соответствии с приведенными выше пятью правилами в указанном
порядке. В случаях [1] и [2] имя шрифта должно соответствовать существующему
поименованному шрифту или системному шрифту. Случаи [3], [4] и [5]
принимаются на всех платформах и в них будет использоваться шрифт, по
параметрам ближайший к требуемому. В некоторых ситуациях оказывается
невозможно найти близкий шрифт (например, имя семейства оказалось
испорченным); в этом случае выбирается один из системно-зависимых шрифтов
по
умолчанию. Если описатель шрифта не подходит ни под один из приведенных
выше образцов, то возникает ошибка.
МЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ ШРИФТОВ
отдельных его символов. В нижеследующих определениях “основа шрифта” — это
горизонтальная прямая, на которой располагается нижняя часть большинства букв, некоторые буквы, например, “g”, опускаются ниже основы.
-ascent
-descent
Наибольшая протяженность в пикселях буквы шрифта под основой плюс
дополнительное пустое пространство, добавленное разработчиком
шрифта.
-linespace
Возвращает
расстояние между строками текста, использующими один и
тот же шрифт, необходимое для того, чтобы символы верхней строки не
перекрывались с символами нижней. Обычно это сумма зазора под
верхней и над нижней строкой.
-fixed
Возвращает булевское значение, равное `1' для шрифта постоянной
ширины, в котором ширина всех обычных символов одинакова, и равное
`0’ для пропорционального шрифта, разные буквы которого имеют
различную ширину. Ширина управляющих символов, символов
табуляции и других непечатаемых символов при вычислении этого
значения не учитывается.
Следующие
параметры поддерживаются на всех платформах и используются для
конструирования поименованного шрифта или при задании шрифта с помощью
стиля [5] выше:
-family имя
Имя семейства шрифтов (нечувствительное к регистру). Tk обязательно
поддерживает семейства с именами Courier (моноширинный шрифт
“пишущей машинки”), Times (“газетный” шрифт с засечками) и Helvetica
(рубленый “европейский” шрифт). При использовании одного из этих
семейств шрифтов оно автоматически заменяется наиболее подходящим
“родным” шрифтом. Имя семейства также может быть именем одного из
родных шрифтов, зависящих от платформы; в этом случае семейство
будет работать на своей платформе, как положено, однако при переходе
к другой платформе могут возникнуть неприятности. Если имя семейства
не задано или не опознано, то будет выбран шрифт по умолчанию для
данной платформы.
-size размер
Требуемый кегль (размер) шрифта. Если значением аргумента является
положительное число, то оно интерпретируется как размер символов в
точках. Если значение отрицательно, то его абсолютная величина
интерпретируется как размер в пикселах. Если шрифт указанного кегля
нельзя вывести, то берется ближайший доступный размер. Если размер
не задан или его значение равно нулю, то будет выбран размер по
умолчанию для данной платформы.
Как правило, размер шрифта следует указывать в точках; тогда
приложение будет иметь один и тот же размер на экране даже на
мониторах различного разрешения или при переносе скриптов на другие
платформы. Однако использование пикселей оправдано, например, в
ситуациях, когда строчка текста должна соответствовать по длине
двуцветному изображению фиксированного размера. Коэффициент
перехода от точек к пикселам и обратно устанавливается при запуске
приложения на основе параметров используемого монитора, однако его
можно изменить при помощи команды Tk scaling.
-weight вес
Условная толщина символов в шрифте. Значение normal задает
шрифт
нормальной толщины, bold — жирный шрифт. Выбирается доступная
толщина, ближайшая к заданной. По умолчанию параметр имеет
значение normal.
-slant наклон
Величина, на которую символы шрифта отклоняются по вертикали.
Допустимы значения roman и italic. Шрифт с наклоном roman
— это
обычный прямой шрифт, а символы шрифта с наклоном italic
отклоняются от вертикали на несколько градусов. Выбирается доступный
наклон, ближайший к заданному. По умолчанию параметр имеет
значение roman.
-underline булевское
Значением параметра является булевский флажок, указывающий,
следует ли подчеркивать символы шрифта. По умолчанию параметр
имеет значение ложь.
-overstrike булевское
Значением параметра является булевский флажок, указывающий,
следует ли перечеркивать символы шрифта (горизонтальной прямой
посреди символа). По умолчанию параметр имеет значение ложь.
ОСОБЕННОСТИ РЕАЛИЗАЦИИ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ
Различные
платформы поддерживают следующие поименованные системные
шрифты:
X Windows:
Все допустимые имена X шрифтов, включая перечисляемые
командой xlsfonts(1).
MS Windows:
system
ansi
device
systemfixed
ansifixed
oemfixed
Макинтош:
system application
См. также options .