3 Copyright 2006-2012 Taco Hoekwater <taco@luatex.org>
5 This file is part of LuaTeX.
7 LuaTeX is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your
10 option) any later version.
12 LuaTeX is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 License for more details.
17 You should have received a copy of the GNU General Public License along
18 with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */
21 # define LUATEX_API_H 1
23 /* output modes, a bad place but this compiles at least */
25 typedef enum { OMODE_NONE
, OMODE_DVI
, OMODE_PDF
} output_mode
;
27 # define MAX_OMODE 2 /* largest index in enum output_mode */
29 extern int output_mode_used
;
30 extern int output_mode_option
;
31 extern int output_mode_value
;
32 extern int draft_mode_option
;
33 extern int draft_mode_value
;
35 /* get_o_mode translates from output_mode to output_mode_used */
36 /* fix_o_mode freezes output_mode as soon as anything goes through the backend */
38 extern output_mode
get_o_mode(void);
39 extern void fix_o_mode(void);
51 # define MyName "LuajitTeX"
52 # define my_name "luajittex"
54 # define MyName "LuaTeX"
55 # define my_name "luatex"
62 typedef struct LoadS
{
67 extern lua_State
*Luas
;
69 extern void make_table(lua_State
* L
, const char *tab
, const char *mttab
, const char *getfunc
,
72 extern int luac_main(int argc
, char *argv
[]);
74 extern int luaopen_tex(lua_State
* L
);
75 extern int luaopen_pdf(lua_State
* L
);
76 extern int luaopen_texio(lua_State
* L
);
77 extern int luaopen_lang(lua_State
* L
);
79 # define LUA_TEXFILEHANDLE "TEXFILE*"
81 extern lua_State
*luatex_error(lua_State
* L
, int fatal
);
83 extern int luaopen_unicode(lua_State
* L
);
84 extern int luaopen_zip(lua_State
* L
);
85 extern int luaopen_lfs(lua_State
* L
);
86 extern int luaopen_lpeg(lua_State
* L
);
87 extern int luaopen_md5(lua_State
* L
);
88 extern int luatex_md5_lua_open(lua_State
* L
);
91 extern int luaopen_ffi(lua_State
* L
);
94 extern int luaopen_zlib(lua_State
* L
);
95 extern int luaopen_gzip(lua_State
* L
);
96 extern int luaopen_ff(lua_State
* L
);
97 extern int luaopen_profiler(lua_State
* L
);
99 extern int luaopen_socket_core(lua_State
* L
);
100 extern int luaopen_mime_core(lua_State
* L
);
101 extern void luatex_socketlua_open(lua_State
* L
);
103 extern int luaopen_img(lua_State
* L
);
104 extern int l_new_image(lua_State
* L
);
105 extern int luaopen_epdf(lua_State
* L
);
106 extern int luaopen_pdfscanner(lua_State
* L
);
107 extern int luaopen_mplib(lua_State
* L
);
109 extern void open_oslibext(lua_State
* L
, int safer_option
);
110 extern int open_iolibext(lua_State
* L
);
111 extern void open_strlibext(lua_State
* L
);
112 extern void open_lfslibext(lua_State
* L
);
114 extern void initfilecallbackids(int max
);
115 extern void setinputfilecallbackid(int n
, int i
);
116 extern void setreadfilecallbackid(int n
, int i
);
117 extern int getinputfilecallbackid(int n
);
118 extern int getreadfilecallbackid(int n
);
120 extern void lua_initialize(int ac
, char **av
);
122 extern int luaopen_kpse(lua_State
* L
);
124 extern int luaopen_callback(lua_State
* L
);
126 extern int luaopen_lua(lua_State
* L
, char *fname
);
128 extern int luaopen_stats(lua_State
* L
);
130 extern int luaopen_font(lua_State
* L
);
131 extern int luaopen_vf(lua_State
* L
);
132 extern int font_to_lua(lua_State
* L
, int f
);
133 extern int font_from_lua(lua_State
* L
, int f
); /* return is boolean */
135 extern int luaopen_token(lua_State
* L
);
136 extern void tokenlist_to_lua(lua_State
* L
, int p
);
137 extern void tokenlist_to_luastring(lua_State
* L
, int p
);
138 extern int tokenlist_from_lua(lua_State
* L
);
140 extern void lua_nodelib_push(lua_State
* L
);
141 extern int nodelib_getdir(lua_State
* L
, int n
, int absolute_only
);
142 extern int nodelib_getlist(lua_State
* L
, int n
);
144 extern int luaopen_node(lua_State
* L
);
145 extern void nodelist_to_lua(lua_State
* L
, int n
);
146 extern int nodelist_from_lua(lua_State
* L
);
148 extern int dimen_to_number(lua_State
* L
, const char *s
);
150 extern int get_command_id(const char *s
);
152 extern void dump_luac_registers(void);
154 extern void undump_luac_registers(void);
159 extern char *jithash_hashname
;
162 #if !defined(LUAI_HASHLIMIT)
163 #define LUAI_HASHLIMIT 5
165 extern unsigned char show_luahashchars
;
167 extern void unhide_lua_table(lua_State
* lua
, const char *name
, int r
);
168 extern int hide_lua_table(lua_State
* lua
, const char *name
);
170 extern void unhide_lua_value(lua_State
* lua
, const char *name
, const char *item
, int r
);
171 extern int hide_lua_value(lua_State
* lua
, const char *name
, const char *item
);
173 typedef struct command_item_
{
174 const char *cmd_name
;
176 const char **commands
;
179 extern command_item command_names
[];
180 extern int callback_callbacks_id
;
182 extern void luainterpreter(void);
184 extern int luabytecode_max
;
185 extern unsigned int luabytecode_bytes
;
186 extern int luastate_bytes
;
188 extern int callback_count
;
189 extern int saved_callback_count
;
191 extern const char *luatex_banner
;
192 extern const char *engine_name
;
197 const char *name
; /* parameter name */
198 int idx
; /* index within img_parms array */
201 extern void preset_environment(lua_State
* L
, const parm_struct
* p
, const char *s
);
203 extern char *startup_filename
;
204 extern int safer_option
;
205 extern int nosocket_option
;
206 extern int utc_option
;
208 extern char *last_source_name
;
209 extern int last_lineno
;
211 extern int program_name_set
; /* in lkpselib.c */
217 extern int loader_C_luatex(lua_State
* L
, const char *name
, const char *filename
);
218 extern int loader_Call_luatex(lua_State
* L
, const char *name
, const char *filename
);
220 extern void init_tex_table(lua_State
* L
);
222 extern int tex_table_id
;
223 extern int pdf_table_id
;
224 extern int token_table_id
;
225 extern int node_table_id
;
226 extern int main_initialize(void);
228 extern int do_run_callback(int special
, const char *values
, va_list vl
);
229 extern int lua_traceback(lua_State
* L
);
233 extern char *luanames
[];
235 extern int ff_get_ttc_index(char *ffname
, char *psname
); /* luafontloader/src/luafflib.c */
236 extern int ff_createcff(char *, unsigned char **, int *); /* luafontloader/src/luafflib.c */
238 extern char *FindResourceTtfFont(char *filename
, char *fontname
); /* luafontloader/fontforge/fontforge/macbinary.c */
240 extern char charsetstr
[]; /* from mpdir/psout.w */
243 extern char **environ
;
250 extern int luatwrite(lua_State
* L
);
253 Same as in lnodelib.c, but with prefix G_ for now.
254 These macros create and access pointers (indices) to keys which is faster. The
255 shortcuts are created as part of the initialization.
259 #define init_lua_key(a) do { \
260 lua_pushliteral(Luas,#a); \
261 luaS_##a##_ptr = lua_tostring(Luas,-1); \
262 luaS_##a##_index = luaL_ref (Luas,LUA_REGISTRYINDEX); \
265 #define init_lua_key_alias(a,b) do { \
266 lua_pushliteral(Luas,b); \
267 luaS_##a##_ptr = lua_tostring(Luas,-1); \
268 luaS_##a##_index = luaL_ref (Luas,LUA_REGISTRYINDEX); \
271 #define make_lua_key(a) \
272 int luaS_##a##_index = 0; \
273 const char * luaS_##a##_ptr = NULL
275 #define lua_key_eq(a,b) (a==luaS_##b##_ptr)
277 #define lua_key_index(a) luaS_##a##_index
278 #define lua_key(a) luaS_##a##_ptr
279 #define lua_key_plus(a) luaS_p##a##_ptr
280 #define lua_key_minus(a) luaS_m##a##_ptr
281 #define use_lua_key(a) \
282 extern int luaS_##a##_index ; \
283 extern const char * luaS_##a##_ptr
285 #define lua_key_rawgeti(a) \
286 lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index);\
289 #define lua_key_direct_rawgeti(i) \
290 lua_rawgeti(L, LUA_REGISTRYINDEX, i);\
293 #define lua_key_rawgeti_n(a,n) \
294 lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index);\
297 #define lua_key_direct_rawget_n(i,n) \
298 lua_rawgeti(L, LUA_REGISTRYINDEX, i);\
301 #define lua_push_key(a) \
302 lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index);
304 #define lua_get_metatablelua_l(L,a) do { \
305 lua_rawgeti(L, LUA_REGISTRYINDEX, luaS_##a##_index); \
306 lua_gettable(L, LUA_REGISTRYINDEX); \
309 #define lua_get_metatablelua(a) lua_get_metatablelua_l(L,a)
312 Unfortunately floor is already redefined as
313 #define floor ((integer)floor((double)(a)))
315 #define lua_uroundnumber(a,b) (unsigned int)floor((double)(lua_tonumber(a,b)+0.5))
319 #define lua_roundnumber(a,b) (int)floor((double)lua_tonumber(a,b)+0.5)
320 #define lua_uroundnumber(a,b) (unsigned int)((double)(lua_tonumber(a,b)+0.5))
321 extern int lua_numeric_field_by_index(lua_State
*, int , int);
322 extern unsigned int lua_unsigned_numeric_field_by_index(lua_State
*, int , int);
324 /* Currently we sometimes use numbers and sometimes strings in node properties. We can
325 make that consistent by having a check on number and if not then assign a string. The
326 strings are prehashed and we make a bunch of lua tables that have these values. We can
327 preassign these at startup time. */
329 /* no need for L state argument */
331 #define PACK_TYPE_SIZE 4
332 #define GROUP_CODE_SIZE 23
333 #define LOCAL_PAR_SIZE 5
334 #define MATH_STYLE_NAME_SIZE 8
335 #define APPEND_LIST_SIZE 5
336 #define DIR_PAR_SIZE 8
337 #define DIR_TEXT_SIZE 8
339 extern int l_pack_type_index
[PACK_TYPE_SIZE
];
340 extern int l_group_code_index
[GROUP_CODE_SIZE
];
341 extern int l_local_par_index
[LOCAL_PAR_SIZE
];
342 extern int l_math_style_name_index
[MATH_STYLE_NAME_SIZE
];
343 extern int l_dir_par_index
[DIR_PAR_SIZE
];
344 extern int l_dir_text_index
[DIR_TEXT_SIZE
];
346 #define lua_push_pack_type(L,pack_type) lua_rawgeti(L, LUA_REGISTRYINDEX, l_pack_type_index[pack_type] );
347 #define lua_push_group_code(L,group_code) lua_rawgeti(L, LUA_REGISTRYINDEX, l_group_code_index[group_code]);
348 #define lua_push_local_par_mode(L,par_mode) lua_rawgeti(L, LUA_REGISTRYINDEX, l_local_par_index[par_mode]);
349 #define lua_push_math_style_name(L,style_name) lua_rawgeti(L, LUA_REGISTRYINDEX, l_math_style_name_index[style_name]);
350 #define lua_push_dir_par(L,dir) lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_par_index[dir+dir_swap])
351 #define lua_push_dir_text(L,dir) lua_rawgeti(L, LUA_REGISTRYINDEX, l_dir_text_index[dir+dir_swap])
353 #define lua_push_string_by_index(L,index) lua_rawgeti(L, LUA_REGISTRYINDEX, index)
354 #define lua_push_string_by_name(L,index) lua_rawgeti(L, LUA_REGISTRYINDEX, lua_key_index(index))
356 #define set_l_pack_type_index \
357 l_pack_type_index[exactly] = lua_key_index(exactly); \
358 l_pack_type_index[additional] = lua_key_index(additional); \
359 l_pack_type_index[cal_expand_ratio] = lua_key_index(cal_expand_ratio);\
360 l_pack_type_index[subst_ex_font] = lua_key_index(subst_ex_font);
362 #define set_l_group_code_index \
363 l_group_code_index[bottom_level] = lua_key_index(empty_string);\
364 l_group_code_index[simple_group] = lua_key_index(simple);\
365 l_group_code_index[hbox_group] = lua_key_index(hbox);\
366 l_group_code_index[adjusted_hbox_group] = lua_key_index(adjusted_hbox);\
367 l_group_code_index[vbox_group] = lua_key_index(vbox);\
368 l_group_code_index[vtop_group] = lua_key_index(vtop);\
369 l_group_code_index[align_group] = lua_key_index(align);\
370 l_group_code_index[no_align_group] = lua_key_index(no_align);\
371 l_group_code_index[output_group] = lua_key_index(output);\
372 l_group_code_index[math_group] = lua_key_index(math);\
373 l_group_code_index[disc_group] = lua_key_index(disc);\
374 l_group_code_index[insert_group] = lua_key_index(insert);\
375 l_group_code_index[vcenter_group] = lua_key_index(vcenter);\
376 l_group_code_index[math_choice_group] = lua_key_index(math_choice);\
377 l_group_code_index[semi_simple_group] = lua_key_index(semi_simple);\
378 l_group_code_index[math_shift_group] = lua_key_index(math_shift);\
379 l_group_code_index[math_left_group] = lua_key_index(math_left);\
380 l_group_code_index[local_box_group] = lua_key_index(local_box);\
381 l_group_code_index[split_off_group] = lua_key_index(split_off);\
382 l_group_code_index[split_keep_group] = lua_key_index(split_keep);\
383 l_group_code_index[preamble_group] = lua_key_index(preamble);\
384 l_group_code_index[align_set_group] = lua_key_index(align_set);\
385 l_group_code_index[fin_row_group] = lua_key_index(fin_row)
387 #define set_l_local_par_index \
388 l_local_par_index[new_graf_par_code] = lua_key_index(new_graf);\
389 l_local_par_index[local_box_par_code] = lua_key_index(local_box);\
390 l_local_par_index[hmode_par_par_code] = lua_key_index(hmode_par);\
391 l_local_par_index[penalty_par_code] = lua_key_index(penalty);\
392 l_local_par_index[math_par_code] = lua_key_index(math);
394 #define set_l_math_style_name_index \
395 l_math_style_name_index[display_style] = lua_key_index(display);\
396 l_math_style_name_index[cramped_display_style] = lua_key_index(crampeddisplay);\
397 l_math_style_name_index[text_style] = lua_key_index(text);\
398 l_math_style_name_index[cramped_text_style] = lua_key_index(crampedtext);\
399 l_math_style_name_index[script_style] = lua_key_index(script);\
400 l_math_style_name_index[cramped_script_style] = lua_key_index(crampedscript);\
401 l_math_style_name_index[script_script_style] = lua_key_index(scriptscript);\
402 l_math_style_name_index[cramped_script_script_style] = lua_key_index(crampedscriptscript)
404 #define set_l_dir_par_index \
405 l_dir_par_index[dir_TLT] = lua_key_index(TLT);\
406 l_dir_par_index[dir_TRT] = lua_key_index(TRT);\
407 l_dir_par_index[dir_LTL] = lua_key_index(LTL);\
408 l_dir_par_index[dir_RTT] = lua_key_index(RTT);\
409 l_dir_par_index[dir_TLT+4] = lua_key_index(TLT);\
410 l_dir_par_index[dir_TRT+4] = lua_key_index(TRT);\
411 l_dir_par_index[dir_LTL+4] = lua_key_index(LTL);\
412 l_dir_par_index[dir_RTT+4] = lua_key_index(RTT);\
414 #define set_l_dir_text_index \
415 l_dir_text_index[dir_TLT] = lua_key_index(mTLT);\
416 l_dir_text_index[dir_TRT] = lua_key_index(mTRT);\
417 l_dir_text_index[dir_LTL] = lua_key_index(mLTL);\
418 l_dir_text_index[dir_RTT] = lua_key_index(mRTT);\
419 l_dir_text_index[dir_TLT+4] = lua_key_index(pTLT);\
420 l_dir_text_index[dir_TRT+4] = lua_key_index(pTRT);\
421 l_dir_text_index[dir_LTL+4] = lua_key_index(pLTL);\
422 l_dir_text_index[dir_RTT+4] = lua_key_index(pRTT);\
424 #define img_parms_max 25
425 #define img_pageboxes_max 6
427 extern int img_parms
[img_parms_max
];
428 extern int img_pageboxes
[img_pageboxes_max
];
430 # define set_l_img_keys_index \
431 img_parms[ 0] = lua_key_index(attr); \
432 img_parms[ 1] = lua_key_index(bbox); \
433 img_parms[ 2] = lua_key_index(colordepth); \
434 img_parms[ 3] = lua_key_index(colorspace); \
435 img_parms[ 4] = lua_key_index(depth); \
436 img_parms[ 5] = lua_key_index(filename); \
437 img_parms[ 6] = lua_key_index(filepath); \
438 img_parms[ 7] = lua_key_index(height); \
439 img_parms[ 8] = lua_key_index(imagetype); \
440 img_parms[ 9] = lua_key_index(index); \
441 img_parms[10] = lua_key_index(keepopen); \
442 img_parms[11] = lua_key_index(objnum); \
443 img_parms[12] = lua_key_index(pagebox); \
444 img_parms[13] = lua_key_index(page); \
445 img_parms[14] = lua_key_index(pages); \
446 img_parms[15] = lua_key_index(ref_count); \
447 img_parms[16] = lua_key_index(rotation); \
448 img_parms[17] = lua_key_index(stream); \
449 img_parms[18] = lua_key_index(transform); \
450 img_parms[19] = lua_key_index(visiblefilename); \
451 img_parms[20] = lua_key_index(width); \
452 img_parms[21] = lua_key_index(xres); \
453 img_parms[22] = lua_key_index(xsize); \
454 img_parms[23] = lua_key_index(yres); \
455 img_parms[24] = lua_key_index(ysize); \
457 # define set_l_img_pageboxes_index \
458 img_pageboxes[0] = lua_key_index(none); \
459 img_pageboxes[1] = lua_key_index(media); \
460 img_pageboxes[2] = lua_key_index(crop); \
461 img_pageboxes[3] = lua_key_index(bleed); \
462 img_pageboxes[4] = lua_key_index(trim); \
463 img_pageboxes[5] = lua_key_index(art); \
465 #define lua_push_img_key(L,key) lua_rawgeti(L, LUA_REGISTRYINDEX, img_parms[key] );
466 #define lua_push_img_pagebox(L,box) lua_rawgeti(L, LUA_REGISTRYINDEX, img_pageboxes[box]);
468 extern int lua_show_valid_list(lua_State
*L
, const char **list
, int max
);
469 extern int lua_show_valid_keys(lua_State
*L
, int *list
, int max
);
471 #define set_make_keys \
472 make_lua_key(cmdname);make_lua_key(expandable);make_lua_key(protected);\
474 make_lua_key(MathConstants);\
478 make_lua_key(accent);\
479 make_lua_key(action);\
480 make_lua_key(action_id);\
481 make_lua_key(action_type);\
482 make_lua_key(active);\
483 make_lua_key(additional);\
484 make_lua_key(adjdemerits);\
485 make_lua_key(adjust);\
486 make_lua_key(adjust_head);\
487 make_lua_key(adjusted_hbox);\
488 make_lua_key(adjustspacing);\
489 make_lua_key(advance);\
490 make_lua_key(after_display);\
491 make_lua_key(after_output);\
492 make_lua_key(align);\
493 make_lua_key(align_head);\
494 make_lua_key(align_set);\
495 make_lua_key(alignment);\
496 make_lua_key(annot);\
500 make_lua_key(attributes);\
501 make_lua_key(auto_expand);\
503 make_lua_key(before_display);\
504 make_lua_key(best_ins_ptr);\
505 make_lua_key(best_page_break);\
506 make_lua_key(best_size);\
507 make_lua_key(bleed);\
509 make_lua_key(bot_accent);\
510 make_lua_key(bottom_left);\
511 make_lua_key(bottom_right);\
512 make_lua_key(boundary);\
514 make_lua_key(box_left);\
515 make_lua_key(box_left_width);\
516 make_lua_key(box_right);\
517 make_lua_key(box_right_width);\
518 make_lua_key(broken_ins);\
519 make_lua_key(broken_ptr);\
520 make_lua_key(brokenpenalty);\
521 make_lua_key(cache);\
522 make_lua_key(cal_expand_ratio);\
523 make_lua_key(catalog);\
525 make_lua_key(characters);\
526 make_lua_key(checksum);\
527 make_lua_key(cidinfo);\
528 make_lua_key(class);\
529 make_lua_key(clubpenalty);\
530 make_lua_key(colordepth);\
531 make_lua_key(colorspace);\
532 make_lua_key(command);\
533 make_lua_key(commands);\
534 make_lua_key(comment);\
535 make_lua_key(components);\
536 make_lua_key(compresslevel);\
537 make_lua_key(contrib_head);\
540 make_lua_key(count);\
541 make_lua_key(crampeddisplay);\
542 make_lua_key(crampedscript);\
543 make_lua_key(crampedscriptscript);\
544 make_lua_key(crampedtext);\
546 make_lua_key(csname);\
548 make_lua_key(degree);\
549 make_lua_key(delim);\
550 make_lua_key(delimptr);\
551 make_lua_key(demerits);\
552 make_lua_key(denom);\
553 make_lua_key(depth);\
554 make_lua_key(designsize);\
555 make_lua_key(dest_id);\
556 make_lua_key(dest_type);\
558 make_lua_key(dir_h);\
559 make_lua_key(direct);\
560 make_lua_key(direction);\
563 make_lua_key(display);\
564 make_lua_key(doublehyphendemerits);\
566 make_lua_key(embedding);\
567 make_lua_key(emergencystretch);\
568 make_lua_key(empty_string);\
569 make_lua_key(encodingbytes);\
570 make_lua_key(encodingname);\
573 make_lua_key(equation);\
574 make_lua_key(equation_number);\
575 make_lua_key(exactly);\
576 make_lua_key(expansion_factor);\
578 make_lua_key(extend);\
579 make_lua_key(extender);\
580 make_lua_key(extensible);\
581 make_lua_key(extra_space);\
584 make_lua_key(fence);\
586 make_lua_key(filename);\
587 make_lua_key(filepath);\
589 make_lua_key(fin_row);\
590 make_lua_key(finalhyphendemerits);\
592 make_lua_key(fonts);\
593 make_lua_key(format);\
594 make_lua_key(fraction);\
595 make_lua_key(fullname);\
596 make_lua_key(global);\
598 make_lua_key(glue_order);\
599 make_lua_key(glue_set);\
600 make_lua_key(glue_sign);\
601 make_lua_key(glyph);\
603 make_lua_key(hangafter);\
604 make_lua_key(hangindent);\
607 make_lua_key(height);\
608 make_lua_key(hlist);\
609 make_lua_key(hmode_par);\
610 make_lua_key(hold_head);\
611 make_lua_key(horiz_variants);\
612 make_lua_key(hsize);\
613 make_lua_key(hyphenchar);\
615 make_lua_key(identity);\
616 make_lua_key(image);\
617 make_lua_key(imagetype);\
618 make_lua_key(immediate);\
619 make_lua_key(index);\
621 make_lua_key(insert);\
622 make_lua_key(interlinepenalty);\
623 make_lua_key(italic);\
624 make_lua_key(keepopen);\
626 make_lua_key(kerns);\
628 make_lua_key(large_char);\
629 make_lua_key(large_fam);\
630 make_lua_key(last_ins_ptr);\
631 make_lua_key(lastlinefit);\
632 make_lua_key(leader);\
633 make_lua_key(least_page_cost);\
635 make_lua_key(left_boundary);\
636 make_lua_key(left_protruding);\
637 make_lua_key(leftskip);\
638 make_lua_key(level);\
639 make_lua_key(ligatures);\
640 make_lua_key(linepenalty);\
641 make_lua_key(link_attr);\
643 make_lua_key(local_box);\
645 make_lua_key(looseness);\
647 make_lua_key(lua_bytecodes_indirect);\
648 make_lua_key(lua_functions);\
649 make_lua_key(luatex);\
650 make_lua_key(luatex_node);\
651 make_lua_key(luatex_token);\
656 make_lua_key(marginkern);\
659 make_lua_key(math_choice);\
660 make_lua_key(math_left);\
661 make_lua_key(math_shift);\
662 make_lua_key(mathdir);\
663 make_lua_key(mathkern);\
664 make_lua_key(mathstyle);\
665 make_lua_key(media);\
667 make_lua_key(middle);\
669 make_lua_key(modeline);\
671 make_lua_key(named_id);\
672 make_lua_key(names);\
673 make_lua_key(new_graf);\
674 make_lua_key(new_window);\
677 make_lua_key(no_align);\
680 make_lua_key(node_properties);\
681 make_lua_key(node_properties_indirect);\
682 make_lua_key(nomath);\
685 make_lua_key(nucleus);\
687 make_lua_key(number);\
688 make_lua_key(objcompression);\
689 make_lua_key(objnum);\
690 make_lua_key(oldmath);\
691 make_lua_key(ordering);\
692 make_lua_key(options);\
693 make_lua_key(orientation);\
694 make_lua_key(origin);\
695 make_lua_key(output);\
696 make_lua_key(overlay_accent);\
702 make_lua_key(pages);\
703 make_lua_key(page_discards_head);\
704 make_lua_key(page_head);\
705 make_lua_key(page_ins_head);\
706 make_lua_key(pageattributes);\
707 make_lua_key(pagebox);\
708 make_lua_key(pageresources);\
709 make_lua_key(pagesattributes);\
710 make_lua_key(parameters);\
711 make_lua_key(pardir);\
712 make_lua_key(parshape);\
713 make_lua_key(pdf_data);\
714 make_lua_key(pdf_destination);\
715 make_lua_key(pdf_literal);\
716 make_lua_key(pen_broken);\
717 make_lua_key(pen_inter);\
718 make_lua_key(penalty);\
721 make_lua_key(post_linebreak);\
723 make_lua_key(pre_adjust);\
724 make_lua_key(pre_adjust_head);\
725 make_lua_key(pre_align);\
726 make_lua_key(pre_box);\
727 make_lua_key(preamble);\
728 make_lua_key(pretolerance);\
730 make_lua_key(prevdepth);\
731 make_lua_key(prevgraf);\
732 make_lua_key(protrudechars);\
733 make_lua_key(psname);\
737 make_lua_key(radical);\
739 make_lua_key(ref_count);\
741 make_lua_key(registry);\
742 make_lua_key(renew);\
744 make_lua_key(replace);\
745 make_lua_key(resources);\
746 make_lua_key(right);\
747 make_lua_key(right_boundary);\
748 make_lua_key(right_protruding);\
749 make_lua_key(rightskip);\
750 make_lua_key(rotation);\
752 make_lua_key(scale);\
753 make_lua_key(script);\
754 make_lua_key(scriptscript);\
755 make_lua_key(semi_simple);\
756 make_lua_key(shift);\
757 make_lua_key(shrink);\
758 make_lua_key(shrink_order);\
759 make_lua_key(simple);\
761 make_lua_key(skewchar);\
762 make_lua_key(slant);\
764 make_lua_key(small_char);\
765 make_lua_key(small_fam);\
766 make_lua_key(space);\
767 make_lua_key(space_shrink);\
768 make_lua_key(space_stretch);\
769 make_lua_key(spacefactor);\
770 make_lua_key(special);\
771 make_lua_key(split_discards_head);\
772 make_lua_key(split_keep);\
773 make_lua_key(split_off);\
774 make_lua_key(stack);\
775 make_lua_key(start);\
777 make_lua_key(stream);\
778 make_lua_key(streamfile);\
779 make_lua_key(stretch);\
780 make_lua_key(stretch_order);\
781 make_lua_key(string);\
782 make_lua_key(style);\
784 make_lua_key(subst_ex_font);\
785 make_lua_key(subtype);\
787 make_lua_key(supplement);\
788 make_lua_key(surround);\
790 make_lua_key(temp_head);\
792 make_lua_key(term_and_log);\
795 make_lua_key(thread_attr);\
796 make_lua_key(thread_id);\
797 make_lua_key(tolerance);\
799 make_lua_key(token);\
801 make_lua_key(top_accent);\
802 make_lua_key(top_left);\
803 make_lua_key(top_right);\
804 make_lua_key(tounicode);\
805 make_lua_key(tracingparagraphs);\
806 make_lua_key(trailer);\
807 make_lua_key(trailerid);\
808 make_lua_key(transform);\
811 make_lua_key(uchyph);\
812 make_lua_key(units_per_em);\
814 make_lua_key(user_id);\
816 make_lua_key(value);\
818 make_lua_key(vcenter);\
819 make_lua_key(version);\
820 make_lua_key(vert_italic);\
821 make_lua_key(vert_variants);\
822 make_lua_key(vmode_par);\
823 make_lua_key(visiblefilename);\
824 make_lua_key(vlist);\
826 make_lua_key(widowpenalty);\
827 make_lua_key(width);\
828 make_lua_key(x_height);\
829 make_lua_key(xadvance);\
830 make_lua_key(xformresources);\
831 make_lua_key(xformattributes);\
832 make_lua_key(xoffset);\
834 make_lua_key(xsize);\
835 make_lua_key(xyz_zoom);\
836 make_lua_key(yoffset); \
837 make_lua_key(yres); \
838 make_lua_key(ysize); \
839 make_lua_key(writingmode); \
840 make_lua_key(__index)
842 #define set_init_keys \
843 init_lua_key(cmdname);init_lua_key(expandable);init_lua_key(protected);\
845 init_lua_key(MathConstants);\
849 init_lua_key(accent);\
850 init_lua_key(action);\
851 init_lua_key(action_id);\
852 init_lua_key(action_type);\
853 init_lua_key(active);\
854 init_lua_key(additional);\
855 init_lua_key(adjdemerits);\
856 init_lua_key(adjust);\
857 init_lua_key(adjust_head);\
858 init_lua_key(adjusted_hbox);\
859 init_lua_key(adjustspacing);\
860 init_lua_key(advance);\
861 init_lua_key(after_display);\
862 init_lua_key(after_output);\
863 init_lua_key(align);\
864 init_lua_key(align_head);\
865 init_lua_key(align_set);\
866 init_lua_key(alignment);\
867 init_lua_key(annot);\
871 init_lua_key(attributes);\
872 init_lua_key(auto_expand);\
874 init_lua_key(before_display);\
875 init_lua_key(best_ins_ptr);\
876 init_lua_key(best_page_break);\
877 init_lua_key(best_size);\
878 init_lua_key(bleed);\
880 init_lua_key(bot_accent);\
881 init_lua_key(bottom_left);\
882 init_lua_key(bottom_right);\
883 init_lua_key(boundary);\
885 init_lua_key(box_left);\
886 init_lua_key(box_left_width);\
887 init_lua_key(box_right);\
888 init_lua_key(box_right_width);\
889 init_lua_key(broken_ins);\
890 init_lua_key(broken_ptr);\
891 init_lua_key(brokenpenalty);\
892 init_lua_key(cache);\
893 init_lua_key(cal_expand_ratio);\
894 init_lua_key(catalog);\
896 init_lua_key(characters);\
897 init_lua_key(checksum);\
898 init_lua_key(cidinfo);\
899 init_lua_key(class);\
900 init_lua_key(clubpenalty);\
901 init_lua_key(colordepth);\
902 init_lua_key(colorspace);\
903 init_lua_key(command);\
904 init_lua_key(commands);\
905 init_lua_key(comment);\
906 init_lua_key(components);\
907 init_lua_key(compresslevel);\
908 init_lua_key(contrib_head);\
911 init_lua_key(count);\
912 init_lua_key(crampeddisplay);\
913 init_lua_key(crampedscript);\
914 init_lua_key(crampedscriptscript);\
915 init_lua_key(crampedtext);\
917 init_lua_key(csname);\
919 init_lua_key(degree);\
920 init_lua_key(delim);\
921 init_lua_key(delimptr);\
922 init_lua_key(demerits);\
923 init_lua_key(denom);\
924 init_lua_key(depth);\
925 init_lua_key(designsize);\
926 init_lua_key(dest_id);\
927 init_lua_key(dest_type);\
929 init_lua_key(dir_h);\
930 init_lua_key(direct);\
931 init_lua_key(direction);\
934 init_lua_key(display);\
935 init_lua_key(doublehyphendemerits);\
937 init_lua_key(embedding);\
938 init_lua_key(emergencystretch);\
939 init_lua_key(encodingbytes);\
940 init_lua_key(encodingname);\
943 init_lua_key(equation);\
944 init_lua_key(equation_number);\
945 init_lua_key(exactly);\
946 init_lua_key(expansion_factor);\
948 init_lua_key(extend);\
949 init_lua_key(extender);\
950 init_lua_key(extensible);\
951 init_lua_key(extra_space);\
954 init_lua_key(fence);\
956 init_lua_key(filename);\
957 init_lua_key(filepath);\
959 init_lua_key(fin_row);\
960 init_lua_key(finalhyphendemerits);\
962 init_lua_key(fonts);\
963 init_lua_key(format);\
964 init_lua_key(fraction);\
965 init_lua_key(fullname);\
966 init_lua_key(global);\
968 init_lua_key(glue_order);\
969 init_lua_key(glue_set);\
970 init_lua_key(glue_sign);\
971 init_lua_key(glyph);\
973 init_lua_key(hangafter);\
974 init_lua_key(hangindent);\
977 init_lua_key(height);\
978 init_lua_key(hlist);\
979 init_lua_key(hmode_par);\
980 init_lua_key(hold_head);\
981 init_lua_key(horiz_variants);\
982 init_lua_key(hsize);\
983 init_lua_key(hyphenchar);\
985 init_lua_key(identity);\
986 init_lua_key(image);\
987 init_lua_key(imagetype);\
988 init_lua_key(immediate);\
989 init_lua_key(index);\
991 init_lua_key(insert);\
992 init_lua_key(interlinepenalty);\
993 init_lua_key(italic);\
994 init_lua_key(keepopen);\
996 init_lua_key(kerns);\
998 init_lua_key(large_char);\
999 init_lua_key(large_fam);\
1000 init_lua_key(last_ins_ptr);\
1001 init_lua_key(lastlinefit);\
1002 init_lua_key(leftskip);\
1003 init_lua_key(leader);\
1004 init_lua_key(least_page_cost);\
1005 init_lua_key(left);\
1006 init_lua_key(left_boundary);\
1007 init_lua_key(left_protruding);\
1008 init_lua_key(leftskip);\
1009 init_lua_key(level);\
1010 init_lua_key(ligatures);\
1011 init_lua_key(leftskip);\
1012 init_lua_key(linepenalty);\
1013 init_lua_key(link_attr);\
1014 init_lua_key(list);\
1015 init_lua_key(local_box);\
1017 init_lua_key(looseness);\
1019 init_lua_key(lua_bytecodes_indirect);\
1020 init_lua_key(lua_functions);\
1021 init_lua_key(luatex);\
1022 init_lua_key(luatex_node);\
1023 init_lua_key(luatex_token);\
1024 init_lua_key(marginkern);\
1025 init_lua_key(mark);\
1026 init_lua_key(math);\
1027 init_lua_key(math_choice);\
1028 init_lua_key(math_left);\
1029 init_lua_key(math_shift);\
1030 init_lua_key(mathdir);\
1031 init_lua_key(mathkern);\
1032 init_lua_key(mathstyle);\
1033 init_lua_key(media);\
1035 init_lua_key(middle);\
1036 init_lua_key(mode);\
1037 init_lua_key(modeline);\
1038 init_lua_key(name);\
1039 init_lua_key(named_id);\
1040 init_lua_key(names);\
1041 init_lua_key(new_graf);\
1042 init_lua_key(new_window);\
1043 init_lua_key(next);\
1045 init_lua_key(no_align);\
1046 init_lua_key(noad);\
1047 init_lua_key(node);\
1048 init_lua_key(nomath);\
1049 init_lua_key(none);\
1051 init_lua_key(nucleus);\
1053 init_lua_key(number);\
1054 init_lua_key(objcompression);\
1055 init_lua_key(objnum);\
1056 init_lua_key(oldmath);\
1057 init_lua_key(options);\
1058 init_lua_key(orientation);\
1059 init_lua_key(origin);\
1060 init_lua_key(ordering);\
1061 init_lua_key(output);\
1062 init_lua_key(overlay_accent);\
1063 init_lua_key(page);\
1064 init_lua_key(pages);\
1065 init_lua_key(page_discards_head);\
1066 init_lua_key(page_head);\
1067 init_lua_key(page_ins_head);\
1068 init_lua_key(pageattributes);\
1069 init_lua_key(pagebox);\
1070 init_lua_key(pageresources);\
1071 init_lua_key(pagesattributes);\
1072 init_lua_key(parameters);\
1073 init_lua_key(pardir);\
1074 init_lua_key(parshape);\
1075 init_lua_key(pdf_destination);\
1076 init_lua_key(pdf_literal);\
1077 init_lua_key(pen_broken);\
1078 init_lua_key(pen_inter);\
1079 init_lua_key(penalty);\
1081 init_lua_key(post);\
1082 init_lua_key(post_linebreak);\
1084 init_lua_key(pre_adjust);\
1085 init_lua_key(pre_adjust_head);\
1086 init_lua_key(pre_align);\
1087 init_lua_key(pre_box);\
1088 init_lua_key(preamble);\
1089 init_lua_key(pretolerance);\
1090 init_lua_key(prev);\
1091 init_lua_key(prevdepth);\
1092 init_lua_key(prevgraf);\
1093 init_lua_key(protrudechars);\
1094 init_lua_key(psname);\
1096 init_lua_key(push);\
1097 init_lua_key(quad);\
1098 init_lua_key(radical);\
1100 init_lua_key(ref_count);\
1102 init_lua_key(registry);\
1103 init_lua_key(renew);\
1105 init_lua_key(replace);\
1106 init_lua_key(resources);\
1107 init_lua_key(right);\
1108 init_lua_key(right_boundary);\
1109 init_lua_key(right_protruding);\
1110 init_lua_key(rightskip);\
1111 init_lua_key(rotation);\
1112 init_lua_key(rule);\
1113 init_lua_key(scale);\
1114 init_lua_key(script);\
1115 init_lua_key(scriptscript);\
1116 init_lua_key(semi_simple);\
1117 init_lua_key(shift);\
1118 init_lua_key(shrink);\
1119 init_lua_key(shrink_order);\
1120 init_lua_key(simple);\
1121 init_lua_key(size);\
1122 init_lua_key(skewchar);\
1123 init_lua_key(slant);\
1124 init_lua_key(slot);\
1125 init_lua_key(small_char);\
1126 init_lua_key(small_fam);\
1127 init_lua_key(space);\
1128 init_lua_key(space_shrink);\
1129 init_lua_key(space_stretch);\
1130 init_lua_key(spacefactor);\
1131 init_lua_key(special);\
1132 init_lua_key(split_discards_head);\
1133 init_lua_key(split_keep);\
1134 init_lua_key(split_off);\
1135 init_lua_key(stack);\
1136 init_lua_key(start);\
1137 init_lua_key(step);\
1138 init_lua_key(stream);\
1139 init_lua_key(streamfile);\
1140 init_lua_key(stretch);\
1141 init_lua_key(stretch_order);\
1142 init_lua_key(string);\
1143 init_lua_key(style);\
1145 init_lua_key(subst_ex_font);\
1146 init_lua_key(subtype);\
1148 init_lua_key(supplement);\
1149 init_lua_key(surround);\
1150 init_lua_key(tail);\
1151 init_lua_key(temp_head);\
1152 init_lua_key(term);\
1154 init_lua_key(text);\
1155 init_lua_key(thread_attr);\
1156 init_lua_key(thread_id);\
1157 init_lua_key(tolerance);\
1159 init_lua_key(token);\
1161 init_lua_key(top_accent);\
1162 init_lua_key(top_left);\
1163 init_lua_key(top_right);\
1164 init_lua_key(tounicode);\
1165 init_lua_key(tracingparagraphs);\
1166 init_lua_key(trailer);\
1167 init_lua_key(trailerid);\
1168 init_lua_key(transform);\
1169 init_lua_key(trim);\
1170 init_lua_key(type);\
1171 init_lua_key(uchyph);\
1172 init_lua_key(units_per_em);\
1173 init_lua_key(used);\
1174 init_lua_key(user_id);\
1176 init_lua_key(value);\
1177 init_lua_key(vbox);\
1178 init_lua_key(vcenter);\
1179 init_lua_key(version);\
1180 init_lua_key(vert_italic);\
1181 init_lua_key(vert_variants);\
1182 init_lua_key(vmode_par);\
1183 init_lua_key(visiblefilename);\
1184 init_lua_key(vlist);\
1185 init_lua_key(vtop);\
1186 init_lua_key(widowpenalty);\
1187 init_lua_key(width);\
1188 init_lua_key(x_height);\
1189 init_lua_key(xadvance);\
1190 init_lua_key(xformresources);\
1191 init_lua_key(xformattributes);\
1192 init_lua_key(xoffset);\
1193 init_lua_key(xres);\
1194 init_lua_key(xsize);\
1195 init_lua_key(xyz_zoom);\
1196 init_lua_key(yoffset);\
1197 init_lua_key(yres);\
1198 init_lua_key(ysize);\
1199 init_lua_key(writingmode);\
1200 init_lua_key(__index);\
1201 init_lua_key_alias(empty_string,"");\
1202 init_lua_key_alias(lua_bytecodes_indirect,"lua.bytecodes.indirect");\
1203 init_lua_key_alias(lua_functions,"lua.functions");\
1204 init_lua_key_alias(luatex_node, "luatex.node");\
1205 init_lua_key_alias(luatex_token, "luatex.token");\
1206 init_lua_key_alias(mLTL,"-LTL");\
1207 init_lua_key_alias(mRTT,"-RTT");\
1208 init_lua_key_alias(mTLT,"-TLT");\
1209 init_lua_key_alias(mTRT,"-TRT");\
1210 init_lua_key_alias(node_properties,"node.properties");\
1211 init_lua_key_alias(node_properties_indirect,"node.properties.indirect");\
1212 init_lua_key_alias(pLTL,"+LTL");\
1213 init_lua_key_alias(pRTT,"+RTT");\
1214 init_lua_key_alias(pTLT,"+TLT");\
1215 init_lua_key_alias(pTRT,"+TRT");\
1216 init_lua_key_alias(pdf_data,"pdf.data");\
1217 init_lua_key_alias(term_and_log,"term and log")
1219 #define assign_math_style(L,n,target) do { \
1220 if (lua_type(L,n) == LUA_TNUMBER) { \
1221 /* new, often same as subtype anyway */ \
1222 target = lua_tointeger(L,n); \
1223 } else if (lua_type(L,n) == LUA_TSTRING) { \
1224 const char *s = lua_tostring(L, n); \
1225 if (lua_key_eq(s,display)) { \
1227 } else if (lua_key_eq(s,crampeddisplay)) { \
1229 } else if (lua_key_eq(s,text)) { \
1231 } else if (lua_key_eq(s,crampedtext)) { \
1233 } else if (lua_key_eq(s,script)) { \
1235 } else if (lua_key_eq(s,crampedscript)) { \
1237 } else if (lua_key_eq(s,scriptscript)) { \
1239 } else if (lua_key_eq(s,crampedscriptscript)) { \
1245 target = 2; /* text by default */ \
1250 extern FILE *_cairo_win32_tmpfile( void );
1251 #define tmpfile() _cairo_win32_tmpfile()
1252 #endif /* __MINGW32__ */
1254 #endif /* LUATEX_API_H */
1257 /* These keys have to available to different files */
1260 use_lua_key(cmdname
);use_lua_key(expandable
);use_lua_key(protected);
1263 use_lua_key(MathConstants
);
1267 use_lua_key(accent
);
1268 use_lua_key(action
);
1269 use_lua_key(action_id
);
1270 use_lua_key(action_type
);
1271 use_lua_key(active
);
1272 use_lua_key(additional
);
1273 use_lua_key(adjdemerits
);
1274 use_lua_key(adjust
);
1275 use_lua_key(adjust_head
);
1276 use_lua_key(adjusted_hbox
);
1277 use_lua_key(adjustspacing
);
1278 use_lua_key(advance
);
1279 use_lua_key(after_display
);
1280 use_lua_key(after_output
);
1282 use_lua_key(align_head
);
1283 use_lua_key(align_set
);
1284 use_lua_key(alignment
);
1289 use_lua_key(attributes
);
1290 use_lua_key(auto_expand
);
1292 use_lua_key(before_display
);
1293 use_lua_key(best_ins_ptr
);
1294 use_lua_key(best_page_break
);
1295 use_lua_key(best_size
);
1298 use_lua_key(bot_accent
);
1299 use_lua_key(bottom_left
);
1300 use_lua_key(bottom_right
);
1301 use_lua_key(boundary
);
1303 use_lua_key(box_left
);
1304 use_lua_key(box_left_width
);
1305 use_lua_key(box_right
);
1306 use_lua_key(box_right_width
);
1307 use_lua_key(broken_ins
);
1308 use_lua_key(broken_ptr
);
1309 use_lua_key(brokenpenalty
);
1311 use_lua_key(cal_expand_ratio
);
1312 use_lua_key(catalog
);
1314 use_lua_key(characters
);
1315 use_lua_key(checksum
);
1316 use_lua_key(cidinfo
);
1318 use_lua_key(clubpenalty
);
1319 use_lua_key(colordepth
);
1320 use_lua_key(colorspace
);
1321 use_lua_key(command
);
1322 use_lua_key(commands
);
1323 use_lua_key(comment
);
1324 use_lua_key(components
);
1325 use_lua_key(compresslevel
);
1326 use_lua_key(contrib_head
);
1330 use_lua_key(crampeddisplay
);
1331 use_lua_key(crampedscript
);
1332 use_lua_key(crampedscriptscript
);
1333 use_lua_key(crampedtext
);
1335 use_lua_key(csname
);
1337 use_lua_key(degree
);
1339 use_lua_key(delimptr
);
1340 use_lua_key(demerits
);
1343 use_lua_key(designsize
);
1344 use_lua_key(dest_id
);
1345 use_lua_key(dest_type
);
1348 use_lua_key(direct
);
1349 use_lua_key(direction
);
1352 use_lua_key(display
);
1353 use_lua_key(doublehyphendemerits
);
1355 use_lua_key(embedding
);
1356 use_lua_key(emergencystretch
);
1357 use_lua_key(empty_string
);
1358 use_lua_key(encodingbytes
);
1359 use_lua_key(encodingname
);
1362 use_lua_key(equation
);\
1363 use_lua_key(equation_number
);\
1364 use_lua_key(exactly
);
1365 use_lua_key(expansion_factor
);
1367 use_lua_key(extend
);
1368 use_lua_key(extender
);
1369 use_lua_key(extensible
);
1370 use_lua_key(extra_space
);
1375 use_lua_key(filename
);
1376 use_lua_key(filepath
);
1378 use_lua_key(fin_row
);
1379 use_lua_key(finalhyphendemerits
);
1382 use_lua_key(format
);
1383 use_lua_key(fraction
);
1384 use_lua_key(fullname
);
1385 use_lua_key(global
);
1387 use_lua_key(glue_order
);
1388 use_lua_key(glue_set
);
1389 use_lua_key(glue_sign
);
1392 use_lua_key(hangafter
);
1393 use_lua_key(hangindent
);
1396 use_lua_key(height
);
1398 use_lua_key(hmode_par
);
1399 use_lua_key(hold_head
);
1400 use_lua_key(horiz_variants
);
1402 use_lua_key(hyphenchar
);
1404 use_lua_key(identity
);
1406 use_lua_key(imagetype
);
1407 use_lua_key(immediate
);
1410 use_lua_key(insert
);
1411 use_lua_key(interlinepenalty
);
1412 use_lua_key(italic
);
1413 use_lua_key(keepopen
);
1417 use_lua_key(large_char
);
1418 use_lua_key(large_fam
);
1419 use_lua_key(last_ins_ptr
);
1420 use_lua_key(lastlinefit
);
1421 use_lua_key(leader
);
1422 use_lua_key(least_page_cost
);
1424 use_lua_key(left_boundary
);
1425 use_lua_key(left_protruding
);
1426 use_lua_key(leftskip
);
1428 use_lua_key(ligatures
);
1429 use_lua_key(linepenalty
);
1430 use_lua_key(link_attr
);
1432 use_lua_key(local_box
);
1434 use_lua_key(looseness
);
1436 use_lua_key(lua_bytecodes_indirect
);
1437 use_lua_key(lua_functions
);
1438 use_lua_key(luatex
);
1439 use_lua_key(luatex_node
);
1440 use_lua_key(luatex_token
);
1445 use_lua_key(marginkern
);
1448 use_lua_key(math_choice
);
1449 use_lua_key(math_left
);
1450 use_lua_key(math_shift
);
1451 use_lua_key(mathdir
);
1452 use_lua_key(mathkern
);
1453 use_lua_key(mathstyle
);
1456 use_lua_key(middle
);
1458 use_lua_key(modeline
);
1460 use_lua_key(named_id
);
1462 use_lua_key(new_graf
);
1463 use_lua_key(new_window
);
1466 use_lua_key(no_align
);
1469 use_lua_key(node_properties
);
1470 use_lua_key(node_properties_indirect
);
1471 use_lua_key(nomath
);
1474 use_lua_key(nucleus
);
1476 use_lua_key(number
);
1477 use_lua_key(objcompression
);
1478 use_lua_key(objnum
);
1479 use_lua_key(oldmath
);
1480 use_lua_key(options
);
1481 use_lua_key(orientation
);
1482 use_lua_key(origin
);
1483 use_lua_key(ordering
);
1484 use_lua_key(output
);
1485 use_lua_key(overlay_accent
);
1492 use_lua_key(page_discards_head
);
1493 use_lua_key(page_head
);
1494 use_lua_key(page_ins_head
);
1495 use_lua_key(pagebox
);
1496 use_lua_key(pageattributes
);
1497 use_lua_key(pageresources
);
1498 use_lua_key(pagesattributes
);
1499 use_lua_key(parameters
);
1500 use_lua_key(pardir
);
1501 use_lua_key(parshape
);
1502 use_lua_key(pdf_data
);
1503 use_lua_key(pdf_destination
);
1504 use_lua_key(pdf_literal
);
1505 use_lua_key(pen_broken
);
1506 use_lua_key(pen_inter
);
1507 use_lua_key(penalty
);
1510 use_lua_key(post_linebreak
);
1512 use_lua_key(pre_adjust
);
1513 use_lua_key(pre_adjust_head
);
1514 use_lua_key(pre_align
);
1515 use_lua_key(pre_box
);
1516 use_lua_key(preamble
);
1517 use_lua_key(pretolerance
);
1519 use_lua_key(prevdepth
);
1520 use_lua_key(prevgraf
);
1521 use_lua_key(protrudechars
);
1522 use_lua_key(psname
);
1526 use_lua_key(radical
);
1528 use_lua_key(ref_count
);
1530 use_lua_key(registry
);
1533 use_lua_key(replace
);
1534 use_lua_key(resources
);
1536 use_lua_key(right_boundary
);
1537 use_lua_key(right_protruding
);
1538 use_lua_key(rightskip
);
1539 use_lua_key(rotation
);
1542 use_lua_key(script
);
1543 use_lua_key(scriptscript
);
1544 use_lua_key(semi_simple
);
1546 use_lua_key(shrink
);
1547 use_lua_key(shrink_order
);
1548 use_lua_key(simple
);
1550 use_lua_key(skewchar
);
1553 use_lua_key(small_char
);
1554 use_lua_key(small_fam
);
1556 use_lua_key(space_shrink
);
1557 use_lua_key(space_stretch
);
1558 use_lua_key(spacefactor
);
1559 use_lua_key(special
);
1560 use_lua_key(split_discards_head
);
1561 use_lua_key(split_keep
);
1562 use_lua_key(split_off
);
1566 use_lua_key(stream
);
1567 use_lua_key(streamfile
);
1568 use_lua_key(stretch
);
1569 use_lua_key(stretch_order
);
1570 use_lua_key(string
);
1573 use_lua_key(subst_ex_font
);
1574 use_lua_key(subtype
);
1576 use_lua_key(supplement
);
1577 use_lua_key(surround
);
1579 use_lua_key(temp_head
);
1581 use_lua_key(term_and_log
);
1584 use_lua_key(thread_attr
);
1585 use_lua_key(thread_id
);
1586 use_lua_key(tolerance
);
1590 use_lua_key(top_accent
);
1591 use_lua_key(top_left
);
1592 use_lua_key(top_right
);
1593 use_lua_key(tounicode
);
1594 use_lua_key(tracingparagraphs
);
1595 use_lua_key(trailer
);
1596 use_lua_key(trailerid
);
1597 use_lua_key(transform
);
1600 use_lua_key(uchyph
);
1601 use_lua_key(units_per_em
);
1603 use_lua_key(user_id
);
1607 use_lua_key(vcenter
);
1608 use_lua_key(version
);
1609 use_lua_key(vert_italic
);
1610 use_lua_key(vert_variants
);
1611 use_lua_key(vmode_par
);
1612 use_lua_key(visiblefilename
);
1615 use_lua_key(widowpenalty
);
1617 use_lua_key(x_height
);
1618 use_lua_key(xadvance
);
1619 use_lua_key(xformresources
);
1620 use_lua_key(xformattributes
);
1621 use_lua_key(xoffset
);
1624 use_lua_key(xyz_zoom
);
1625 use_lua_key(yoffset
);
1628 use_lua_key(writingmode
);
1629 use_lua_key(__index
);