WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
METAFONT
Тип Язык программирования
Разработчик Дональд Кнут
Операционная система Кроссплатформенное ПО
Первый выпуск 1979
Последняя версия 2.718281 (март 2008)
Лицензия Пермиссивная
Сайт ctan.org
 METAFONT на Викискладе

METAFONT — язык программирования, используемый для разработки векторных шрифтов. Также это название интерпретатора, выполняющего код METAFONT.

Этот язык программирования был разработан Дональдом Кнутом как дополнение к его типографской системе TeX. Одной из особенностей METAFONT является то, что все очертания символов определяются с помощью развитых геометрических описаний, например, возможно определить какую-либо точку как пересечение отрезка и кривой Безье.

Кнут начал разработку METAFONT в 1977 и выпустил первую версию в 1979. Из-за недостатков в оригинальном языке METAFONT Кнут полностью переработал METAFONT и выпустил исправленную версию в 1984, которая используется по сей день.

METAFONT можно использовать для построения не только символов шрифтов, но и любых других графических объектов. Однако для сложных изображений предпочтительней система MetaPost, использующая в своей работе PostScript.

METAFONT чаще всего запускается без непосредственного участия пользователя. Файлы DVI содержат лишь ссылки на соответствующие гарнитуры шрифтов, а не сами растровые или векторные шрифты, что возможно, например, в PostScript. Следовательно, когда требуется просмотреть, распечатать или сконвертировать файл DVI, необходим доступ непосредственно к изображениям символов в гарнитурах. Большинство дистрибутивов TeX сконфигурированы таким образом, что недоступные шрифты с необходимым разрешением автоматически генерируются вызовами METAFONT. Гарнитуры затем сохраняются для последующего использования.

Также METAFONT может работать в интерактивном режиме и включает команды для отображения на экране получаемых изображений. Кнут говорит, что сейчас использует METAFONT как своего рода калькулятор для решения сложных выражений, а для математических иллюстраций он пользуется MetaPost.

Пример

mode_setup;

% Define a beanlike shape for the character B
beginchar("B",11pt#,11pt#,0);
  % Setup coordinates as an equation system
  y1=y2=y3=0;
  y4=y5=y6=h;
  x1=x4=0;
  x2=x5=w;
  x3=x6=2*w;

  % Define pen
  pickup pencircle xscaled 0.2w yscaled 0.04w rotated 45;

  % Draw the character curve
  draw z1..z3..z6{z2-z6}..z5..{z4-z2}z4..cycle;
endchar;

end

Литература

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии