Кіріспе
MetaPost – бұл бағдарламалау тілі және MetaPost бағдарламалау тілінің интерпретаторы. Екеуі де Дональд Кнуттың Metafont тілі мен интерпретаторынан туындаған. MetaPost геометриялық/алгебралық сипаттамадан векторлық графикалық диаграммаларды жасайды. Тіл Metafont-тың сызықтарды, қисықтарды, нүктелерді және геометриялық түрлендірулерді манипуляциялауға арналған декларативтік синтаксисін бөліседі. Дегенмен, Metafont қаріптерді жасауға арналған, бейне файлдары түрінде (gf форматында) және қаріп метрикалық файлдарымен (tfm форматында) байланыстырылған, ал MetaPost EPS, SVG немесе PNG файлдарын шығарады. Metafont-тың нәтижесі растрлік форматтағы белгілі бір ажыратымдылықтағы қаріптерден тұрады, ал MetaPost-тың нәтижесі векторлық графика (сызықтар, Безье қисықтары) болып табылады. Metafont шығысы монохромды, ал MetaPost RGB немесе CMYK түстерін пайдаланады. MetaPost тілі диаграммаларда мәтіндік жазбаларды қосуға мүмкіндік береді, олар белгілі бір қаріптен алынған тізбектер немесе TeX арқылы жинақталатын кез келген нәрсе болуы мүмкін. 1.8 нұсқасынан бастап, Metapost 64 биттік қалқыма нүктелі арифметиканы қолдайды (әдепкісі: 32 биттік тұрақты нүктелі арифметика). MetaPost-тың көптеген шектеулері Metafont-тың ерекшеліктерінен туындайды. Мысалы, MetaPost PostScript-тің барлық мүмкіндіктерін қолдамайды. Атап айтқанда, жолдарда тек бір сегмент болуы мүмкін (соның салдарынан аймақтар қарапайым түрде байланысты), ал аймақтар тек біртекті түстермен толтырылуы мүмкін. PostScript 1 плиткалық үлгілерді, ал PostScript 3 Гурауд көлеңкелеуін қолдайды.
MetaPost refers to both a programming language and the interpreter of the MetaPost programming language. Both are derived from Donald Knuth's Metafont language and interpreter. MetaPost produces vector graphic diagrams from a geometric/algebraic description. The language shares Metafont's declarative syntax for manipulating lines, curves, points and geometric transformations. However,
Metafont is set up to produce fonts, in the form of image files (in gf format) with associated font metric files (in tfm format), whereas MetaPost produces EPS, SVG, or PNG files
The output of Metafont consists of the fonts at a fixed resolution in a raster based format, whereas MetaPost's output is vector based graphics (lines, Bézier curves)
Metafont output is monochrome, whereas MetaPost uses RGB or CMYK colors. The MetaPost language can include text labels on the diagrams, either strings from a specified font, or anything else that can be typeset with TeX. Starting with version 1.8, Metapost allows floating point arithmetic with 64 bits (default: 32 bit fixed point arithmetic)
Many of the limitations of MetaPost derive from features of Metafont. For instance, MetaPost does not support all features of PostScript. Most notably, paths can have only one segment (so that regions are simply connected), and regions can be filled only with uniform colours. PostScript level 1 supports tiled patterns and PostScript 3 supports Gouraud shading.
Қолжетімділігі мен қолданылуы
MetaPost, TeX және Metafont жүйесінің көптеген таратуларымен бірге келеді, мысалы, ол MiKTeX және TeX Live таратуларында қамтылған. Metapost арқылы жасалған инкапсуляцияланған постскрипт стандартты графикалық қосу командалары арқылы LaTeX, ConTeXt және TeX құжаттарына енгізілуі мүмкін. Инкапсуляцияланған постскрипт форматы PDFTeX қозғалтқышымен де қолданылуы мүмкін, соның арқасында тікелей PDF алуға болады. Бұл мүмкіндік ConTeXt және LaTeX графикалық пакеттерінде іске асырылған, ал қарапайым TeX үшін supp pdf.tex макрос файлы арқылы қолдануға болады. ConTeXt және LuaTeX кіріс файлдарында MetaPost кодын қосуды қолдайды. MetaPost кодын LaTeX-ке енгізу LaTeX пакеттерін пайдалану арқылы да мүмкін, мысалы gmp немесе mpgraphics.