Interested Article - METAFONT
- 2021-06-27
- 1
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
Литература
- Дональд Кнут . Все про TEX = The TEXBook. — М. : , 2003. — С. 560. — ISBN 5-8459-0382-3 .
- Дональд Кнут . = The METAFONTbook. — М. : , 2003. — С. . — ISBN 5-8459-0442-0 .
- Graham Douglas. Typeset the source code documentation for MetaFont .
Примечания
- . ru.overleaf.com . Дата обращения: 2 августа 2022.
Ссылки
- — книга Дональда Кнута 'Всё про METAFONT' (METAFONTbook) в формате TeX ( англ. ).
- 2021-06-27
- 1