projman/hlp/ru/tk/font.html
2018-02-05 17:23:37 +03:00

360 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
<head>
<title>font</title>
</head>
<body>
<h1>font</h1>
<p>Создание шрифтов и контроль за ними.</p>
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
<pre>
<strong>font</strong> <em>параметр арг арг ...</em>
</pre>
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
<p>Команда <strong>font</strong> обеспечивает работу со шрифтами:
определение поименованных шрифтов и запрос фактических
параметров шрифтов. У команды несколько различных форм, которые
задаются первым аргументом. В настоящее время поддерживаются
следующие формы команды:</p>
<dl>
<dt><strong>font actual</strong> <em>шрифт</em>
<strong>-displayof</strong> <em>окно параметр</em></dt>
<dd>Возвращает информацию о фактических значениях параметров
<em>шрифта</em>, выводимого на экран. Фактические параметры
могут отличаться от запрошенных благодаря ограничениям,
накладываемым платформами (например, доступность различных
семейств шрифтов или различных кеглей). Аргумент
<em>шрифт</em> представляет собой описатель шрифта ниже
(см. &quot;<a href=#ОПИСАНИЕРИФТА>Описание
шрифта</a>&quot;). Если аргумент <em>окно</em> опущен, то по
умолчанию команда относится к главному окну. Если задан
аргумент <em>параметр</em>, то команда возвращает значение
указанного параметра. Если этот аргумент опущен, то
возвращаемое значение представляет собой список всех атрибутов
и их значений. Список возможных атрибутов приведен ниже
(см. &quot;<a href=АРАМЕТРЫ_ШРИФТОВ>Параметры
шрифтов</a>&quot;).</dd>
<dt><strong>font configure</strong> <em>имяшрифта параметр
значение параметр значение ...</em></dt>
<dd>Запрашивает значения параметров конфигурации примитива или
изменяет их. Если <em>параметр</em> не указан, то возвращает
список, содержащий значения всех параметров шрифта <em>имя
шрифта</em> . Если <em>параметр</em> задан, а его новое
значение нет, то команда возвращает текущее значение
указанного <em>параметра</em> . Если заданы одна или несколько
пар параметр-значение, то указанным параметрам шрифта
присваиваются новые значения, а содержимое всех примитивов,
использующих данный шрифт меняется в соответствии с новыми
значениями параметров. Список возможных атрибутов приведен
ниже (см. &quot;<a href=АРАМЕТРЫ_ШРИФТОВ>Параметры
шрифтов</a>&quot;).</dd>
<dt><strong>font create</strong><em>имяшрифта параметр значение
...</em></dt>
<dd>Создает новый поименованный шрифт и возвращает его имя.
Аргумент <em>имяшрифта</em> задает имя шрифта; если этот
аргумент опущен, то Tk генерирует новое имя вида
<strong>font</strong><em>x</em><strong>,</strong> где x целое
число. Число пар параметр-значение может быть произвольным,
они задают значения соответствующих параметров нового
поименованного шрифта. Список возможных атрибутов приведен
ниже (см. &quot;<a href=АРАМЕТРЫ_ШРИФТОВ>Параметры
шрифтов</a>&quot;).</dd>
<dt><strong>font delete</strong> <em>имя_шрифта имя_шрифта ...</em></dt>
<dd>Удаляет указанные поименованные шрифты. В случае, если
удаляемый шрифт используется в одном из примитивов,
фактическое удаление не происходит пока не будет вычеркнуто
последнее вхождение шрифта в примитив. Если удаленный
поименованный шрифт впоследствии создается вновь повторным
вызовом команды <strong>font create</strong>, то в примитивах
будет использоваться новый поименованный шрифт с новыми
значениями параметров.</dd>
<dt><strong>font families -displayof</strong> <em>окно</em></dt>
<dd>Возвращает список имен всех семейств шрифтов (без различения
верхнего и нижнего регистров), существующих на дисплее
заданного окна. Если аргумент окно опущен, то его значением по
умолчанию является главное окно.</dd>
<dt><strong>font measure</strong> <em>шрифт</em>
<strong>-displayof</strong> <em>окно текст</em></dt>
<dd>Подсчитывает протяженность текстовой строки при выводе ее на
экран в данном шрифте. Аргумент <em>шрифт</em> задает
описатель текста (см. &quot;<a
href=#ОПИСАНИЕРИФТА>Описание шрифта</a>&quot;). Возвращает
общую ширину текста в пикселах без учета сильно искаженных
символов (как, например, &quot; f &quot; курсивного). Если в
строке есть символы табуляции или перевода строки, то они не
влияют на результат подсчета.</dd>
<dt><strong>font metrics</strong> <em>шрифт</em>
<strong>-displayof</strong> <em>окно параметр</em></dt>
<dd>Возвращает информацию о метрических характеристиках
<em>шрифта</em> при его выводе на экран. Аргумент шрифт задает
описатель шрифта, (см. &quot;<a href=
#ОПИСАНИЕРИФТА>Описание шрифта</a>&quot;). Если аргумент
окно опущен, то его значением по умолчанию является главное
окно. Если задан аргумент параметр, то команда возвращает
значение указанной метрической характеристики; если этот
аргумент опущен, то возвращается список значений всех
метрических характеристик шрифта. Список метрических
характеристик приведен ниже (см. <a
href=#МЕТРИЧЕСКИЕ_ХАРАКТЕРИСТИКИ_ШРИФТОВ>Метрические
характеристики шрифтов</a>&quot;).</dd>
<dt><strong>font names</strong></dt>
<dd>Возвращает список всех поименованных на текущий момент
шрифтов.</dd>
</dl>
<h2><a name=ОПИСАНИЕРИФТА></a>ОПИСАНИЕ ШРИФТА</h2>
<p>В качестве описателя шрифта в любой из приведенных выше команд
принимаются следующие данные; те же самые форматы допустимы и в
качестве значения параметра <strong>-font</strong> в описателе
примитива.</p>
<dl>
<dt>[1] <em>имя_шрифта</em></dt>
<dd>Имя поименованного шрифта, созданного командой <strong>font
create</strong>. Использование поименованного шрифта не
может привести к ошибке вне зависимости от того, насколько
потенциально ошибочны или бессмысленны значения параметров
этого шрифта. Если вывод символов в поименованном шрифте
невозможен, то для их вывода используется автоматически
подбираемый шрифт с близкими значениями параметров.</dd>
<dt>[2] <em>сист_шрифт</em></dt>
<dd>Имя (зависящее от используемой платформы) шрифта,
интерпретируемого графическим сервером. Сюда входит также (под
X) шрифт<strong>XLFD</strong> (см. [4]), в котором
используется единственный символ предназначенный для забивки
нескольких полей в середине имени. Список системных шрифтов
приведен в части текста, описывающей особенности данной
платформы.</dd>
<dt>[3] семейство <em>размер стиль стиль ...</em></dt>
<dd>Список, первым элементом которого является требуемое
семейство шрифтов, а вторым, необязательным, элементом
требуемый размер. Параметр размер интерпретируется по тем же
правилам, что и параметр <strong>-size</strong> (см. &quot;<a
href=АРАМЕТРЫ_ШРИФТОВ>Параметры шрифтов</A>&quot;). Все
остальные необязательные аргументы, следующие за параметром
размер, представляют собой стили шрифтов. Они могут иметь
следующие значения: <strong>normal</strong>,
<strong>bold</strong>, <strong>roman</strong>,
<strong>italic</strong>, <strong>underline</strong>,
<strong>overstrike</strong>.</dd>
<dt>[4] X-шрифт имена (XLFD)</dt>
<dd><p>Имя шрифта для Unix-машин, представленное в виде:</p>
<p>-заливка-семейство-шрифт-наклон-устширина-добстиль-пиксель-точка-разрешx-разрешy-промежуток-ширина-наборсимволов-кодирование</p>
<p>-foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-resy-spacing-width-charset-encoding.</p>
<p>Поля, содержимое которых пользователю безразлично, можно
пропустить, заменив символом &quot; * &quot;. Каждому
пропущенному полю должен соответствовать ровно один символ
&quot; * &quot;, а символ &quot; * &quot; в конце XLFD
приводит к пропуску всех оставшихся полей; кратчайшая форма
имеет вид просто &quot; * &quot;, что означает, что значения
всех полей берутся по умолчанию. Всем пропущенным полям
присваиваются значения по умолчанию. В целях совместимости
XLFD всегда выбирает шрифт заданного размера в пикселах (а
не в точках). Несмотря на некоторую некорректность
выбранного подхода, все приложения, использующие XLFD,
предполагают, что &quot;точка&quot; в действительности
совпадает с одним пикселем, и при использовании корректного
размера шрифта могут привести к неправильному выводу шрифта
(обычно с более крупными символами).</p>
</dd>
<dt>[5] <em>параметр значение параметр значение ...</em></dt>
<dd>Правильно сформированный список пар параметр-значение,
задающих атрибуты шрифта, в том же формате, что и при
определении поименованного шрифта (см. &quot;<a
href=АРАМЕТРЫ_ШРИФТОВ>Параметры шрифтов</a>&quot;). При
использовании описателя шрифта система пытается
проанализировать описание в соответствии с приведенными выше
пятью правилами в указанном порядке. В случаях [1] и [2] имя
шрифта должно соответствовать существующему поименованному
шрифту или системному шрифту. Случаи [3], [4] и [5]
принимаются на всех платформах и в них будет использоваться
шрифт, по параметрам ближайший к требуемому. В некоторых
ситуациях оказывается невозможно найти близкий шрифт
(например, имя семейства оказалось испорченным); в этом случае
выбирается один из системно-зависимых шрифтов по
умолчанию. Если описатель шрифта не подходит ни под один из
приведенных выше образцов, то возникает ошибка.</dd>
</dl>
<h2><a name=МЕТРИЧЕСКИЕ_ХАРАКТЕРИСТИКИ_ШРИФТОВ></a>МЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ ШРИФТОВ</h2>
<p>Команда <strong>font metrics</strong> использует следующие
параметры для запроса данных, определяемых при создании
шрифта. Это характеристики шрифта в целом, а не отдельных его
символов. В нижеследующих определениях &quot;основа шрифта&quot;
это горизонтальная прямая, на которой располагается нижняя часть
большинства букв, некоторые буквы, например, &quot; g &quot;
опускаются ниже основы.</p>
<dl>
<dt>-ascent</dt>
<dd>Высота в пикселах самой высокой буквы шрифта над основой
плюс дополнительное пустое пространство, добавленное
разработчиком шрифта</dd>
<dt>-descent</dt>
<dd>Наибольшая протяженность в пикселях буквы шрифта под основой
плюс дополнительное пустое пространство, добавленное
разработчиком шрифта.</dd>
<dt>-linespace</dt>
<dd>Возвращает расстояние между строками текста, использующими
один и тот же шрифт, необходимое для того, чтобы символы
верхней строки не перекрывались с символами нижней. Обычно это
сумма зазора под верхней и над нижней строкой.</dd>
<dt>-fixed</dt>
<dd>Возвращает булевское значение, равное &quot; 1 &quot; для
шрифта постоянной ширины, в котором ширина всех обычных
символов одинакова, и равное &quot; 0 &quot; для
пропорционального шрифта, разные буквы которого имеют
различную ширину. Ширина управляющих символов, символов
табуляции и других непечатаемых символов при вычислении этого
значения не учитывается.</dd>
</dl>
<h2><a name=ПАРАМЕТРЫ_ШРИФТОВ></a>ПАРАМЕТРЫ ШРИФТОВ</h2>
<p>Следующие параметры поддерживаются на всех платформах и
используются для конструирования поименованного шрифта или при
задании шрифта с помощью стиля [5] выше:</p>
<dl>
<dt><strong>-family</strong> <em>имя</em></dt>
<dd>Имя семейства шрифтов (нечувствительное к регистру). Tk
обязательно поддерживает семейства с именами
<strong>Courier</strong> (моноширинный шрифт &quot;пишущей
машинки&quot;), <strong>Times</strong> (&quot;газетный&quot;
шрифт с засечками) и <strong>Helvetica</strong> (рубленый
&quot;европейский&quot; шрифт). При использовании одного из
этих семейств шрифтов оно автоматически заменяется наиболее
подходящим &quot;родным&quot; шрифтом. Имя семейства также
может быть именем одного из &quot;родных&quot; шрифтов,
зависящих от платформы; в этом случае семейство будет работать
на своей платформе, как положено, однако при переходе к другой
платформе могут возникнуть неприятности. Если имя семейства не
задано или не опознано, то будет выбран шрифт по умолчанию для
данной платформы.</dd>
<dt><strong>-size</strong> <em>размер</em></dt>
<dd>Требуемый кегль (размер) шрифта. Если значением аргумента
является положительное число, то оно интерпретируется как
размер символов в точках. Если значение отрицательно, то его
абсолютная величина интерпретируется как размер в
пикселах. Если шрифт указанного кегля нельзя вывести, то
берется ближайший доступный размер. Если размер не задан или
его значение равно нулю, то будет выбран размер по умолчанию
для данной платформы. Как правило, размер шрифта следует
указывать в точках; тогда приложение будет иметь один и тот же
размер на экране даже на мониторах различного разрешения или
при переносе скриптов на другие платформы. Однако использование
пикселей оправдано, например, в ситуациях, когда строчка
текста должна соответствовать по длине двуцветному изображению
фиксированного размера. Коэффициент перехода от точек к
пикселам и обратно устанавливается при запуске приложения на
основе параметров используемого монитора, однако его можно
изменить при помощи команды <strong>Tk scaling</strong>.</dd>
<dt><strong>-weight</strong> <em>вес</em></dt>
<dd>Условная толщина символов в шрифте. Значение
<strong>normal</strong> задает шрифт нормальной толщины,
<strong>bold жирный шрифт</strong>. Выбирается доступная
толщина, ближайшая к заданной. По умолчанию параметр имеет
значение <strong>normal</strong>.</dd>
<dt><strong>-slant</strong> <em>наклон</em></dt>
<dd>Величина, на которую символы шрифта отклоняются по
вертикали. Допустимы значения <strong>roman</strong> и
<strong>italic</strong>. Шрифт с наклоном
<strong>roman</strong> это обычный прямой шрифт, а символы
шрифта с наклоном <strong>italic</strong> отклоняются от
вертикали на несколько градусов. Выбирается доступный наклон,
ближайший к заданному. По умолчанию параметр имеет значение
<strong>roman</strong>.</dd>
<dt><strong>-underline</strong> <em>булевское</em></dt>
<dd>Значением параметра является булевский флажок, указывающий,
следует ли подчеркивать символы шрифта. По умолчанию параметр
имеет значение ложь.</dd>
<dt><strong>-overstrike</strong> <em>булевское</em></dt>
<dd>Значением параметра является булевский флажок, указывающий,
следует ли перечеркивать символы шрифта (горизонтальной прямой
посреди символа). По умолчанию параметр имеет значение
ложь.</dd>
</dl>
<h2><a name=ОСОБЕННОСТИ_РЕАЛИЗАЦИИ_НА_РАЗЛИЧНЫХ_ПЛАТФОРМАХ></a>ОСОБЕННОСТИ РЕАЛИЗАЦИИ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ</h2>
<p>Различные платформы поддерживают следующие поименованные
системные шрифты:</p>
<dl>
<dt>X-Windows:</dt>
<dd>Все допустимые имена X шрифтов, включая перечисляемые
выводятся командой <strong>xlsfonts(1)</strong>.</dd>
<dt>MS Windows:</dt>
<dd>system, ansi, device, systemfixed, ansifixed, oemfixed</dd>
<dt>Apple Macintosh</dt>
<dd>system, application</dd>
</dl>
<p>См. также <a
href=options.html><strong>options</strong></a>.</p>
</body>
</html>