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
Файл:Metafont-example-output.png
Литература[править]
- Дональд Кнут Все про TEX = The TEXBook. — М.: «Вильямс», 2003. — С. 560. — ISBN 5-8459-0382-3
- Дональд Кнут Все про METAFONT = The METAFONTbook. — М.: «Вильямс», 2003. — С. 384. — ISBN 5-8459-0442-0
Ссылки[править]
- http://mirror.ctan.org/systems/knuth/dist/mf/mfbook.tex — книга Дональда Кнута 'Всё про METAFONT' (METAFONTbook) в формате TeX (англ.).
- The METAFONT Tutorial: an online guide to using METAFONT.
| ΤΕΧ | |
|---|---|
| Макропакеты | AMS-LaTeX • ArabTeX • ConTeXt • FarsiTeX • Texinfo • • MusiXTeX • Plain TeX • PSTricks • TIPA • XyMTeX |
| Альтернативные движки ΤΕΧ | eTeX • luaTeX • pdfTeX • XeTeX • New Typesetting System • Omega |
| Дистрибутивы | TeX Live • teTeX • fpTeX • MiKTeX • proTeXt • MacTeX • gwTeX • OzTeX • Latexian • PasTeX |
| Сообщество | CTAN • TUGboat • The PracTeX Journal • Deutschsprachige Anwendervereinigung TeX |
| Разное | DVI • Computer Modern • Metafont • MetaPost • WEB • CWEB • TeX Directory Structure • TeX font metric |
| Свободная типографика | |
|---|---|
| Гарнитуры операционных систем | GNU FreeFont • Ghostscript fonts • GNU Unifont • Droid • Roboto • Liberation • Ubuntu |
| Другие гарнитуры | Allerta • Asana-Math • Bitstream Vera • Caslon Roman • Chandas • Charis SIL • Computer Modern • DejaVu • Doulos SIL • Fixedsys Excelsior • Gentium • Inconsolata • Junicode • Kochi • Linux Libertine • M+ • Nimbus Mono • Nimbus Roman • Nimbus Sans • PT • Tiresias • Ubuntu-Title • Terminus |
| Программное обеспечение | FontForge • FreeType • METAFONT • MetaPost • METATYPE1 • Pango • TeX |
| Лицензии | OFL • Ubuntu Font Licence |
| Группы и люди | Дональд Кнут • Open Font Library |
| Свободные гарнитуры Unicode Список свободных гарнитур • Список свободных гарнитур Unicode |
|
| Это заготовка статьи о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
