{"id":3115,"date":"2013-08-29T03:00:49","date_gmt":"2013-08-29T03:00:49","guid":{"rendered":"http:\/\/www.readytext.co.uk\/?p=3115"},"modified":"2013-11-28T07:44:25","modified_gmt":"2013-11-28T07:44:25","slug":"building-luatex-using-microsoft-visual-studio-why","status":"publish","type":"post","link":"https:\/\/www.readytext.co.uk\/?p=3115","title":{"rendered":"Building LuaTeX using Microsoft Visual Studio&#8230; Why?"},"content":{"rendered":"<p>Having successfully built Knuthian TeX from WEB source code (using Visual Studio), and a couple of other TeX engines, I finally feel sufficiently &#8220;brave&#8221; (or perhaps masochistic&#8230;) to attempt &#8220;the big one&#8221;: LuaTeX. You may well ask &#8220;What&#8217;s the point when you have MinGW\/MSYS to build LuaTeX on Windows for you, and so easily?&#8221; Good question! Anyone who has looked at the C code produced by the Web2C process will understand that it&#8217;s practically impossible to single-step through it with a debugger and understand what&#8217;s going on: it&#8217;s machine-generated C code for compilers, not humans! Having built <a href=\"http:\/\/www.metatex.org\/cxtex\/\">CXTeX<\/a> (which dates from 2004), it&#8217;s a joy to step through CXTeX&#8217;s clean C code in an attempt to understand the innards of TeX in more detail. However, CXTeX is nearly 10 years old so it would be nice to have a modern TeX-based engine to explore, hence building LuaTeX, with its CWEB-based C code base. Well, some 6 hours in I&#8217;ve managed to build about half the components as Windows .lib files &ndash; including Cairo, Kpathsea, FontForge, Poppler and a few others. I can&#8217;t say it&#8217;s been easy but it&#8217;s an interesting challenge to occupy the evenings over the next few days. No doubt I&#8217;m in for some interesting challenges as I try to assemble the parts into a working LuaTeX executable. Can&#8217;t wait to have LuaTeX running in Visual Studio&#8217;s debugging IDE!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Having successfully built Knuthian TeX from WEB source code (using Visual Studio), and a couple of other TeX engines, I finally feel sufficiently &#8220;brave&#8221; (or perhaps masochistic&#8230;) to attempt &#8220;the big one&#8221;: LuaTeX. You may well ask &#8220;What&#8217;s the point when you have MinGW\/MSYS to build LuaTeX on Windows for you, and so easily?&#8221; Good [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-3115","post","type-post","status-publish","format-standard","hentry","category-pdf-technical"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3115","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=3115"}],"version-history":[{"count":8,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3115\/revisions"}],"predecessor-version":[{"id":3208,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3115\/revisions\/3208"}],"wp:attachment":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}