/* luatex-api.h Copyright 2006-2012 Taco Hoekwater This file is part of LuaTeX. LuaTeX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. LuaTeX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with LuaTeX; if not, see . */ #ifndef LUATEX_API_H # define LUATEX_API_H 1 /* output modes, a bad place but this compiles at least */ typedef enum { OMODE_NONE, OMODE_DVI, OMODE_PDF } output_mode ; # define MAX_OMODE 2 /* largest index in enum output_mode */ extern int output_mode_used; extern int output_mode_option; extern int output_mode_value; extern int draft_mode_option; extern int draft_mode_value; /* get_o_mode translates from output_mode to output_mode_used */ /* fix_o_mode freezes output_mode as soon as anything goes through the backend */ /* extern output_mode get_o_mode(void); extern void fix_o_mode(void); */ /* till here */ # include # include # include # include "lua.h" # include "lauxlib.h" # include "lualib.h" #ifdef LuajitTeX # include "luajit.h" #endif /* Names */ #ifndef LUATEX_HARFBUZZ_ENABLED #ifdef LuajitTeX # define MyName "LuajitTeX" # define my_name "luajittex" #else # define MyName "LuaTeX" # define my_name "luatex" #endif #endif #ifdef LUATEX_HARFBUZZ_ENABLED #ifdef LuajitTeX # define MyName "LuajitHBTeX" # define my_name "luajithbtex" #else # define MyName "LuaHBTeX" # define my_name "luahbtex" #endif #endif #ifdef __cplusplus extern "C" { #endif typedef struct LoadS { char *s; size_t size; } LoadS; extern lua_State *Luas; extern void make_table(lua_State * L, const char *tab, const char *mttab, const char *getfunc, const char *setfunc); extern int luac_main(int argc, char *argv[]); extern int luaopen_tex(lua_State * L); extern int luaopen_pdf(lua_State * L); extern int luaopen_texio(lua_State * L); extern int luaopen_lang(lua_State * L); extern int luapdfprint(lua_State * L); # define LUA_TEXFILEHANDLE "TEXFILE*" extern lua_State *luatex_error(lua_State * L, int fatal); extern int luaopen_unicode(lua_State * L); extern int luaopen_zip(lua_State * L); extern int luaopen_lfs(lua_State * L); extern int luaopen_lpeg(lua_State * L); extern int luaopen_md5(lua_State * L); extern int luaopen_sha2(lua_State * L); #ifndef LuajitTeX extern int luaopen_ffi(lua_State * L); #endif #ifdef LUATEX_HARFBUZZ_ENABLED extern int luaopen_luaharfbuzz(lua_State * L); #endif extern int luaopen_zlib(lua_State * L); extern int luaopen_gzip(lua_State * L); extern int luaopen_ff(lua_State * L); extern int luaopen_profiler(lua_State * L); extern int luaopen_socket_core(lua_State * L); extern int luaopen_mime_core(lua_State * L); extern void luatex_socketlua_open(lua_State * L); extern int luaopen_img(lua_State * L); extern int l_new_image(lua_State * L); extern int luaopen_pdfe(lua_State * L); extern int luaopen_pdfscanner(lua_State * L); extern int luaopen_mplib(lua_State * L); extern int luaopen_fio(lua_State * L); extern void open_oslibext(lua_State * L); extern void open_strlibext(lua_State * L); extern void initfilecallbackids(int max); extern void setinputfilecallbackid(int n, int i); extern void setreadfilecallbackid(int n, int i); extern int getinputfilecallbackid(int n); extern int getreadfilecallbackid(int n); extern void lua_initialize(int ac, char **av); extern void luacall_vf(int p, int f, int c); extern int luaopen_kpse(lua_State * L); extern int luaopen_callback(lua_State * L); extern int luaopen_lua(lua_State * L, char *fname); extern int luaopen_stats(lua_State * L); extern int luaopen_font(lua_State * L); extern int luaopen_vf(lua_State * L); extern int font_parameters_to_lua(lua_State * L, int f); extern int font_to_lua(lua_State * L, int f, int usecache); extern int font_from_lua(lua_State * L, int f); /* return is boolean */ extern int characters_from_lua(lua_State * L, int f); /* return is boolean */ extern int luaopen_token(lua_State * L); extern void tokenlist_to_lua(lua_State * L, int p); extern void tokenlist_to_luastring(lua_State * L, int p); extern int tokenlist_from_lua(lua_State * L, int i); extern int token_from_lua(lua_State * L); extern void lua_nodelib_push(lua_State * L); extern int nodelib_getdir(lua_State * L, int n); extern int nodelib_getlist(lua_State * L, int n); extern int luaopen_node(lua_State * L); extern void nodelist_to_lua(lua_State * L, int n); extern int nodelist_from_lua(lua_State * L, int n); extern int dimen_to_number(lua_State * L, const char *s); extern int get_command_id(const char *s); extern void dump_luac_registers(void); extern void undump_luac_registers(void); extern int lua_only; extern const char *lc_ctype; extern const char *lc_collate; extern const char *lc_numeric; #ifdef LuajitTeX extern int luajiton; extern char *jithash_hashname ; #endif #if !defined(LUAI_HASHLIMIT) #define LUAI_HASHLIMIT 5 #endif extern unsigned char show_luahashchars ; extern void unhide_lua_table(lua_State * lua, const char *name, int r); extern int hide_lua_table(lua_State * lua, const char *name); extern void unhide_lua_value(lua_State * lua, const char *name, const char *item, int r); extern int hide_lua_value(lua_State * lua, const char *name, const char *item); typedef struct command_item_ { int id; const char *name; int lua; } command_item; extern command_item command_names[]; extern int callback_callbacks_id; extern void luainterpreter(void); extern int luabytecode_max; extern unsigned int luabytecode_bytes; extern int luastate_bytes; extern int callback_count; extern int saved_callback_count; extern int direct_callback_count; extern int late_callback_count; extern int function_callback_count; extern const char *luatex_banner; extern const char *engine_name; /* luastuff.h */ typedef struct { const char *name; /* parameter name */ int idx; /* index within img_parms array */ } parm_struct; extern void preset_environment(lua_State * L, const parm_struct * p, const char *s); extern char *startup_filename; extern int safer_option; extern int nosocket_option; extern int utc_option; extern char *last_source_name; extern int last_lineno; extern int program_name_set; /* in lkpselib.c */ /* for topenin() */ extern char **argv; extern int argc; extern int loader_C_luatex(lua_State * L, const char *name, const char *filename); extern int loader_Call_luatex(lua_State * L, const char *name, const char *filename); extern void init_tex_table(lua_State * L); /* extern int tex_table_id; extern int pdf_table_id; extern int token_table_id; extern int node_table_id; */ extern int main_initialize(void); extern int do_run_callback(int special, const char *values, va_list vl); extern int lua_traceback(lua_State * L); extern int luainit; extern char *luanames[]; extern int ff_get_ttc_index(char *ffname, char *psname); /* luafontloader/src/luafflib.c */ extern int ff_createcff(char *, unsigned char **, int *); /* luafontloader/src/luafflib.c */ extern char *FindResourceTtfFont(char *filename, char *fontname); /* luafontloader/fontforge/fontforge/macbinary.c */ extern char charsetstr[]; /* from mpdir/psout.w */ #ifndef WIN32 extern char **environ; #endif #ifdef __cplusplus } #endif typedef struct lua_token { int token; int origin; } lua_token; extern int luatwrite(lua_State * L); extern int luanwrite(lua_State * L); /* Same as in lnodelib.c, but with prefix G_ for now. These macros create and access pointers (indices) to keys which is faster. The shortcuts are created as part of the initialization. */ #define init_lua_key(a) do { \ lua_pushliteral(Luas,#a); \ luaS_##a##_ptr = lua_tostring(Luas,-1); \ luaS_##a##_index = luaL_ref (Luas,LUA_REGISTRYINDEX); \ } while (0) #define init_lua_key_alias(a,b) do { \ lua_pushliteral(Luas,b); \ luaS_##a##_ptr = lua_tostring(Luas,-1); \ luaS_##a##_index = luaL_ref (Luas,LUA_REGISTRYINDEX); \ } while (0) #define make_lua_key(a) \ int luaS_##a##_index = 0; \ const char * luaS_##a##_ptr = NULL #define lua_key_eq(a,b) (a==luaS_##b##_ptr) #define lua_key_index(a) luaS_##a##_index #define lua_key(a) luaS_##a##_ptr #define lua_key_plus(a) luaS_p##a##_ptr #define lua_key_minus(a) luaS_m##a##_ptr #define use_lua_key(a) \ extern int luaS_##a##_index ; \ extern const char * luaS_##a##_ptr #define lua_key_rawgeti(a) \ lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index);\ lua_rawget(L, -2) #define lua_key_direct_rawgeti(i) \ lua_rawgeti(L, LUA_REGISTRYINDEX, i);\ lua_rawget(L, -2) #define lua_key_rawgeti_n(a,n) \ lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index);\ lua_rawget(L, -1+n) #define lua_key_direct_rawget_n(i,n) \ lua_rawgeti(L, LUA_REGISTRYINDEX, i);\ lua_rawget(L, -1+n) #define lua_push_key(a) \ lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index); #define lua_get_metatablelua_l(L,a) do { \ lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index); \ lua_gettable(L, LUA_REGISTRYINDEX); \ } while (0) #define lua_get_metatablelua(a) lua_get_metatablelua_l(L,a) /* Unfortunately floor is already redefined as #define floor ((integer)floor((double)(a))) so #define lua_uroundnumber(a,b) (unsigned int)floor((double)(lua_tonumber(a,b)+0.5)) is useless. */ #define lua_roundnumber(a,b) (int)floor((double)lua_tonumber(a,b)+0.5) #define lua_uroundnumber(a,b) (unsigned int)((double)(lua_tonumber(a,b)+0.5)) extern int lua_numeric_field_by_index(lua_State *, int , int); extern unsigned int lua_unsigned_numeric_field_by_index(lua_State *, int , int); /* Currently we sometimes use numbers and sometimes strings in node properties. We can make that consistent by having a check on number and if not then assign a string. The strings are prehashed and we make a bunch of lua tables that have these values. We can preassign these at startup time. */ /* no need for L state argument */ #define PACK_TYPE_SIZE 4 #define GROUP_CODE_SIZE 23 #define LOCAL_PAR_SIZE 5 #define MATH_STYLE_NAME_SIZE 8 #define APPEND_LIST_SIZE 5 #define DIR_PAR_SIZE 4 #define DIR_TEXT_SIZE 4 extern int l_pack_type_index [PACK_TYPE_SIZE]; extern int l_group_code_index [GROUP_CODE_SIZE]; extern int l_local_par_index [LOCAL_PAR_SIZE]; extern int l_math_style_name_index [MATH_STYLE_NAME_SIZE]; extern int l_dir_par_index [DIR_PAR_SIZE]; extern int l_dir_text_index_normal [DIR_TEXT_SIZE]; extern int l_dir_text_index_cancel [DIR_TEXT_SIZE]; #define lua_push_pack_type(L,pack_type) lua_rawgeti(L, LUA_REGISTRYINDEX, l_pack_type_index[pack_type] ); #define lua_push_group_code(L,group_code) lua_rawgeti(L, LUA_REGISTRYINDEX, l_group_code_index[group_code]); #define lua_push_local_par_mode(L,par_mode) lua_rawgeti(L, LUA_REGISTRYINDEX, l_local_par_index[par_mode]); #define lua_push_math_style_name(L,style_name) lua_rawgeti(L, LUA_REGISTRYINDEX, l_math_style_name_index[style_name]); #define lua_push_direction(L,direction) \ if (direction < 0) { \ lua_pushnil(L); \ } else { \ lua_pushinteger(L,direction); \ } #define lua_push_dir_par(L,dir) \ if (dir < 0) { \ lua_pushnil(L); \ } else { \ lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_par_index[dir]); \ } #define lua_push_dir_text_normal(L,dir) \ if (dir < 0) { \ lua_pushnil(L); \ } else { \ lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_text_index_normal[dir]); \ } #define lua_push_dir_text_cancel(L,dir) \ if (dir < 0) { \ lua_pushnil(L); \ } else { \ lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_text_index_cancel[dir]); \ } #define lua_push_dir_text(L,dir,sub) \ if (dir < 0) { \ lua_pushnil(L); \ } else if (sub) { \ lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_text_index_cancel[dir]); \ } else { \ lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_text_index_normal[dir]); \ } #define lua_push_string_by_index(L,index) lua_rawgeti(L, LUA_REGISTRYINDEX, index) #define lua_push_string_by_name(L,index) lua_rawgeti(L, LUA_REGISTRYINDEX, lua_key_index(index)) #define set_l_pack_type_index \ l_pack_type_index[exactly] = lua_key_index(exactly); \ l_pack_type_index[additional] = lua_key_index(additional); \ l_pack_type_index[cal_expand_ratio] = lua_key_index(cal_expand_ratio);\ l_pack_type_index[subst_ex_font] = lua_key_index(subst_ex_font); #define set_l_group_code_index \ l_group_code_index[bottom_level] = lua_key_index(empty_string);\ l_group_code_index[simple_group] = lua_key_index(simple);\ l_group_code_index[hbox_group] = lua_key_index(hbox);\ l_group_code_index[adjusted_hbox_group] = lua_key_index(adjusted_hbox);\ l_group_code_index[vbox_group] = lua_key_index(vbox);\ l_group_code_index[vtop_group] = lua_key_index(vtop);\ l_group_code_index[align_group] = lua_key_index(align);\ l_group_code_index[no_align_group] = lua_key_index(no_align);\ l_group_code_index[output_group] = lua_key_index(output);\ l_group_code_index[math_group] = lua_key_index(math);\ l_group_code_index[disc_group] = lua_key_index(disc);\ l_group_code_index[insert_group] = lua_key_index(insert);\ l_group_code_index[vcenter_group] = lua_key_index(vcenter);\ l_group_code_index[math_choice_group] = lua_key_index(math_choice);\ l_group_code_index[semi_simple_group] = lua_key_index(semi_simple);\ l_group_code_index[math_shift_group] = lua_key_index(math_shift);\ l_group_code_index[math_left_group] = lua_key_index(math_left);\ l_group_code_index[local_box_group] = lua_key_index(local_box);\ l_group_code_index[split_off_group] = lua_key_index(split_off);\ l_group_code_index[split_keep_group] = lua_key_index(split_keep);\ l_group_code_index[preamble_group] = lua_key_index(preamble);\ l_group_code_index[align_set_group] = lua_key_index(align_set);\ l_group_code_index[fin_row_group] = lua_key_index(fin_row) #define set_l_local_par_index \ l_local_par_index[new_graf_par_code] = lua_key_index(new_graf);\ l_local_par_index[local_box_par_code] = lua_key_index(local_box);\ l_local_par_index[hmode_par_par_code] = lua_key_index(hmode_par);\ l_local_par_index[penalty_par_code] = lua_key_index(penalty);\ l_local_par_index[math_par_code] = lua_key_index(math); #define set_l_math_style_name_index \ l_math_style_name_index[display_style] = lua_key_index(display);\ l_math_style_name_index[cramped_display_style] = lua_key_index(crampeddisplay);\ l_math_style_name_index[text_style] = lua_key_index(text);\ l_math_style_name_index[cramped_text_style] = lua_key_index(crampedtext);\ l_math_style_name_index[script_style] = lua_key_index(script);\ l_math_style_name_index[cramped_script_style] = lua_key_index(crampedscript);\ l_math_style_name_index[script_script_style] = lua_key_index(scriptscript);\ l_math_style_name_index[cramped_script_script_style] = lua_key_index(crampedscriptscript) #define set_l_dir_par_index \ l_dir_par_index[dir_TLT] = lua_key_index(TLT);\ l_dir_par_index[dir_TRT] = lua_key_index(TRT);\ l_dir_par_index[dir_LTL] = lua_key_index(LTL);\ l_dir_par_index[dir_RTT] = lua_key_index(RTT); #define set_l_dir_text_index \ l_dir_text_index_normal[dir_TLT] = lua_key_index(pTLT);\ l_dir_text_index_normal[dir_TRT] = lua_key_index(pTRT);\ l_dir_text_index_normal[dir_LTL] = lua_key_index(pLTL);\ l_dir_text_index_normal[dir_RTT] = lua_key_index(pRTT);\ l_dir_text_index_cancel[dir_TLT] = lua_key_index(mTLT);\ l_dir_text_index_cancel[dir_TRT] = lua_key_index(mTRT);\ l_dir_text_index_cancel[dir_LTL] = lua_key_index(mLTL);\ l_dir_text_index_cancel[dir_RTT] = lua_key_index(mRTT); #define img_parms_max 25 #define img_pageboxes_max 6 extern int img_parms [img_parms_max]; extern int img_pageboxes [img_pageboxes_max]; # define set_l_img_keys_index \ img_parms[ 0] = lua_key_index(attr); \ img_parms[ 0] = lua_key_index(attribute_list); \ img_parms[ 1] = lua_key_index(bbox); \ img_parms[ 2] = lua_key_index(colordepth); \ img_parms[ 3] = lua_key_index(colorspace); \ img_parms[ 4] = lua_key_index(depth); \ img_parms[ 5] = lua_key_index(filename); \ img_parms[ 6] = lua_key_index(filepath); \ img_parms[ 7] = lua_key_index(height); \ img_parms[ 8] = lua_key_index(imagetype); \ img_parms[ 9] = lua_key_index(index); \ img_parms[10] = lua_key_index(keepopen); \ img_parms[11] = lua_key_index(objnum); \ img_parms[12] = lua_key_index(pagebox); \ img_parms[13] = lua_key_index(page); \ img_parms[14] = lua_key_index(pages); \ img_parms[15] = lua_key_index(ref_count); \ img_parms[16] = lua_key_index(rotation); \ img_parms[17] = lua_key_index(stream); \ img_parms[18] = lua_key_index(transform); \ img_parms[19] = lua_key_index(visiblefilename); \ img_parms[20] = lua_key_index(width); \ img_parms[21] = lua_key_index(xres); \ img_parms[22] = lua_key_index(xsize); \ img_parms[23] = lua_key_index(yres); \ img_parms[24] = lua_key_index(ysize); \ # define set_l_img_pageboxes_index \ img_pageboxes[0] = lua_key_index(none); \ img_pageboxes[1] = lua_key_index(media); \ img_pageboxes[2] = lua_key_index(crop); \ img_pageboxes[3] = lua_key_index(bleed); \ img_pageboxes[4] = lua_key_index(trim); \ img_pageboxes[5] = lua_key_index(art); \ #define lua_push_img_key(L,key) lua_rawgeti(L, LUA_REGISTRYINDEX, img_parms[key] ); #define lua_push_img_pagebox(L,box) lua_rawgeti(L, LUA_REGISTRYINDEX, img_pageboxes[box]); extern int lua_show_valid_list(lua_State *L, const char **list, int offset, int max); extern int lua_show_valid_keys(lua_State *L, int *list, int max); #define set_make_keys \ make_lua_key(__index);\ make_lua_key(above);\ make_lua_key(abovedisplayshortskip);\ make_lua_key(abovedisplayskip);\ make_lua_key(accent);\ make_lua_key(accentkern);\ make_lua_key(action);\ make_lua_key(action_id);\ make_lua_key(action_type);\ make_lua_key(active);\ make_lua_key(additional);\ make_lua_key(adjdemerits);\ make_lua_key(adjust);\ make_lua_key(adjust_head);\ make_lua_key(adjusted_hbox);\ make_lua_key(adjustspacing);\ make_lua_key(advance);\ make_lua_key(after_assignment);\ make_lua_key(after_display);\ make_lua_key(after_group);\ make_lua_key(partoken_name);\ make_lua_key(after_output);\ make_lua_key(afterdisplaypenalty);\ make_lua_key(align);\ make_lua_key(align_head);\ make_lua_key(align_record);\ make_lua_key(align_set);\ make_lua_key(align_stack);\ make_lua_key(alignment);\ make_lua_key(always);\ make_lua_key(annot);\ make_lua_key(area);\ make_lua_key(art);\ make_lua_key(assign_attr);\ make_lua_key(assign_box_dir);\ make_lua_key(assign_box_direction);\ make_lua_key(assign_dimen);\ make_lua_key(assign_dir);\ make_lua_key(assign_direction);\ make_lua_key(assign_font_dimen);\ make_lua_key(assign_font_int);\ make_lua_key(assign_glue);\ make_lua_key(assign_hang_indent);\ make_lua_key(assign_int);\ make_lua_key(assign_local_box);\ make_lua_key(assign_mu_glue);\ make_lua_key(assign_toks);\ make_lua_key(attr);\ make_lua_key(attribute);\ make_lua_key(attribute_list);\ make_lua_key(attributes);\ make_lua_key(automatic);\ make_lua_key(baselineskip);\ make_lua_key(bbox);\ make_lua_key(before_display);\ make_lua_key(beforedisplaypenalty);\ make_lua_key(begin_group);\ make_lua_key(beginmath);\ make_lua_key(belowdisplayshortskip);\ make_lua_key(belowdisplayskip);\ make_lua_key(best_ins_ptr);\ make_lua_key(best_page_break);\ make_lua_key(best_size);\ make_lua_key(bin);\ make_lua_key(bleed);\ make_lua_key(bot);\ make_lua_key(bottom);\ make_lua_key(splitbottom);\ make_lua_key(bot_accent);\ make_lua_key(bothflexible);\ make_lua_key(bottom_left);\ make_lua_key(bottom_right);\ make_lua_key(boundary);\ make_lua_key(box);\ make_lua_key(box_left);\ make_lua_key(box_left_width);\ make_lua_key(box_ref);\ make_lua_key(box_right);\ make_lua_key(box_right_width);\ make_lua_key(box_there);\ make_lua_key(break_penalty);\ make_lua_key(broken_ins);\ make_lua_key(broken_ptr);\ make_lua_key(brokenpenalty);\ make_lua_key(cache);\ make_lua_key(cal_expand_ratio);\ make_lua_key(call);\ make_lua_key(cancel);\ make_lua_key(car_ret);\ make_lua_key(case_shift);\ make_lua_key(Catalog);\ make_lua_key(catalog);\ make_lua_key(cell);\ make_lua_key(char);\ make_lua_key(char_ghost);\ make_lua_key(char_given);\ make_lua_key(char_num);\ make_lua_key(character);\ make_lua_key(characters);\ make_lua_key(checksum);\ make_lua_key(choice);\ make_lua_key(cidinfo);\ make_lua_key(class);\ make_lua_key(cleaders);\ make_lua_key(close);\ make_lua_key(clubpenalty);\ make_lua_key(cmd);\ make_lua_key(cmdname);\ make_lua_key(color_stack);\ make_lua_key(colordepth);\ make_lua_key(colorspace);\ make_lua_key(combinetoks);\ make_lua_key(command);\ make_lua_key(commands);\ make_lua_key(comment);\ make_lua_key(components);\ make_lua_key(compresslevel);\ make_lua_key(conditionalmathskip);\ make_lua_key(contrib_head);\ make_lua_key(convert);\ make_lua_key(copy_font);\ make_lua_key(core);\ make_lua_key(cost);\ make_lua_key(count);\ make_lua_key(crampeddisplay);\ make_lua_key(crampedscript);\ make_lua_key(crampedscriptscript);\ make_lua_key(crampedtext);\ make_lua_key(crop);\ make_lua_key(cs_name);\ make_lua_key(csname);\ make_lua_key(current);\ make_lua_key(data);\ make_lua_key(def);\ make_lua_key(def_char_code);\ make_lua_key(def_del_code);\ make_lua_key(def_family);\ make_lua_key(def_font);\ make_lua_key(def_lua_call);\ make_lua_key(degree);\ make_lua_key(delim);\ make_lua_key(delimiter);\ make_lua_key(hdelimiter);\ make_lua_key(vdelimiter);\ make_lua_key(delim_num);\ make_lua_key(delimptr);\ make_lua_key(delta);\ make_lua_key(demerits);\ make_lua_key(denom);\ make_lua_key(denominator);\ make_lua_key(depth);\ make_lua_key(designsize);\ make_lua_key(dest_id);\ make_lua_key(dest_type);\ make_lua_key(dir);\ make_lua_key(dir_h);\ make_lua_key(direct);\ make_lua_key(direction);\ make_lua_key(dirs);\ make_lua_key(disc);\ make_lua_key(discretionary);\ make_lua_key(display);\ make_lua_key(divide);\ make_lua_key(dont_expand);\ make_lua_key(doublehyphendemerits);\ make_lua_key(down);\ make_lua_key(embedding);\ make_lua_key(emergencystretch);\ make_lua_key(empty);\ make_lua_key(empty_string);\ make_lua_key(encodingbytes);\ make_lua_key(encodingname);\ make_lua_key(end);\ make_lua_key(end_cs_name);\ make_lua_key(end_group);\ make_lua_key(end_template);\ make_lua_key(endmath);\ make_lua_key(endv);\ make_lua_key(eq_no);\ make_lua_key(equation);\ make_lua_key(equation_number);\ make_lua_key(equationnumber);\ make_lua_key(equationnumberpenalty);\ make_lua_key(etex);\ make_lua_key(ex_space);\ make_lua_key(exactly);\ make_lua_key(expand_after);\ make_lua_key(expand_font);\ make_lua_key(expandable);\ make_lua_key(expansion_factor);\ make_lua_key(explicit);\ make_lua_key(expr_stack);\ make_lua_key(ext);\ make_lua_key(extdef_del_code);\ make_lua_key(extdef_math_code);\ make_lua_key(extend);\ make_lua_key(extender);\ make_lua_key(extensible);\ make_lua_key(hextensible);\ make_lua_key(vextensible);\ make_lua_key(extension);\ make_lua_key(extra_space);\ make_lua_key(fam);\ make_lua_key(fast);\ make_lua_key(feedback);\ make_lua_key(fence);\ make_lua_key(fi);\ make_lua_key(fi_or_else);\ make_lua_key(fil);\ make_lua_key(file);\ make_lua_key(filename);\ make_lua_key(filepath);\ make_lua_key(fill);\ make_lua_key(filll);\ make_lua_key(fillll);\ make_lua_key(fin_row);\ make_lua_key(finalhyphendemerits);\ make_lua_key(finalpenalty);\ make_lua_key(first);\ make_lua_key(splitfirst);\ make_lua_key(fit);\ make_lua_key(fitb);\ make_lua_key(fitbh);\ make_lua_key(fitbv);\ make_lua_key(fith);\ make_lua_key(fitr);\ make_lua_key(fitv);\ make_lua_key(fixedboth);\ make_lua_key(fixedbottom);\ make_lua_key(fixedtop);\ make_lua_key(font);\ make_lua_key(fontkern);\ make_lua_key(fonts);\ make_lua_key(format);\ make_lua_key(fraction);\ make_lua_key(fullname);\ make_lua_key(ghost);\ make_lua_key(gleaders);\ make_lua_key(global);\ make_lua_key(glue);\ make_lua_key(glue_order);\ make_lua_key(glue_ref);\ make_lua_key(glue_set);\ make_lua_key(glue_sign);\ make_lua_key(glue_spec);\ make_lua_key(glyph);\ make_lua_key(goto);\ make_lua_key(h);\ make_lua_key(halign);\ make_lua_key(hangafter);\ make_lua_key(hangindent);\ make_lua_key(hbox);\ make_lua_key(head);\ make_lua_key(height);\ make_lua_key(hlist);\ make_lua_key(hmode_par);\ make_lua_key(hmove);\ make_lua_key(hold_head);\ make_lua_key(horizontal);\ make_lua_key(horiz_variants);\ make_lua_key(hrule);\ make_lua_key(hsize);\ make_lua_key(hskip);\ make_lua_key(hyph_data);\ make_lua_key(hyphenated);\ make_lua_key(hyphenchar);\ make_lua_key(id);\ make_lua_key(identity);\ make_lua_key(if_stack);\ make_lua_key(if_test);\ make_lua_key(ignore_spaces);\ make_lua_key(image);\ make_lua_key(imagetype);\ make_lua_key(immediate);\ make_lua_key(in_stream);\ make_lua_key(indent);\ make_lua_key(index);\ make_lua_key(info);\ make_lua_key(Info);\ make_lua_key(inner);\ make_lua_key(input);\ make_lua_key(ins);\ make_lua_key(insert);\ make_lua_key(inserts_only);\ make_lua_key(interlinepenalty);\ make_lua_key(ital_corr);\ make_lua_key(italic);\ make_lua_key(italiccorrection);\ make_lua_key(keepopen);\ make_lua_key(kern);\ make_lua_key(kerns);\ make_lua_key(lang);\ make_lua_key(large_char);\ make_lua_key(large_fam);\ make_lua_key(last_ins_ptr);\ make_lua_key(last_item);\ make_lua_key(lastlinefit);\ make_lua_key(late_lua);\ make_lua_key(leader);\ make_lua_key(leader_ship);\ make_lua_key(leaders);\ make_lua_key(least_page_cost);\ make_lua_key(left);\ make_lua_key(left_boundary);\ make_lua_key(left_brace);\ make_lua_key(left_protruding);\ make_lua_key(left_right);\ make_lua_key(leftskip);\ make_lua_key(let);\ make_lua_key(letter);\ make_lua_key(letterspace_font);\ make_lua_key(level);\ make_lua_key(ligature);\ make_lua_key(ligatures);\ make_lua_key(limit_switch);\ make_lua_key(line);\ make_lua_key(linebreakpenalty);\ make_lua_key(linepenalty);\ make_lua_key(lineskip);\ make_lua_key(link_attr);\ make_lua_key(list);\ make_lua_key(local_box);\ make_lua_key(local_par);\ make_lua_key(log);\ make_lua_key(long_call);\ make_lua_key(long_outer_call);\ make_lua_key(looseness);\ make_lua_key(LTL);\ make_lua_key(lua);\ make_lua_key(lua_bytecode_call);\ make_lua_key(lua_bytecodes_indirect);\ make_lua_key(lua_call);\ make_lua_key(lua_expandable_call);\ make_lua_key(lua_local_call);\ make_lua_key(lua_function_call);\ make_lua_key(lua_functions);\ make_lua_key(luatex);\ make_lua_key(luatex_node);\ make_lua_key(luatex_token);\ make_lua_key(luatex_pdfe);\ make_lua_key(luatex_pdfe_dictionary);\ make_lua_key(luatex_pdfe_array);\ make_lua_key(luatex_pdfe_stream);\ make_lua_key(luatex_pdfe_reference);\ make_lua_key(mac_param);\ make_lua_key(make_box);\ make_lua_key(margin_kern);\ make_lua_key(marginkern);\ make_lua_key(mark);\ make_lua_key(math);\ make_lua_key(math_accent);\ make_lua_key(mathchar);\ make_lua_key(math_char);\ make_lua_key(math_char_num);\ make_lua_key(math_choice);\ make_lua_key(math_comp);\ make_lua_key(math_given);\ make_lua_key(math_left);\ make_lua_key(math_shift);\ make_lua_key(math_shift_cs);\ make_lua_key(math_style);\ make_lua_key(math_sub_box);\ make_lua_key(math_sub_mlist);\ make_lua_key(math_text_char);\ make_lua_key(MathConstants);\ make_lua_key(mathdir);\ make_lua_key(mathkern);\ make_lua_key(mathskip);\ make_lua_key(mathstyle);\ make_lua_key(media);\ make_lua_key(medmuskip);\ make_lua_key(message);\ make_lua_key(mid);\ make_lua_key(middle);\ make_lua_key(mkern);\ make_lua_key(mLTL);\ make_lua_key(mode);\ make_lua_key(modeline);\ make_lua_key(movement_stack);\ make_lua_key(mRTT);\ make_lua_key(mskip);\ make_lua_key(mTLT);\ make_lua_key(mTRT);\ make_lua_key(muglue);\ make_lua_key(multiply);\ make_lua_key(name);\ make_lua_key(named_id);\ make_lua_key(names);\ make_lua_key(nested_list);\ make_lua_key(new);\ make_lua_key(new_graf);\ make_lua_key(new_window);\ make_lua_key(next);\ make_lua_key(no);\ make_lua_key(nobbox);\ make_lua_key(nolength);\ make_lua_key(notype);\ make_lua_key(no_align);\ make_lua_key(no_expand);\ make_lua_key(no_super_sub_script);\ make_lua_key(noad);\ make_lua_key(noadpenalty);\ make_lua_key(node);\ make_lua_key(node_properties);\ make_lua_key(node_properties_indirect);\ make_lua_key(nohrule);\ make_lua_key(nomath);\ make_lua_key(non_script);\ make_lua_key(none);\ make_lua_key(nonew);\ make_lua_key(nop);\ make_lua_key(normal);\ make_lua_key(novrule);\ make_lua_key(nucleus);\ make_lua_key(num);\ make_lua_key(numerator);\ make_lua_key(number);\ make_lua_key(objcompression);\ make_lua_key(objnum);\ make_lua_key(oldmath);\ make_lua_key(omit);\ make_lua_key(limits);\ make_lua_key(opdisplaylimits);\ make_lua_key(open);\ make_lua_key(oplimits);\ make_lua_key(opnolimits);\ make_lua_key(option);\ make_lua_key(options);\ make_lua_key(ord);\ make_lua_key(ordering);\ make_lua_key(orientation);\ make_lua_key(origin);\ make_lua_key(other_char);\ make_lua_key(outer_call);\ make_lua_key(outline);\ make_lua_key(output);\ make_lua_key(over);\ make_lua_key(overdelimiter);\ make_lua_key(overlay_accent);\ make_lua_key(ownerpassword);\ make_lua_key(page);\ make_lua_key(page_discards_head);\ make_lua_key(page_head);\ make_lua_key(page_ins_head);\ make_lua_key(page_insert);\ make_lua_key(pageattributes);\ make_lua_key(pagebox);\ make_lua_key(pageresources);\ make_lua_key(pages);\ make_lua_key(Pages);\ make_lua_key(pagesattributes);\ make_lua_key(pagestate);\ make_lua_key(par_end);\ make_lua_key(parameters);\ make_lua_key(pardir);\ make_lua_key(parfillskip);\ make_lua_key(parshape);\ make_lua_key(parskip);\ make_lua_key(passive);\ make_lua_key(pdf);\ make_lua_key(pdfe);\ make_lua_key(pdf_action);\ make_lua_key(pdf_annot);\ make_lua_key(pdf_colorstack);\ make_lua_key(pdf_data);\ make_lua_key(pdf_dest);\ make_lua_key(pdf_destination);\ make_lua_key(pdf_end_link);\ make_lua_key(pdf_end_thread);\ make_lua_key(pdf_link_data);\ make_lua_key(pdf_link_state);\ make_lua_key(pdf_literal);\ make_lua_key(pdf_late_literal);\ make_lua_key(pdf_refobj);\ make_lua_key(pdf_restore);\ make_lua_key(pdf_save);\ make_lua_key(pdf_setmatrix);\ make_lua_key(pdf_setobj);\ make_lua_key(pdf_start);\ make_lua_key(pdf_start_link);\ make_lua_key(pdf_start_thread);\ make_lua_key(pdf_thread);\ make_lua_key(pdf_thread_data);\ make_lua_key(pdf_window);\ make_lua_key(pen_broken);\ make_lua_key(pen_inter);\ make_lua_key(penalty);\ make_lua_key(pLTL);\ make_lua_key(pop);\ make_lua_key(post);\ make_lua_key(post_linebreak);\ make_lua_key(pre);\ make_lua_key(pre_adjust);\ make_lua_key(pre_adjust_head);\ make_lua_key(pre_align);\ make_lua_key(pre_box);\ make_lua_key(preamble);\ make_lua_key(prefix);\ make_lua_key(pretolerance);\ make_lua_key(prev);\ make_lua_key(prevdepth);\ make_lua_key(prevgraf);\ make_lua_key(protected);\ make_lua_key(protrudechars);\ make_lua_key(protrusion);\ make_lua_key(pRTT);\ make_lua_key(pseudo_file);\ make_lua_key(pseudo_line);\ make_lua_key(psname);\ make_lua_key(pTLT);\ make_lua_key(ptr);\ make_lua_key(pTRT);\ make_lua_key(punct);\ make_lua_key(push);\ make_lua_key(quad);\ make_lua_key(radical);\ make_lua_key(raw);\ make_lua_key(read_to_cs);\ make_lua_key(recompress);\ make_lua_key(ref_count);\ make_lua_key(reg);\ make_lua_key(register);\ make_lua_key(registry);\ make_lua_key(regular);\ make_lua_key(rel);\ make_lua_key(relax);\ make_lua_key(remove_item);\ make_lua_key(renew);\ make_lua_key(rep);\ make_lua_key(replace);\ make_lua_key(resources);\ make_lua_key(right);\ make_lua_key(right_boundary);\ make_lua_key(right_brace);\ make_lua_key(right_protruding);\ make_lua_key(rightskip);\ make_lua_key(rotation);\ make_lua_key(RTT);\ make_lua_key(rule);\ make_lua_key(save_pos);\ make_lua_key(scale);\ make_lua_key(script);\ make_lua_key(scripts);\ make_lua_key(scriptscript);\ make_lua_key(second);\ make_lua_key(semi_simple);\ make_lua_key(set);\ make_lua_key(set_aux);\ make_lua_key(set_box);\ make_lua_key(set_box_dimen);\ make_lua_key(set_etex_shape);\ make_lua_key(set_font);\ make_lua_key(set_font_id);\ make_lua_key(set_interaction);\ make_lua_key(set_math_param);\ make_lua_key(set_page_dimen);\ make_lua_key(set_page_int);\ make_lua_key(set_prev_graf);\ make_lua_key(set_tex_shape);\ make_lua_key(shape);\ make_lua_key(shape_ref);\ make_lua_key(shift);\ make_lua_key(shorthand_def);\ make_lua_key(shrink);\ make_lua_key(shrink_order);\ make_lua_key(simple);\ make_lua_key(size);\ make_lua_key(skewchar);\ make_lua_key(slant);\ make_lua_key(slot);\ make_lua_key(small_char);\ make_lua_key(small_fam);\ make_lua_key(space);\ make_lua_key(space_shrink);\ make_lua_key(space_stretch);\ make_lua_key(spacefactor);\ make_lua_key(spacer);\ make_lua_key(spaceskip);\ make_lua_key(span);\ make_lua_key(spec);\ make_lua_key(special);\ make_lua_key(late_special);\ make_lua_key(split_discards_head);\ make_lua_key(split_insert);\ make_lua_key(split_keep);\ make_lua_key(split_off);\ make_lua_key(splittopskip);\ make_lua_key(squeeze);\ make_lua_key(stack);\ make_lua_key(start);\ make_lua_key(start_par);\ make_lua_key(step);\ make_lua_key(stop);\ make_lua_key(stream);\ make_lua_key(streamfile);\ make_lua_key(streamprovider);\ make_lua_key(stretch);\ make_lua_key(stretch_order);\ make_lua_key(string);\ make_lua_key(struct_id);\ make_lua_key(style);\ make_lua_key(sub);\ make_lua_key(subfont);\ make_lua_key(sub_box);\ make_lua_key(sub_mark);\ make_lua_key(sub_mlist);\ make_lua_key(subst_ex_font);\ make_lua_key(subtype);\ make_lua_key(sup);\ make_lua_key(sup_mark);\ make_lua_key(super_sub_script);\ make_lua_key(supplement);\ make_lua_key(surround);\ make_lua_key(tab_mark);\ make_lua_key(tabskip);\ make_lua_key(tail);\ make_lua_key(temp);\ make_lua_key(temp_head);\ make_lua_key(term);\ make_lua_key(term_and_log);\ make_lua_key(tex);\ make_lua_key(text);\ make_lua_key(the);\ make_lua_key(thickmuskip);\ make_lua_key(thinmuskip);\ make_lua_key(thread);\ make_lua_key(thread_attr);\ make_lua_key(thread_id);\ make_lua_key(TLT);\ make_lua_key(tok);\ make_lua_key(token);\ make_lua_key(toks_register);\ make_lua_key(tolerance);\ make_lua_key(top);\ make_lua_key(top_accent);\ make_lua_key(top_bot_mark);\ make_lua_key(top_left);\ make_lua_key(top_right);\ make_lua_key(topskip);\ make_lua_key(tounicode);\ make_lua_key(tracingparagraphs);\ make_lua_key(trailer);\ make_lua_key(Trailer);\ make_lua_key(trailerid);\ make_lua_key(transform);\ make_lua_key(trim);\ make_lua_key(TRT);\ make_lua_key(type);\ make_lua_key(uchyph);\ make_lua_key(udelimiterover);\ make_lua_key(udelimiterunder);\ make_lua_key(un_hbox);\ make_lua_key(un_vbox);\ make_lua_key(undefined_cs);\ make_lua_key(under);\ make_lua_key(underdelimiter);\ make_lua_key(unhyphenated);\ make_lua_key(units_per_em);\ make_lua_key(unknown);\ make_lua_key(unset);\ make_lua_key(uoverdelimiter);\ make_lua_key(uradical);\ make_lua_key(uroot);\ make_lua_key(used);\ make_lua_key(user);\ make_lua_key(userpassword);\ make_lua_key(user_defined);\ make_lua_key(user_id);\ make_lua_key(userkern);\ make_lua_key(userpenalty);\ make_lua_key(userskip);\ make_lua_key(uunderdelimiter);\ make_lua_key(v);\ make_lua_key(vadjust);\ make_lua_key(valign);\ make_lua_key(value);\ make_lua_key(variable);\ make_lua_key(vbox);\ make_lua_key(vcenter);\ make_lua_key(version);\ make_lua_key(vertical);\ make_lua_key(vert_italic);\ make_lua_key(vert_variants);\ make_lua_key(visiblefilename);\ make_lua_key(vlist);\ make_lua_key(vmode_par);\ make_lua_key(vmove);\ make_lua_key(vrule);\ make_lua_key(vskip);\ make_lua_key(vtop);\ make_lua_key(whatsit);\ make_lua_key(widowpenalty);\ make_lua_key(width);\ make_lua_key(word);\ make_lua_key(wordpenalty);\ make_lua_key(write); \ make_lua_key(writingmode); \ make_lua_key(x_height);\ make_lua_key(xadvance);\ make_lua_key(xformattributes);\ make_lua_key(xformresources);\ make_lua_key(xleaders);\ make_lua_key(xmath_given);\ make_lua_key(xoffset);\ make_lua_key(xray);\ make_lua_key(xres);\ make_lua_key(xsize);\ make_lua_key(xspaceskip);\ make_lua_key(xyz);\ make_lua_key(xyz_zoom);\ make_lua_key(yoffset); \ make_lua_key(yres); \ make_lua_key(ysize); #define set_init_keys \ init_lua_key(__index);\ init_lua_key(above);\ init_lua_key(abovedisplayshortskip);\ init_lua_key(abovedisplayskip);\ init_lua_key(accent);\ init_lua_key(accentkern);\ init_lua_key(action);\ init_lua_key(action_id);\ init_lua_key(action_type);\ init_lua_key(active);\ init_lua_key(additional);\ init_lua_key(adjdemerits);\ init_lua_key(adjust);\ init_lua_key(adjust_head);\ init_lua_key(adjusted_hbox);\ init_lua_key(adjustspacing);\ init_lua_key(advance);\ init_lua_key(after_assignment);\ init_lua_key(after_display);\ init_lua_key(after_group);\ init_lua_key(partoken_name);\ init_lua_key(after_output);\ init_lua_key(afterdisplaypenalty);\ init_lua_key(align);\ init_lua_key(align_head);\ init_lua_key(align_record);\ init_lua_key(align_set);\ init_lua_key(align_stack);\ init_lua_key(alignment);\ init_lua_key(always);\ init_lua_key(annot);\ init_lua_key(area);\ init_lua_key(art);\ init_lua_key(assign_attr);\ init_lua_key(assign_box_dir);\ init_lua_key(assign_box_direction);\ init_lua_key(assign_dimen);\ init_lua_key(assign_dir);\ init_lua_key(assign_direction);\ init_lua_key(assign_font_dimen);\ init_lua_key(assign_font_int);\ init_lua_key(assign_glue);\ init_lua_key(assign_hang_indent);\ init_lua_key(assign_int);\ init_lua_key(assign_local_box);\ init_lua_key(assign_mu_glue);\ init_lua_key(assign_toks);\ init_lua_key(attr);\ init_lua_key(attribute);\ init_lua_key(attribute_list);\ init_lua_key(attributes);\ init_lua_key(automatic);\ init_lua_key(baselineskip);\ init_lua_key(bbox);\ init_lua_key(before_display);\ init_lua_key(beforedisplaypenalty);\ init_lua_key(begin_group);\ init_lua_key(beginmath);\ init_lua_key(belowdisplayshortskip);\ init_lua_key(belowdisplayskip);\ init_lua_key(best_ins_ptr);\ init_lua_key(best_page_break);\ init_lua_key(best_size);\ init_lua_key(bin);\ init_lua_key(bleed);\ init_lua_key(bot);\ init_lua_key(bottom);\ init_lua_key(splitbottom);\ init_lua_key(bot_accent);\ init_lua_key(bothflexible);\ init_lua_key(bottom_left);\ init_lua_key(bottom_right);\ init_lua_key(boundary);\ init_lua_key(box);\ init_lua_key(box_left);\ init_lua_key(box_left_width);\ init_lua_key(box_ref);\ init_lua_key(box_right);\ init_lua_key(box_right_width);\ init_lua_key(box_there);\ init_lua_key(break_penalty);\ init_lua_key(broken_ins);\ init_lua_key(broken_ptr);\ init_lua_key(brokenpenalty);\ init_lua_key(cache);\ init_lua_key(cal_expand_ratio);\ init_lua_key(call);\ init_lua_key(cancel);\ init_lua_key(car_ret);\ init_lua_key(case_shift);\ init_lua_key(Catalog);\ init_lua_key(catalog);\ init_lua_key(cell);\ init_lua_key(char);\ init_lua_key(char_ghost);\ init_lua_key(char_given);\ init_lua_key(char_num);\ init_lua_key(character);\ init_lua_key(characters);\ init_lua_key(checksum);\ init_lua_key(choice);\ init_lua_key(cidinfo);\ init_lua_key(class);\ init_lua_key(cleaders);\ init_lua_key(close);\ init_lua_key(clubpenalty);\ init_lua_key(cmd);\ init_lua_key(cmdname);\ init_lua_key(color_stack);\ init_lua_key(colordepth);\ init_lua_key(colorspace);\ init_lua_key(combinetoks);\ init_lua_key(command);\ init_lua_key(commands);\ init_lua_key(comment);\ init_lua_key(components);\ init_lua_key(compresslevel);\ init_lua_key(conditionalmathskip);\ init_lua_key(contrib_head);\ init_lua_key(convert);\ init_lua_key(copy_font);\ init_lua_key(core);\ init_lua_key(cost);\ init_lua_key(count);\ init_lua_key(crampeddisplay);\ init_lua_key(crampedscript);\ init_lua_key(crampedscriptscript);\ init_lua_key(crampedtext);\ init_lua_key(crop);\ init_lua_key(cs_name);\ init_lua_key(csname);\ init_lua_key(current);\ init_lua_key(data);\ init_lua_key(def);\ init_lua_key(def_char_code);\ init_lua_key(def_del_code);\ init_lua_key(def_family);\ init_lua_key(def_font);\ init_lua_key(def_lua_call);\ init_lua_key(degree);\ init_lua_key(delim);\ init_lua_key(delimiter);\ init_lua_key(hdelimiter);\ init_lua_key(vdelimiter);\ init_lua_key(delim_num);\ init_lua_key(delimptr);\ init_lua_key(delta);\ init_lua_key(demerits);\ init_lua_key(denom);\ init_lua_key(denominator);\ init_lua_key(depth);\ init_lua_key(designsize);\ init_lua_key(dest_id);\ init_lua_key(dest_type);\ init_lua_key(dir);\ init_lua_key(dir_h);\ init_lua_key(direct);\ init_lua_key(direction);\ init_lua_key(dirs);\ init_lua_key(disc);\ init_lua_key(discretionary);\ init_lua_key(display);\ init_lua_key(divide);\ init_lua_key(dont_expand);\ init_lua_key(doublehyphendemerits);\ init_lua_key(down);\ init_lua_key(embedding);\ init_lua_key(emergencystretch);\ init_lua_key(empty);\ init_lua_key(encodingbytes);\ init_lua_key(encodingname);\ init_lua_key(end);\ init_lua_key(end_cs_name);\ init_lua_key(end_group);\ init_lua_key(end_template);\ init_lua_key(endmath);\ init_lua_key(endv);\ init_lua_key(eq_no);\ init_lua_key(equation);\ init_lua_key(equation_number);\ init_lua_key(equationnumber);\ init_lua_key(equationnumberpenalty);\ init_lua_key(etex);\ init_lua_key(ex_space);\ init_lua_key(exactly);\ init_lua_key(expand_after);\ init_lua_key(expand_font);\ init_lua_key(expandable);\ init_lua_key(expansion_factor);\ init_lua_key(explicit);\ init_lua_key(expr_stack);\ init_lua_key(ext);\ init_lua_key(extdef_del_code);\ init_lua_key(extdef_math_code);\ init_lua_key(extend);\ init_lua_key(extender);\ init_lua_key(extensible);\ init_lua_key(hextensible);\ init_lua_key(vextensible);\ init_lua_key(extension);\ init_lua_key(extra_space);\ init_lua_key(fam);\ init_lua_key(fast);\ init_lua_key(feedback);\ init_lua_key(fence);\ init_lua_key(fi);\ init_lua_key(fi_or_else);\ init_lua_key(fil);\ init_lua_key(file);\ init_lua_key(filename);\ init_lua_key(filepath);\ init_lua_key(fill);\ init_lua_key(filll);\ init_lua_key(fillll);\ init_lua_key(fin_row);\ init_lua_key(finalhyphendemerits);\ init_lua_key(finalpenalty);\ init_lua_key(first);\ init_lua_key(splitfirst);\ init_lua_key(fit);\ init_lua_key(fitb);\ init_lua_key(fitbh);\ init_lua_key(fitbv);\ init_lua_key(fith);\ init_lua_key(fitr);\ init_lua_key(fitv);\ init_lua_key(fixedboth);\ init_lua_key(fixedbottom);\ init_lua_key(fixedtop);\ init_lua_key(font);\ init_lua_key(fontkern);\ init_lua_key(fonts);\ init_lua_key(format);\ init_lua_key(fraction);\ init_lua_key(fullname);\ init_lua_key(ghost);\ init_lua_key(gleaders);\ init_lua_key(global);\ init_lua_key(glue);\ init_lua_key(glue_order);\ init_lua_key(glue_ref);\ init_lua_key(glue_set);\ init_lua_key(glue_sign);\ init_lua_key(glue_spec);\ init_lua_key(glyph);\ init_lua_key(goto);\ init_lua_key(h);\ init_lua_key(halign);\ init_lua_key(hangafter);\ init_lua_key(hangindent);\ init_lua_key(hbox);\ init_lua_key(head);\ init_lua_key(height);\ init_lua_key(hlist);\ init_lua_key(hmode_par);\ init_lua_key(hmove);\ init_lua_key(hold_head);\ init_lua_key(horizontal);\ init_lua_key(horiz_variants);\ init_lua_key(hrule);\ init_lua_key(hsize);\ init_lua_key(hskip);\ init_lua_key(hyph_data);\ init_lua_key(hyphenated);\ init_lua_key(hyphenchar);\ init_lua_key(id);\ init_lua_key(identity);\ init_lua_key(if_stack);\ init_lua_key(if_test);\ init_lua_key(ignore_spaces);\ init_lua_key(image);\ init_lua_key(imagetype);\ init_lua_key(immediate);\ init_lua_key(in_stream);\ init_lua_key(indent);\ init_lua_key(index);\ init_lua_key(info);\ init_lua_key(Info);\ init_lua_key(inner);\ init_lua_key(input);\ init_lua_key(ins);\ init_lua_key(insert);\ init_lua_key(inserts_only);\ init_lua_key(interlinepenalty);\ init_lua_key(ital_corr);\ init_lua_key(italic);\ init_lua_key(italiccorrection);\ init_lua_key(keepopen);\ init_lua_key(kern);\ init_lua_key(kerns);\ init_lua_key(lang);\ init_lua_key(large_char);\ init_lua_key(large_fam);\ init_lua_key(last_ins_ptr);\ init_lua_key(last_item);\ init_lua_key(lastlinefit);\ init_lua_key(late_lua);\ init_lua_key(leader);\ init_lua_key(leader_ship);\ init_lua_key(leaders);\ init_lua_key(least_page_cost);\ init_lua_key(left);\ init_lua_key(left_boundary);\ init_lua_key(left_brace);\ init_lua_key(left_protruding);\ init_lua_key(left_right);\ init_lua_key(leftskip);\ init_lua_key(let);\ init_lua_key(letter);\ init_lua_key(letterspace_font);\ init_lua_key(level);\ init_lua_key(ligature);\ init_lua_key(ligatures);\ init_lua_key(limit_switch);\ init_lua_key(line);\ init_lua_key(linebreakpenalty);\ init_lua_key(linepenalty);\ init_lua_key(lineskip);\ init_lua_key(link_attr);\ init_lua_key(list);\ init_lua_key(local_box);\ init_lua_key(local_par);\ init_lua_key(log);\ init_lua_key(long_call);\ init_lua_key(long_outer_call);\ init_lua_key(looseness);\ init_lua_key(LTL);\ init_lua_key(lua);\ init_lua_key(lua_bytecode_call);\ init_lua_key(lua_bytecodes_indirect);\ init_lua_key(lua_call);\ init_lua_key(lua_expandable_call);\ init_lua_key(lua_local_call);\ init_lua_key(lua_function_call);\ init_lua_key(lua_functions);\ init_lua_key(luatex);\ init_lua_key(luatex_node);\ init_lua_key(luatex_token);\ init_lua_key(luatex_pdfe);\ init_lua_key(luatex_pdfe_dictionary);\ init_lua_key(luatex_pdfe_array);\ init_lua_key(luatex_pdfe_stream);\ init_lua_key(luatex_pdfe_reference);\ init_lua_key(mac_param);\ init_lua_key(make_box);\ init_lua_key(margin_kern);\ init_lua_key(marginkern);\ init_lua_key(mark);\ init_lua_key(math);\ init_lua_key(math_accent);\ init_lua_key(mathchar);\ init_lua_key(math_char);\ init_lua_key(math_char_num);\ init_lua_key(math_choice);\ init_lua_key(math_comp);\ init_lua_key(math_given);\ init_lua_key(math_left);\ init_lua_key(math_shift);\ init_lua_key(math_shift_cs);\ init_lua_key(math_style);\ init_lua_key(math_sub_box);\ init_lua_key(math_sub_mlist);\ init_lua_key(math_text_char);\ init_lua_key(MathConstants);\ init_lua_key(mathdir);\ init_lua_key(mathkern);\ init_lua_key(mathskip);\ init_lua_key(mathstyle);\ init_lua_key(media);\ init_lua_key(medmuskip);\ init_lua_key(message);\ init_lua_key(mid);\ init_lua_key(middle);\ init_lua_key(mkern);\ init_lua_key(mode);\ init_lua_key(modeline);\ init_lua_key(movement_stack);\ init_lua_key(mskip);\ init_lua_key(muglue);\ init_lua_key(multiply);\ init_lua_key(name);\ init_lua_key(named_id);\ init_lua_key(names);\ init_lua_key(nested_list);\ init_lua_key(new);\ init_lua_key(new_graf);\ init_lua_key(new_window);\ init_lua_key(next);\ init_lua_key(no);\ init_lua_key(nobbox);\ init_lua_key(nolength);\ init_lua_key(notype);\ init_lua_key(no_align);\ init_lua_key(no_expand);\ init_lua_key(no_super_sub_script);\ init_lua_key(noad);\ init_lua_key(noadpenalty);\ init_lua_key(node);\ init_lua_key(nohrule);\ init_lua_key(nomath);\ init_lua_key(non_script);\ init_lua_key(none);\ init_lua_key(nonew);\ init_lua_key(nop);\ init_lua_key(normal);\ init_lua_key(novrule);\ init_lua_key(nucleus);\ init_lua_key(num);\ init_lua_key(numerator);\ init_lua_key(number);\ init_lua_key(objcompression);\ init_lua_key(objnum);\ init_lua_key(oldmath);\ init_lua_key(omit);\ init_lua_key(limits);\ init_lua_key(opdisplaylimits);\ init_lua_key(open);\ init_lua_key(oplimits);\ init_lua_key(opnolimits);\ init_lua_key(option);\ init_lua_key(options);\ init_lua_key(ord);\ init_lua_key(ordering);\ init_lua_key(orientation);\ init_lua_key(origin);\ init_lua_key(other_char);\ init_lua_key(outer_call);\ init_lua_key(outline);\ init_lua_key(output);\ init_lua_key(over);\ init_lua_key(overdelimiter);\ init_lua_key(overlay_accent);\ init_lua_key(ownerpassword);\ init_lua_key(page);\ init_lua_key(page_discards_head);\ init_lua_key(page_head);\ init_lua_key(page_ins_head);\ init_lua_key(page_insert);\ init_lua_key(pageattributes);\ init_lua_key(pagebox);\ init_lua_key(pageresources);\ init_lua_key(pages);\ init_lua_key(Pages);\ init_lua_key(pagesattributes);\ init_lua_key(pagestate);\ init_lua_key(par_end);\ init_lua_key(parameters);\ init_lua_key(pardir);\ init_lua_key(parfillskip);\ init_lua_key(parshape);\ init_lua_key(parskip);\ init_lua_key(passive);\ init_lua_key(pdfe);\ init_lua_key(pdf_action);\ init_lua_key(pdf_annot);\ init_lua_key(pdf_colorstack);\ init_lua_key(pdf_dest);\ init_lua_key(pdf_destination);\ init_lua_key(pdf_end_link);\ init_lua_key(pdf_end_thread);\ init_lua_key(pdf_link_data);\ init_lua_key(pdf_link_state);\ init_lua_key(pdf_literal);\ init_lua_key(pdf_late_literal);\ init_lua_key(pdf_refobj);\ init_lua_key(pdf_restore);\ init_lua_key(pdf_save);\ init_lua_key(pdf_setmatrix);\ init_lua_key(pdf_setobj);\ init_lua_key(pdf_start);\ init_lua_key(pdf_start_link);\ init_lua_key(pdf_start_thread);\ init_lua_key(pdf_thread);\ init_lua_key(pdf_thread_data);\ init_lua_key(pdf_window);\ init_lua_key(pen_broken);\ init_lua_key(pen_inter);\ init_lua_key(penalty);\ init_lua_key(pop);\ init_lua_key(post);\ init_lua_key(post_linebreak);\ init_lua_key(pre);\ init_lua_key(pre_adjust);\ init_lua_key(pre_adjust_head);\ init_lua_key(pre_align);\ init_lua_key(pre_box);\ init_lua_key(preamble);\ init_lua_key(prefix);\ init_lua_key(pretolerance);\ init_lua_key(prev);\ init_lua_key(prevdepth);\ init_lua_key(prevgraf);\ init_lua_key(protected);\ init_lua_key(protrudechars);\ init_lua_key(protrusion);\ init_lua_key(pseudo_file);\ init_lua_key(pseudo_line);\ init_lua_key(psname);\ init_lua_key(ptr);\ init_lua_key(punct);\ init_lua_key(push);\ init_lua_key(quad);\ init_lua_key(radical);\ init_lua_key(raw);\ init_lua_key(read_to_cs);\ init_lua_key(ref_count);\ init_lua_key(recompress);\ init_lua_key(reg);\ init_lua_key(register);\ init_lua_key(registry);\ init_lua_key(regular);\ init_lua_key(rel);\ init_lua_key(relax);\ init_lua_key(remove_item);\ init_lua_key(renew);\ init_lua_key(rep);\ init_lua_key(replace);\ init_lua_key(resources);\ init_lua_key(right);\ init_lua_key(right_boundary);\ init_lua_key(right_brace);\ init_lua_key(right_protruding);\ init_lua_key(rightskip);\ init_lua_key(rotation);\ init_lua_key(RTT);\ init_lua_key(rule);\ init_lua_key(save_pos);\ init_lua_key(scale);\ init_lua_key(script);\ init_lua_key(scripts);\ init_lua_key(scriptscript);\ init_lua_key(second);\ init_lua_key(semi_simple);\ init_lua_key(set);\ init_lua_key(set_aux);\ init_lua_key(set_box);\ init_lua_key(set_box_dimen);\ init_lua_key(set_etex_shape);\ init_lua_key(set_font);\ init_lua_key(set_font_id);\ init_lua_key(set_interaction);\ init_lua_key(set_math_param);\ init_lua_key(set_page_dimen);\ init_lua_key(set_page_int);\ init_lua_key(set_prev_graf);\ init_lua_key(set_tex_shape);\ init_lua_key(shape);\ init_lua_key(shape_ref);\ init_lua_key(shift);\ init_lua_key(shorthand_def);\ init_lua_key(shrink);\ init_lua_key(shrink_order);\ init_lua_key(simple);\ init_lua_key(size);\ init_lua_key(skewchar);\ init_lua_key(slant);\ init_lua_key(slot);\ init_lua_key(small_char);\ init_lua_key(small_fam);\ init_lua_key(space);\ init_lua_key(space_shrink);\ init_lua_key(space_stretch);\ init_lua_key(spacefactor);\ init_lua_key(spacer);\ init_lua_key(spaceskip);\ init_lua_key(span);\ init_lua_key(spec);\ init_lua_key(special);\ init_lua_key(late_special);\ init_lua_key(split_discards_head);\ init_lua_key(split_insert);\ init_lua_key(split_keep);\ init_lua_key(split_off);\ init_lua_key(splittopskip);\ init_lua_key(squeeze);\ init_lua_key(stack);\ init_lua_key(start);\ init_lua_key(start_par);\ init_lua_key(step);\ init_lua_key(stop);\ init_lua_key(stream);\ init_lua_key(streamfile);\ init_lua_key(streamprovider);\ init_lua_key(stretch);\ init_lua_key(stretch_order);\ init_lua_key(string);\ init_lua_key(struct_id);\ init_lua_key(style);\ init_lua_key(sub);\ init_lua_key(subfont);\ init_lua_key(sub_box);\ init_lua_key(sub_mark);\ init_lua_key(sub_mlist);\ init_lua_key(subst_ex_font);\ init_lua_key(subtype);\ init_lua_key(sup);\ init_lua_key(sup_mark);\ init_lua_key(super_sub_script);\ init_lua_key(supplement);\ init_lua_key(surround);\ init_lua_key(tab_mark);\ init_lua_key(tabskip);\ init_lua_key(tail);\ init_lua_key(temp);\ init_lua_key(temp_head);\ init_lua_key(term);\ init_lua_key(tex);\ init_lua_key(text);\ init_lua_key(the);\ init_lua_key(thickmuskip);\ init_lua_key(thinmuskip);\ init_lua_key(thread);\ init_lua_key(thread_attr);\ init_lua_key(thread_id);\ init_lua_key(TLT);\ init_lua_key(tok);\ init_lua_key(token);\ init_lua_key(toks_register);\ init_lua_key(tolerance);\ init_lua_key(top);\ init_lua_key(top_accent);\ init_lua_key(top_bot_mark);\ init_lua_key(top_left);\ init_lua_key(top_right);\ init_lua_key(topskip);\ init_lua_key(tounicode);\ init_lua_key(tracingparagraphs);\ init_lua_key(trailer);\ init_lua_key(Trailer);\ init_lua_key(trailerid);\ init_lua_key(transform);\ init_lua_key(trim);\ init_lua_key(TRT);\ init_lua_key(type);\ init_lua_key(uchyph);\ init_lua_key(udelimiterover);\ init_lua_key(udelimiterunder);\ init_lua_key(un_hbox);\ init_lua_key(un_vbox);\ init_lua_key(undefined_cs);\ init_lua_key(under);\ init_lua_key(underdelimiter);\ init_lua_key(unhyphenated);\ init_lua_key(units_per_em);\ init_lua_key(unknown);\ init_lua_key(unset);\ init_lua_key(uoverdelimiter);\ init_lua_key(uradical);\ init_lua_key(uroot);\ init_lua_key(used);\ init_lua_key(user);\ init_lua_key(userpassword);\ init_lua_key(user_defined);\ init_lua_key(user_id);\ init_lua_key(userkern);\ init_lua_key(userpenalty);\ init_lua_key(userskip);\ init_lua_key(uunderdelimiter);\ init_lua_key(v);\ init_lua_key(vadjust);\ init_lua_key(valign);\ init_lua_key(value);\ init_lua_key(variable);\ init_lua_key(vbox);\ init_lua_key(vcenter);\ init_lua_key(version);\ init_lua_key(vertical);\ init_lua_key(vert_italic);\ init_lua_key(vert_variants);\ init_lua_key(visiblefilename);\ init_lua_key(vlist);\ init_lua_key(vmode_par);\ init_lua_key(vmove);\ init_lua_key(vrule);\ init_lua_key(vskip);\ init_lua_key(vtop);\ init_lua_key(whatsit);\ init_lua_key(widowpenalty);\ init_lua_key(width);\ init_lua_key(word);\ init_lua_key(wordpenalty);\ init_lua_key(write);\ init_lua_key(writingmode);\ init_lua_key(x_height);\ init_lua_key(xadvance);\ init_lua_key(xformattributes);\ init_lua_key(xformresources);\ init_lua_key(xleaders);\ init_lua_key(xmath_given);\ init_lua_key(xoffset);\ init_lua_key(xray);\ init_lua_key(xres);\ init_lua_key(xsize);\ init_lua_key(xspaceskip);\ init_lua_key(xyz);\ init_lua_key(xyz_zoom);\ init_lua_key(yoffset);\ init_lua_key(yres);\ init_lua_key(ysize);\ init_lua_key_alias(empty_string,"");\ init_lua_key_alias(lua_bytecodes_indirect,"lua.bytecodes.indirect");\ init_lua_key_alias(lua_functions,"lua.functions");\ init_lua_key_alias(luatex_node, "luatex.node");\ init_lua_key_alias(luatex_token, "luatex.token");\ init_lua_key_alias(luatex_pdfe, "luatex.pdfe");\ init_lua_key_alias(luatex_pdfe_dictionary, "luatex.pdfe.dictionary");\ init_lua_key_alias(luatex_pdfe_array, "luatex.pdfe.array");\ init_lua_key_alias(luatex_pdfe_stream, "luatex.pdfe.stream");\ init_lua_key_alias(luatex_pdfe_reference, "luatex.pdfe.reference");\ init_lua_key_alias(mLTL,"-LTL");\ init_lua_key_alias(mRTT,"-RTT");\ init_lua_key_alias(mTLT,"-TLT");\ init_lua_key_alias(mTRT,"-TRT");\ init_lua_key_alias(node_properties,"node.properties");\ init_lua_key_alias(node_properties_indirect,"node.properties.indirect");\ init_lua_key_alias(pLTL,"+LTL");\ init_lua_key_alias(pRTT,"+RTT");\ init_lua_key_alias(pTLT,"+TLT");\ init_lua_key_alias(pTRT,"+TRT");\ init_lua_key_alias(pdf,"pdf");\ init_lua_key_alias(pdf_data,"pdf.data");\ init_lua_key_alias(term_and_log,"term and log") #define assign_math_style(L,n,target) do { \ if (lua_type(L,n) == LUA_TNUMBER) { \ /* new, often same as subtype anyway */ \ target = lua_tointeger(L,n); \ } else if (lua_type(L,n) == LUA_TSTRING) { \ const char *s = lua_tostring(L, n); \ if (lua_key_eq(s,display)) { \ target = 0; \ } else if (lua_key_eq(s,crampeddisplay)) { \ target = 1; \ } else if (lua_key_eq(s,text)) { \ target = 2; \ } else if (lua_key_eq(s,crampedtext)) { \ target = 3; \ } else if (lua_key_eq(s,script)) { \ target = 4; \ } else if (lua_key_eq(s,crampedscript)) { \ target = 5; \ } else if (lua_key_eq(s,scriptscript)) { \ target = 6; \ } else if (lua_key_eq(s,crampedscriptscript)) { \ target = 7; \ } else { \ target = 2; \ } \ } else { \ target = 2; /* text by default */ \ } \ } while(0) #ifdef _WIN32 extern FILE *_cairo_win_tmpfile( void ); #define tmpfile() _cairo_win_tmpfile() #endif /* _WIN32 */ #endif /* LUATEX_API_H */ /* */ /* These keys have to available to different files */ /* */ use_lua_key(__index); use_lua_key(above); use_lua_key(abovedisplayshortskip); use_lua_key(abovedisplayskip); use_lua_key(accent); use_lua_key(accentkern); use_lua_key(action); use_lua_key(action_id); use_lua_key(action_type); use_lua_key(active); use_lua_key(additional); use_lua_key(adjdemerits); use_lua_key(adjust); use_lua_key(adjust_head); use_lua_key(adjusted_hbox); use_lua_key(adjustspacing); use_lua_key(advance); use_lua_key(after_assignment); use_lua_key(after_display); use_lua_key(after_group); use_lua_key(partoken_name); use_lua_key(after_output); use_lua_key(afterdisplaypenalty); use_lua_key(align); use_lua_key(align_head); use_lua_key(align_record); use_lua_key(align_set); use_lua_key(align_stack); use_lua_key(alignment); use_lua_key(always); use_lua_key(annot); use_lua_key(area); use_lua_key(art); use_lua_key(assign_attr); use_lua_key(assign_box_dir); use_lua_key(assign_box_direction); use_lua_key(assign_dimen); use_lua_key(assign_dir); use_lua_key(assign_direction); use_lua_key(assign_font_dimen); use_lua_key(assign_font_int); use_lua_key(assign_glue); use_lua_key(assign_hang_indent); use_lua_key(assign_int); use_lua_key(assign_local_box); use_lua_key(assign_mu_glue); use_lua_key(assign_toks); use_lua_key(attr); use_lua_key(attribute); use_lua_key(attribute_list); use_lua_key(attributes); use_lua_key(automatic); use_lua_key(baselineskip); use_lua_key(bbox); use_lua_key(before_display); use_lua_key(beforedisplaypenalty); use_lua_key(begin_group); use_lua_key(beginmath); use_lua_key(belowdisplayshortskip); use_lua_key(belowdisplayskip); use_lua_key(best_ins_ptr); use_lua_key(best_page_break); use_lua_key(best_size); use_lua_key(bin); use_lua_key(bleed); use_lua_key(bot); use_lua_key(bottom); use_lua_key(splitbottom); use_lua_key(bot_accent); use_lua_key(bothflexible); use_lua_key(bottom_left); use_lua_key(bottom_right); use_lua_key(boundary); use_lua_key(box); use_lua_key(box_left); use_lua_key(box_left_width); use_lua_key(box_ref); use_lua_key(box_right); use_lua_key(box_right_width); use_lua_key(box_there); use_lua_key(break_penalty); use_lua_key(broken_ins); use_lua_key(broken_ptr); use_lua_key(brokenpenalty); use_lua_key(cache); use_lua_key(cal_expand_ratio); use_lua_key(call); use_lua_key(cancel); use_lua_key(car_ret); use_lua_key(case_shift); use_lua_key(Catalog); use_lua_key(catalog); use_lua_key(cell); use_lua_key(char); use_lua_key(char_ghost); use_lua_key(char_given); use_lua_key(char_num); use_lua_key(character); use_lua_key(characters); use_lua_key(checksum); use_lua_key(choice); use_lua_key(cidinfo); use_lua_key(class); use_lua_key(cleaders); use_lua_key(close); use_lua_key(clubpenalty); use_lua_key(cmd); use_lua_key(cmdname); use_lua_key(color_stack); use_lua_key(colordepth); use_lua_key(colorspace); use_lua_key(combinetoks); use_lua_key(command); use_lua_key(commands); use_lua_key(comment); use_lua_key(components); use_lua_key(compresslevel); use_lua_key(conditionalmathskip); use_lua_key(contrib_head); use_lua_key(convert); use_lua_key(copy_font); use_lua_key(core); use_lua_key(cost); use_lua_key(count); use_lua_key(crampeddisplay); use_lua_key(crampedscript); use_lua_key(crampedscriptscript); use_lua_key(crampedtext); use_lua_key(crop); use_lua_key(cs_name); use_lua_key(csname); use_lua_key(current); use_lua_key(data); use_lua_key(def); use_lua_key(def_char_code); use_lua_key(def_del_code); use_lua_key(def_family); use_lua_key(def_font); use_lua_key(def_lua_call); use_lua_key(degree); use_lua_key(delim); use_lua_key(delimiter); use_lua_key(hdelimiter); use_lua_key(vdelimiter); use_lua_key(delim_num); use_lua_key(delimptr); use_lua_key(delta); use_lua_key(demerits); use_lua_key(denom); use_lua_key(denominator); use_lua_key(depth); use_lua_key(designsize); use_lua_key(dest_id); use_lua_key(dest_type); use_lua_key(dir); use_lua_key(dir_h); use_lua_key(direct); use_lua_key(direction); use_lua_key(dirs); use_lua_key(disc); use_lua_key(discretionary); use_lua_key(display); use_lua_key(divide); use_lua_key(dont_expand); use_lua_key(doublehyphendemerits); use_lua_key(down); use_lua_key(embedding); use_lua_key(emergencystretch); use_lua_key(empty); use_lua_key(empty_string); use_lua_key(encodingbytes); use_lua_key(encodingname); use_lua_key(end); use_lua_key(end_cs_name); use_lua_key(end_group); use_lua_key(end_template); use_lua_key(endmath); use_lua_key(endv); use_lua_key(eq_no); use_lua_key(equation);\ use_lua_key(equation_number);\ use_lua_key(equationnumber); use_lua_key(equationnumberpenalty); use_lua_key(etex); use_lua_key(ex_space); use_lua_key(exactly); use_lua_key(expand_after); use_lua_key(expand_font); use_lua_key(expandable); use_lua_key(expansion_factor); use_lua_key(explicit); use_lua_key(expr_stack); use_lua_key(ext); use_lua_key(extdef_del_code); use_lua_key(extdef_math_code); use_lua_key(extend); use_lua_key(extender); use_lua_key(extensible); use_lua_key(hextensible); use_lua_key(vextensible); use_lua_key(extension); use_lua_key(extra_space); use_lua_key(fam); use_lua_key(fast); use_lua_key(feedback); use_lua_key(fence); use_lua_key(fi); use_lua_key(fi_or_else); use_lua_key(fil); use_lua_key(file); use_lua_key(filename); use_lua_key(filepath); use_lua_key(fill); use_lua_key(filll); use_lua_key(fillll); use_lua_key(fin_row); use_lua_key(finalhyphendemerits); use_lua_key(finalpenalty); use_lua_key(first); use_lua_key(splitfirst); use_lua_key(fit); use_lua_key(fitb); use_lua_key(fitbh); use_lua_key(fitbv); use_lua_key(fith); use_lua_key(fitr); use_lua_key(fitv); use_lua_key(fixedboth); use_lua_key(fixedbottom); use_lua_key(fixedtop); use_lua_key(font); use_lua_key(fontkern); use_lua_key(fonts); use_lua_key(format); use_lua_key(fraction); use_lua_key(fullname); use_lua_key(ghost); use_lua_key(gleaders); use_lua_key(global); use_lua_key(glue); use_lua_key(glue_order); use_lua_key(glue_ref); use_lua_key(glue_set); use_lua_key(glue_sign); use_lua_key(glue_spec); use_lua_key(glyph); use_lua_key(goto); use_lua_key(h); use_lua_key(halign); use_lua_key(hangafter); use_lua_key(hangindent); use_lua_key(hbox); use_lua_key(head); use_lua_key(height); use_lua_key(hlist); use_lua_key(hmode_par); use_lua_key(hmove); use_lua_key(hold_head); use_lua_key(horizontal); use_lua_key(horiz_variants); use_lua_key(hrule); use_lua_key(hsize); use_lua_key(hskip); use_lua_key(hyph_data); use_lua_key(hyphenated); use_lua_key(hyphenchar); use_lua_key(id); use_lua_key(identity); use_lua_key(if_stack); use_lua_key(if_test); use_lua_key(ignore_spaces); use_lua_key(image); use_lua_key(imagetype); use_lua_key(immediate); use_lua_key(in_stream); use_lua_key(indent); use_lua_key(index); use_lua_key(info); use_lua_key(Info); use_lua_key(inner); use_lua_key(input); use_lua_key(ins); use_lua_key(insert); use_lua_key(inserts_only); use_lua_key(interlinepenalty); use_lua_key(ital_corr); use_lua_key(italic); use_lua_key(italiccorrection); use_lua_key(keepopen); use_lua_key(kern); use_lua_key(kerns); use_lua_key(lang); use_lua_key(large_char); use_lua_key(large_fam); use_lua_key(last_ins_ptr); use_lua_key(last_item); use_lua_key(lastlinefit); use_lua_key(late_lua); use_lua_key(leader); use_lua_key(leader_ship); use_lua_key(leaders); use_lua_key(least_page_cost); use_lua_key(left); use_lua_key(left_boundary); use_lua_key(left_brace); use_lua_key(left_protruding); use_lua_key(left_right); use_lua_key(leftskip); use_lua_key(let); use_lua_key(letter); use_lua_key(letterspace_font); use_lua_key(level); use_lua_key(ligature); use_lua_key(ligatures); use_lua_key(limit_switch); use_lua_key(line); use_lua_key(linebreakpenalty); use_lua_key(linepenalty); use_lua_key(lineskip); use_lua_key(link_attr); use_lua_key(list); use_lua_key(local_box); use_lua_key(local_par); use_lua_key(log); use_lua_key(long_call); use_lua_key(long_outer_call); use_lua_key(looseness); use_lua_key(LTL); use_lua_key(lua); use_lua_key(lua_bytecode_call); use_lua_key(lua_bytecodes_indirect); use_lua_key(lua_call); use_lua_key(lua_expandable_call); use_lua_key(lua_local_call); use_lua_key(lua_function_call); use_lua_key(lua_functions); use_lua_key(luatex); use_lua_key(luatex_node); use_lua_key(luatex_token); use_lua_key(luatex_pdfe); use_lua_key(luatex_pdfe_dictionary); use_lua_key(luatex_pdfe_array); use_lua_key(luatex_pdfe_stream); use_lua_key(luatex_pdfe_reference); use_lua_key(mac_param); use_lua_key(make_box); use_lua_key(margin_kern); use_lua_key(marginkern); use_lua_key(mark); use_lua_key(math); use_lua_key(math_accent); use_lua_key(mathchar); use_lua_key(math_char); use_lua_key(math_char_num); use_lua_key(math_choice); use_lua_key(math_comp); use_lua_key(math_given); use_lua_key(math_left); use_lua_key(math_shift); use_lua_key(math_shift_cs); use_lua_key(math_style); use_lua_key(math_sub_box); use_lua_key(math_sub_mlist); use_lua_key(math_text_char); use_lua_key(MathConstants); use_lua_key(mathdir); use_lua_key(mathkern); use_lua_key(mathskip); use_lua_key(mathstyle); use_lua_key(media); use_lua_key(medmuskip); use_lua_key(message); use_lua_key(mid); use_lua_key(middle); use_lua_key(mkern); use_lua_key(mLTL); use_lua_key(mode); use_lua_key(modeline); use_lua_key(movement_stack); use_lua_key(mRTT); use_lua_key(mskip); use_lua_key(mTLT); use_lua_key(mTRT); use_lua_key(muglue); use_lua_key(multiply); use_lua_key(name); use_lua_key(named_id); use_lua_key(names); use_lua_key(nested_list); use_lua_key(new); use_lua_key(new_graf); use_lua_key(new_window); use_lua_key(next); use_lua_key(no); use_lua_key(nobbox); use_lua_key(nolength); use_lua_key(notype); use_lua_key(no_align); use_lua_key(no_expand); use_lua_key(no_super_sub_script); use_lua_key(noad); use_lua_key(noadpenalty); use_lua_key(node); use_lua_key(node_properties); use_lua_key(node_properties_indirect); use_lua_key(nohrule); use_lua_key(nomath); use_lua_key(non_script); use_lua_key(none); use_lua_key(nonew); use_lua_key(nop); use_lua_key(normal); use_lua_key(novrule); use_lua_key(nucleus); use_lua_key(num); use_lua_key(numerator); use_lua_key(number); use_lua_key(objcompression); use_lua_key(objnum); use_lua_key(oldmath); use_lua_key(omit); use_lua_key(limits); use_lua_key(opdisplaylimits); use_lua_key(open); use_lua_key(oplimits); use_lua_key(opnolimits); use_lua_key(option); use_lua_key(options); use_lua_key(ord); use_lua_key(ordering); use_lua_key(orientation); use_lua_key(origin); use_lua_key(other_char); use_lua_key(outer_call); use_lua_key(outline); use_lua_key(output); use_lua_key(over); use_lua_key(overdelimiter); use_lua_key(overlay_accent); use_lua_key(ownerpassword); use_lua_key(page); use_lua_key(page_discards_head); use_lua_key(page_head); use_lua_key(page_ins_head); use_lua_key(page_insert); use_lua_key(pageattributes); use_lua_key(pagebox); use_lua_key(pageresources); use_lua_key(pages); use_lua_key(Pages); use_lua_key(pagesattributes); use_lua_key(pagestate); use_lua_key(par_end); use_lua_key(parameters); use_lua_key(pardir); use_lua_key(parfillskip); use_lua_key(parshape); use_lua_key(parskip); use_lua_key(passive); use_lua_key(pdf); use_lua_key(pdfe); use_lua_key(pdf_action); use_lua_key(pdf_annot); use_lua_key(pdf_colorstack); use_lua_key(pdf_data); use_lua_key(pdf_dest); use_lua_key(pdf_destination); use_lua_key(pdf_end_link); use_lua_key(pdf_end_thread); use_lua_key(pdf_link_data); use_lua_key(pdf_link_state); use_lua_key(pdf_literal); use_lua_key(pdf_late_literal); use_lua_key(pdf_refobj); use_lua_key(pdf_restore); use_lua_key(pdf_save); use_lua_key(pdf_setmatrix); use_lua_key(pdf_setobj); use_lua_key(pdf_start); use_lua_key(pdf_start_link); use_lua_key(pdf_start_thread); use_lua_key(pdf_thread); use_lua_key(pdf_thread_data); use_lua_key(pdf_window); use_lua_key(pen_broken); use_lua_key(pen_inter); use_lua_key(penalty); use_lua_key(pLTL); use_lua_key(pop); use_lua_key(post); use_lua_key(post_linebreak); use_lua_key(pre); use_lua_key(pre_adjust); use_lua_key(pre_adjust_head); use_lua_key(pre_align); use_lua_key(pre_box); use_lua_key(preamble); use_lua_key(prefix); use_lua_key(pretolerance); use_lua_key(prev); use_lua_key(prevdepth); use_lua_key(prevgraf); use_lua_key(protected); use_lua_key(protrudechars); use_lua_key(protrusion); use_lua_key(pRTT); use_lua_key(pseudo_file); use_lua_key(pseudo_line); use_lua_key(psname); use_lua_key(pTLT); use_lua_key(ptr); use_lua_key(pTRT); use_lua_key(punct); use_lua_key(push); use_lua_key(quad); use_lua_key(radical); use_lua_key(raw); use_lua_key(read_to_cs); use_lua_key(ref_count); use_lua_key(recompress); use_lua_key(reg); use_lua_key(register); use_lua_key(registry); use_lua_key(regular); use_lua_key(rel); use_lua_key(relax); use_lua_key(remove_item); use_lua_key(renew); use_lua_key(rep); use_lua_key(replace); use_lua_key(resources); use_lua_key(right); use_lua_key(right_boundary); use_lua_key(right_brace); use_lua_key(right_protruding); use_lua_key(rightskip); use_lua_key(rotation); use_lua_key(RTT); use_lua_key(rule); use_lua_key(save_pos); use_lua_key(scale); use_lua_key(script); use_lua_key(scripts); use_lua_key(scriptscript); use_lua_key(second); use_lua_key(semi_simple); use_lua_key(set); use_lua_key(set_aux); use_lua_key(set_box); use_lua_key(set_box_dimen); use_lua_key(set_etex_shape); use_lua_key(set_font); use_lua_key(set_font_id); use_lua_key(set_interaction); use_lua_key(set_math_param); use_lua_key(set_page_dimen); use_lua_key(set_page_int); use_lua_key(set_prev_graf); use_lua_key(set_tex_shape); use_lua_key(shape); use_lua_key(shape_ref); use_lua_key(shift); use_lua_key(shorthand_def); use_lua_key(shrink); use_lua_key(shrink_order); use_lua_key(simple); use_lua_key(size); use_lua_key(skewchar); use_lua_key(slant); use_lua_key(slot); use_lua_key(small_char); use_lua_key(small_fam); use_lua_key(space); use_lua_key(space_shrink); use_lua_key(space_stretch); use_lua_key(spacefactor); use_lua_key(spacer); use_lua_key(spaceskip); use_lua_key(span); use_lua_key(spec); use_lua_key(special); use_lua_key(late_special); use_lua_key(split_discards_head); use_lua_key(split_insert); use_lua_key(split_keep); use_lua_key(split_off); use_lua_key(splittopskip); use_lua_key(squeeze); use_lua_key(stack); use_lua_key(start); use_lua_key(start_par); use_lua_key(step); use_lua_key(stop); use_lua_key(stream); use_lua_key(streamfile); use_lua_key(streamprovider); use_lua_key(stretch); use_lua_key(stretch_order); use_lua_key(string); use_lua_key(struct_id); use_lua_key(style); use_lua_key(sub); use_lua_key(subfont); use_lua_key(sub_box); use_lua_key(sub_mark); use_lua_key(sub_mlist); use_lua_key(subst_ex_font); use_lua_key(subtype); use_lua_key(sup); use_lua_key(sup_mark); use_lua_key(super_sub_script); use_lua_key(supplement); use_lua_key(surround); use_lua_key(tab_mark); use_lua_key(tabskip); use_lua_key(tail); use_lua_key(temp); use_lua_key(temp_head); use_lua_key(term); use_lua_key(term_and_log); use_lua_key(tex); use_lua_key(text); use_lua_key(the); use_lua_key(thickmuskip); use_lua_key(thinmuskip); use_lua_key(thread); use_lua_key(thread_attr); use_lua_key(thread_id); use_lua_key(TLT); use_lua_key(tok); use_lua_key(token); use_lua_key(toks_register); use_lua_key(tolerance); use_lua_key(top); use_lua_key(top_accent); use_lua_key(top_bot_mark); use_lua_key(top_left); use_lua_key(top_right); use_lua_key(topskip); use_lua_key(tounicode); use_lua_key(tracingparagraphs); use_lua_key(trailer); use_lua_key(Trailer); use_lua_key(trailerid); use_lua_key(transform); use_lua_key(trim); use_lua_key(TRT); use_lua_key(type); use_lua_key(uchyph); use_lua_key(udelimiterover); use_lua_key(udelimiterunder); use_lua_key(un_hbox); use_lua_key(un_vbox); use_lua_key(undefined_cs); use_lua_key(under); use_lua_key(underdelimiter); use_lua_key(unhyphenated); use_lua_key(units_per_em); use_lua_key(unknown); use_lua_key(unset); use_lua_key(uoverdelimiter); use_lua_key(uradical); use_lua_key(uroot); use_lua_key(used); use_lua_key(user); use_lua_key(userpassword); use_lua_key(user_defined); use_lua_key(user_id); use_lua_key(userkern); use_lua_key(userpenalty); use_lua_key(userskip); use_lua_key(uunderdelimiter); use_lua_key(v); use_lua_key(vadjust); use_lua_key(valign); use_lua_key(value); use_lua_key(variable); use_lua_key(vbox); use_lua_key(vcenter); use_lua_key(version); use_lua_key(vertical); use_lua_key(vert_italic); use_lua_key(vert_variants); use_lua_key(visiblefilename); use_lua_key(vlist); use_lua_key(vmode_par); use_lua_key(vmove); use_lua_key(vrule); use_lua_key(vskip); use_lua_key(vtop); use_lua_key(whatsit); use_lua_key(widowpenalty); use_lua_key(width); use_lua_key(word); use_lua_key(wordpenalty); use_lua_key(write); use_lua_key(writingmode); use_lua_key(x_height); use_lua_key(xadvance); use_lua_key(xformattributes); use_lua_key(xformresources); use_lua_key(xleaders); use_lua_key(xmath_given); use_lua_key(xoffset); use_lua_key(xray); use_lua_key(xres); use_lua_key(xsize); use_lua_key(xspaceskip); use_lua_key(xyz); use_lua_key(xyz_zoom); use_lua_key(yoffset); use_lua_key(yres); use_lua_key(ysize);