*[[LuaJITTeX:http://foundry.supelec.fr/gf/project/luajittex/]] [#y53144a3]

LuaJITTeX は [[LuaTeX]] で使用されている [[Lua:http://www.lua.org/]] を [[LuaJIT:http://luajit.org/]] に置き換えたものです.~
[2012/12/30] 以降の W32TeX に含まれています.~
[[LuaTeX-ja]] も使用可能です.~

-[[LuaJITTeX:http://foundry.supelec.fr/gf/project/luajittex/]]
-http://standalone.contextgarden.net/current/bin/luajittex/

*使い方 [#vad7d54e]

LuaJITTeX は [[FFI library:http://luajit.org/ext_ffi.html]] を使って簡単に Windows API を呼び出すことが可能です.

----
 \documentclass{article}
 \begin{document}
 \directlua{
   local ffi = require("ffi")
   ffi.cdef[[
   int MessageBoxA(void* window, const char* text, const char* caption, int type);
   ]]
   ffi.C.MessageBoxA(nil, "Happy LuaJITLaTeXing!", "LuaJITTeX", 0)
 }
 \end{document}
----

LuaJITLaTeX を実行すると以下のような MessageBox が表示されます.

----
&color(Black,#ACDEFE){%%% LuaJITTeX         &color(Black,#CC3333){[  &color(White){''✕''};  ]}; %%%};&br;

   Happy LuaJITLaTeXing!

            &color(Black,#EEEEEE){[   OK   ]};
----

コマンド プロンプト (標準出力) に出力したい場合は printf を使用します.

----
 \documentclass{article}
 \usepackage{luacode}
 \begin{document}
 \begin{luacode}
   local ffi = require("ffi")
   ffi.cdef[[
   int printf(const char* format, ...);
   ]]
   local msvcrt = ffi.load(ffi.os == "Windows" and "msvcrt")
   msvcrt.printf("%s %s", "Happy", "LuaJITLaTeXing!")
 \end{luacode}
 \end{document}
----

*関連リンク [#s999db35]
-[[QA: luajittex:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=911]]