{"id":3671,"date":"2014-10-14T08:18:38","date_gmt":"2014-10-14T08:18:38","guid":{"rendered":"http:\/\/www.readytext.co.uk\/?p=3671"},"modified":"2014-10-14T08:22:34","modified_gmt":"2014-10-14T08:22:34","slug":"pdf-file-of-john-hobbys-original-metapost-code-version-0-64","status":"publish","type":"post","link":"https:\/\/www.readytext.co.uk\/?p=3671","title":{"rendered":"PDF file of John Hobby&#8217;s original MetaPost code (version 0.64)"},"content":{"rendered":"<p><H1>MetaPost MPlib<\/H1><\/p>\n<p>I&#8217;m currently implementing a project built around the <a href=\"https:\/\/foundry.supelec.fr\/projects\/metapost\/\">MetaPost library MPlib<\/a>. I managed to build MPlib as a  Windows .lib (library) file without &#8220;too much&#8221; difficulty&#8230; In order to understand the workings of the powerful, but complex, MPlib library I found it was very helpful to read parts of Hobby&#8217;s original code &ndash; mainly in relation to generating output from the low-level MPlib\/MetaPost edge structures. I also benefitted enormously from reading the C code of the Lua binding so a huge thank you to Taco Hoekwater for his utterly brilliant work on the MPlib\/lmplib source code. <\/p>\n<p>I tracked down the MetaPost 0.64 source code (the .web code) and ran TIE and WEAVE to generate the TeX documentation. After a few tiny fixes (for fonts I don&#8217;t have) I produced a PDF file which I thought others might find useful. You can download it <a href=\"http:\/\/readytext.co.uk\/files\/mp064.pdf\">here<\/a>. The MPlib API documentation (again by Taco) was also very helpful &ndash; documentation for version 1.800 of the MPlib API is available <a href=\"http:\/\/www.tug.org\/metapost\/src\/manual\/mplibapi.pdf\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MetaPost MPlib I&#8217;m currently implementing a project built around the MetaPost library MPlib. I managed to build MPlib as a Windows .lib (library) file without &#8220;too much&#8221; difficulty&#8230; In order to understand the workings of the powerful, but complex, MPlib library I found it was very helpful to read parts of Hobby&#8217;s original code &ndash; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-3671","post","type-post","status-publish","format-standard","hentry","category-metapostmplib"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3671"}],"version-history":[{"count":5,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3671\/revisions"}],"predecessor-version":[{"id":3677,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3671\/revisions\/3677"}],"wp:attachment":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}