sinc with TeXLive revision 41114. (trunk,fix prev. wrong message)
[luatex.git] / manual / old / fdata.lua
blob7da05df3a2ea35c2148a4307dd0da516c62be092
1 -- $Id: fdata.lua 4106 2011-04-10 12:51:54Z hhenkel $
3 local fdata = {
4 ["callback"]={
5 ["functions"]={
6 ["buildpage_filter"]={
7 ["arguments"]={
9 ["name"]="info",
10 ["optional"]=false,
11 ["type"]="string",
14 ["returnvalues"]={},
15 ["shortdesc"]="Process objects as they are added to the main vertical list. The string argument gives some context.",
16 ["type"]="callback",
18 ["close"]={
19 ["arguments"]={
21 ["name"]="env",
22 ["optional"]=false,
23 ["type"]="table",
26 ["returnvalues"]={},
27 ["shortdesc"]="Close a file opened with the \\afunction{open_read_file} callback. The argument is the return value from the \\afunction{open_read_file}",
28 ["type"]="callback",
30 ["define_font"]={
31 ["arguments"]={
33 ["name"]="name",
34 ["optional"]=false,
35 ["type"]="string",
38 ["name"]="size",
39 ["optional"]=false,
40 ["type"]="number",
43 ["returnvalues"]={
45 ["name"]="font",
46 ["optional"]=false,
47 ["type"]="metrics",
50 ["shortdesc"]="Define a font from within lua code. The arguments are the user-supplied information, with negative numbers indicating \\type{scaled}, positive numbers \\type{at}",
51 ["type"]="callback",
53 ["find"]={
54 ["arguments"]={
56 ["name"]="callback_name",
57 ["optional"]=false,
58 ["type"]="string",
61 ["returnvalues"]={
63 ["name"]="f",
64 ["optional"]=false,
65 ["type"]="function",
68 ["shortdesc"]="Returns the function currently associated with a callback, or \\type{nil}",
69 ["type"]="function",
71 ["find_data_file"]={
72 ["arguments"]={
74 ["name"]="asked_name",
75 ["optional"]=false,
76 ["type"]="string",
79 ["returnvalues"]={
81 ["name"]="actual_name",
82 ["optional"]=false,
83 ["type"]="string",
86 ["shortdesc"]="Find an input data file for PDF attachment.",
87 ["type"]="callback",
89 ["find_enc_file"]={
90 ["arguments"]={
92 ["name"]="asked_name",
93 ["optional"]=false,
94 ["type"]="string",
97 ["returnvalues"]={
99 ["name"]="actual_name",
100 ["optional"]=false,
101 ["type"]="string",
104 ["shortdesc"]="Find a font encoding file.",
105 ["type"]="callback",
107 ["find_font_file"]={
108 ["arguments"]={
110 ["name"]="asked_name",
111 ["optional"]=false,
112 ["type"]="string",
115 ["returnvalues"]={
117 ["name"]="actual_name",
118 ["optional"]=false,
119 ["type"]="string",
122 ["shortdesc"]="Find a font metrics file.",
123 ["type"]="callback",
125 ["find_format_file"]={
126 ["arguments"]={
128 ["name"]="asked_name",
129 ["optional"]=false,
130 ["type"]="string",
133 ["returnvalues"]={
135 ["name"]="actual_name",
136 ["optional"]=false,
137 ["type"]="string",
140 ["shortdesc"]="Find the format file.",
141 ["type"]="callback",
143 ["find_image_file"]={
144 ["arguments"]={
146 ["name"]="asked_name",
147 ["optional"]=false,
148 ["type"]="string",
151 ["returnvalues"]={
153 ["name"]="actual_name",
154 ["optional"]=false,
155 ["type"]="string",
158 ["shortdesc"]="Find an image file for inclusion.",
159 ["type"]="callback",
161 ["find_map_file"]={
162 ["arguments"]={
164 ["name"]="asked_name",
165 ["optional"]=false,
166 ["type"]="string",
169 ["returnvalues"]={
171 ["name"]="actual_name",
172 ["optional"]=false,
173 ["type"]="string",
176 ["shortdesc"]="Find a font map file.",
177 ["type"]="callback",
179 ["find_opentype_file"]={
180 ["arguments"]={
182 ["name"]="asked_name",
183 ["optional"]=false,
184 ["type"]="string",
187 ["returnvalues"]={
189 ["name"]="actual_name",
190 ["optional"]=false,
191 ["type"]="string",
194 ["shortdesc"]="Find an OpenType font file.",
195 ["type"]="callback",
197 ["find_output_file"]={
198 ["arguments"]={
200 ["name"]="asked_name",
201 ["optional"]=false,
202 ["type"]="string",
205 ["returnvalues"]={
207 ["name"]="actual_name",
208 ["optional"]=false,
209 ["type"]="string",
212 ["shortdesc"]="Find the output (PDF or DVI) file.",
213 ["type"]="callback",
215 ["find_pk_file"]={
216 ["arguments"]={
218 ["name"]="asked_name",
219 ["optional"]=false,
220 ["type"]="string",
223 ["returnvalues"]={
225 ["name"]="actual_name",
226 ["optional"]=false,
227 ["type"]="string",
230 ["shortdesc"]="Find a PK font bitmap file.",
231 ["type"]="callback",
233 ["find_read_file"]={
234 ["arguments"]={
236 ["name"]="id_number",
237 ["optional"]=false,
238 ["type"]="number",
241 ["name"]="asked_name",
242 ["optional"]=false,
243 ["type"]="string",
246 ["returnvalues"]={
248 ["name"]="actual_name",
249 ["optional"]=false,
250 ["type"]="string",
253 ["shortdesc"]="Find a file for \\tex{input} (0) or \\tex{openin} (higher integers).",
254 ["type"]="callback",
256 ["find_subfont_file"]={
257 ["arguments"]={
259 ["name"]="asked_name",
260 ["optional"]=false,
261 ["type"]="string",
264 ["returnvalues"]={
266 ["name"]="actual_name",
267 ["optional"]=false,
268 ["type"]="string",
271 ["shortdesc"]="Find a subfont definition file.",
272 ["type"]="callback",
274 ["find_truetype_file"]={
275 ["arguments"]={
277 ["name"]="asked_name",
278 ["optional"]=false,
279 ["type"]="string",
282 ["returnvalues"]={
284 ["name"]="actual_name",
285 ["optional"]=false,
286 ["type"]="string",
289 ["shortdesc"]="Find an TrueType font file.",
290 ["type"]="callback",
292 ["find_type1_file"]={
293 ["arguments"]={
295 ["name"]="asked_name",
296 ["optional"]=false,
297 ["type"]="string",
300 ["returnvalues"]={
302 ["name"]="actual_name",
303 ["optional"]=false,
304 ["type"]="string",
307 ["shortdesc"]="Find an Type1 (PostScript) font file.",
308 ["type"]="callback",
310 ["find_vf_file"]={
311 ["arguments"]={
313 ["name"]="asked_name",
314 ["optional"]=false,
315 ["type"]="string",
318 ["returnvalues"]={
320 ["name"]="actual_name",
321 ["optional"]=false,
322 ["type"]="string",
325 ["shortdesc"]="Find a VF file.",
326 ["type"]="callback",
328 ["find_write_file"]={
329 ["arguments"]={
331 ["name"]="id_number",
332 ["optional"]=false,
333 ["type"]="number",
336 ["name"]="asked_name",
337 ["optional"]=false,
338 ["type"]="string",
341 ["returnvalues"]={
343 ["name"]="actual_name",
344 ["optional"]=false,
345 ["type"]="string",
348 ["shortdesc"]="Find a file for writing to the log file (0) or with \\tex{write} (higher integers).",
349 ["type"]="callback",
351 ["finish_pdffile"]={
352 ["arguments"]={},
353 ["returnvalues"]={},
354 ["shortdesc"]="Run actions just before the PDF closing takes place.",
355 ["type"]="callback",
357 ["hpack_filter"]={
358 ["arguments"]={
360 ["name"]="head",
361 ["optional"]=false,
362 ["type"]="node",
365 ["name"]="groupcode",
366 ["optional"]=false,
367 ["type"]="string",
370 ["name"]="size",
371 ["optional"]=false,
372 ["type"]="number",
375 ["name"]="packtype",
376 ["optional"]=false,
377 ["type"]="string",
380 ["name"]="direction",
381 ["optional"]=false,
382 ["type"]="string",
385 ["returnvalues"]={
387 ["name"]="newhead",
388 ["optional"]=false,
389 ["type"]="node",
392 ["shortdesc"]="Alter a node list before horizontal packing takes place. The first string gives some context,\
393 the number is the desired size, the second string is either \\aliteral{exact} or \\aliteral{additional} (modifies the first string),\
394 the third string is the desired direction",
395 ["type"]="callback",
397 ["hyphenate"]={
398 ["arguments"]={
400 ["name"]="head",
401 ["optional"]=false,
402 ["type"]="node",
405 ["name"]="tail",
406 ["optional"]=false,
407 ["type"]="node",
410 ["returnvalues"]={},
411 ["shortdesc"]="Apply hyphenation to a node list.",
412 ["type"]="callback",
414 ["kerning"]={
415 ["arguments"]={
417 ["name"]="head",
418 ["optional"]=false,
419 ["type"]="node",
422 ["name"]="tail",
423 ["optional"]=false,
424 ["type"]="node",
427 ["returnvalues"]={},
428 ["shortdesc"]="Apply kerning to a node list.",
429 ["type"]="callback",
431 ["ligaturing"]={
432 ["arguments"]={
434 ["name"]="head",
435 ["optional"]=false,
436 ["type"]="node",
439 ["name"]="tail",
440 ["optional"]=false,
441 ["type"]="node",
444 ["returnvalues"]={},
445 ["shortdesc"]="Apply ligaturing to a node list.",
446 ["type"]="callback",
448 ["linebreak_filter"]={
449 ["arguments"]={
451 ["name"]="head",
452 ["optional"]=false,
453 ["type"]="node",
456 ["name"]="is_display",
457 ["optional"]=false,
458 ["type"]="boolean",
461 ["returnvalues"]={
463 ["name"]="newhead",
464 ["optional"]=false,
465 ["type"]="node",
468 ["shortdesc"]="Override the linebreaking algorithm. The boolean is \\type{true} if this is a pre-display break.",
469 ["type"]="callback",
471 ["list"]={
472 ["arguments"]={},
473 ["returnvalues"]={
475 ["name"]="info",
476 ["optional"]=false,
477 ["type"]="table",
480 ["shortdesc"]="Produce a list of all known callback names.",
481 ["type"]="function",
483 ["mlist_to_hlist"]={
484 ["arguments"]={
486 ["name"]="head",
487 ["optional"]=false,
488 ["type"]="node",
491 ["name"]="displaytype",
492 ["optional"]=false,
493 ["type"]="string",
496 ["name"]="need_penalties",
497 ["optional"]=false,
498 ["type"]="boolean",
501 ["returnvalues"]={
503 ["name"]="newhead",
504 ["optional"]=false,
505 ["type"]="node",
508 ["shortdesc"]="Convert a math node list into a horizontal node list.",
509 ["type"]="callback",
511 ["open_read_file"]={
512 ["arguments"]={
514 ["name"]="file_name",
515 ["optional"]=false,
516 ["type"]="string",
519 ["returnvalues"]={
521 ["name"]="env",
522 ["optional"]=false,
523 ["type"]="table",
526 ["shortdesc"]="Open a file for reading. The returned table should define key functions for \\aliteral{reader} and \\aliteral{close}.",
527 ["type"]="callback",
529 ["post_linebreak_filter"]={
530 ["arguments"]={
532 ["name"]="head",
533 ["optional"]=false,
534 ["type"]="node",
537 ["name"]="groupcode",
538 ["optional"]=false,
539 ["type"]="string",
542 ["returnvalues"]={
544 ["name"]="newhead",
545 ["optional"]=false,
546 ["type"]="node",
549 ["shortdesc"]="Alter a node list afer linebreaking has taken place. The string argument gives some context.",
550 ["type"]="callback",
552 ["pre_dump"]={
553 ["arguments"]={},
554 ["returnvalues"]={},
555 ["shortdesc"]="Run actions just before format dumping takes place.",
556 ["type"]="callback",
558 ["pre_linebreak_filter"]={
559 ["arguments"]={
561 ["name"]="head",
562 ["optional"]=false,
563 ["type"]="node",
566 ["name"]="groupcode",
567 ["optional"]=false,
568 ["type"]="string",
571 ["returnvalues"]={
573 ["name"]="newhead",
574 ["optional"]=false,
575 ["type"]="node",
578 ["shortdesc"]="Alter a node list before linebreaking takes place. The string argument gives some context.",
579 ["type"]="callback",
581 ["pre_output_filter"]={
582 ["arguments"]={
584 ["name"]="head",
585 ["optional"]=false,
586 ["type"]="node",
589 ["name"]="groupcode",
590 ["optional"]=false,
591 ["type"]="string",
594 ["name"]="size",
595 ["optional"]=false,
596 ["type"]="number",
599 ["name"]="packtype",
600 ["optional"]=false,
601 ["type"]="string",
604 ["name"]="maxdepth",
605 ["optional"]=false,
606 ["type"]="number",
609 ["name"]="direction",
610 ["optional"]=false,
611 ["type"]="string",
614 ["returnvalues"]={
616 ["name"]="newhead",
617 ["optional"]=false,
618 ["type"]="node",
621 ["shortdesc"]="Alter a node list before boxing to \\tex{outputbox} takes place. See \\afunction{vpack_filter} for the arguments.",
622 ["type"]="callback",
624 ["process_input_buffer"]={
625 ["arguments"]={
627 ["name"]="buffer",
628 ["optional"]=false,
629 ["type"]="string",
632 ["returnvalues"]={
634 ["name"]="adjusted_buffer",
635 ["optional"]=false,
636 ["type"]="string",
639 ["shortdesc"]="Modify the encoding of the input buffer.",
640 ["type"]="callback",
642 ["process_output_buffer"]={
643 ["arguments"]={
645 ["name"]="buffer",
646 ["optional"]=false,
647 ["type"]="string",
650 ["returnvalues"]={
652 ["name"]="adjusted_buffer",
653 ["optional"]=false,
654 ["type"]="string",
657 ["shortdesc"]="Modify the encoding of the output buffer.",
658 ["type"]="callback",
660 ["read_data_file"]={
661 ["arguments"]={
663 ["name"]="name",
664 ["optional"]=false,
665 ["type"]="string",
668 ["returnvalues"]={
670 ["name"]="success",
671 ["optional"]=false,
672 ["type"]="boolean",
675 ["name"]="data",
676 ["optional"]=false,
677 ["type"]="string",
680 ["name"]="data_size",
681 ["optional"]=false,
682 ["type"]="number",
685 ["shortdesc"]="Read a data file.",
686 ["type"]="callback",
688 ["read_enc_file"]={
689 ["arguments"]={
691 ["name"]="name",
692 ["optional"]=false,
693 ["type"]="string",
696 ["returnvalues"]={
698 ["name"]="success",
699 ["optional"]=false,
700 ["type"]="boolean",
703 ["name"]="data",
704 ["optional"]=false,
705 ["type"]="string",
708 ["name"]="data_size",
709 ["optional"]=false,
710 ["type"]="number",
713 ["shortdesc"]="Read a font encoding file.",
714 ["type"]="callback",
716 ["read_font_file"]={
717 ["arguments"]={
719 ["name"]="name",
720 ["optional"]=false,
721 ["type"]="string",
724 ["returnvalues"]={
726 ["name"]="success",
727 ["optional"]=false,
728 ["type"]="boolean",
731 ["name"]="data",
732 ["optional"]=false,
733 ["type"]="string",
736 ["name"]="data_size",
737 ["optional"]=false,
738 ["type"]="number",
741 ["shortdesc"]="Read a TFM metrics file. Return \\type{true}, the data, and the data length for success, \\type{false} otherwise",
742 ["type"]="callback",
744 ["read_map_file"]={
745 ["arguments"]={
747 ["name"]="name",
748 ["optional"]=false,
749 ["type"]="string",
752 ["returnvalues"]={
754 ["name"]="success",
755 ["optional"]=false,
756 ["type"]="boolean",
759 ["name"]="data",
760 ["optional"]=false,
761 ["type"]="string",
764 ["name"]="data_size",
765 ["optional"]=false,
766 ["type"]="number",
769 ["shortdesc"]="Read a font map file.",
770 ["type"]="callback",
772 ["read_opentype_file"]={
773 ["arguments"]={
775 ["name"]="name",
776 ["optional"]=false,
777 ["type"]="string",
780 ["returnvalues"]={
782 ["name"]="success",
783 ["optional"]=false,
784 ["type"]="boolean",
787 ["name"]="data",
788 ["optional"]=false,
789 ["type"]="string",
792 ["name"]="data_size",
793 ["optional"]=false,
794 ["type"]="number",
797 ["shortdesc"]="Read an OpenType font.",
798 ["type"]="callback",
800 ["read_pk_file"]={
801 ["arguments"]={
803 ["name"]="name",
804 ["optional"]=false,
805 ["type"]="string",
808 ["returnvalues"]={
810 ["name"]="success",
811 ["optional"]=false,
812 ["type"]="boolean",
815 ["name"]="data",
816 ["optional"]=false,
817 ["type"]="string",
820 ["name"]="data_size",
821 ["optional"]=false,
822 ["type"]="number",
825 ["shortdesc"]="Read a font bitmap PK file.",
826 ["type"]="callback",
828 ["read_sfd_file"]={
829 ["arguments"]={
831 ["name"]="name",
832 ["optional"]=false,
833 ["type"]="string",
836 ["returnvalues"]={
838 ["name"]="success",
839 ["optional"]=false,
840 ["type"]="boolean",
843 ["name"]="data",
844 ["optional"]=false,
845 ["type"]="string",
848 ["name"]="data_size",
849 ["optional"]=false,
850 ["type"]="number",
853 ["shortdesc"]="Read a subfont definition file.",
854 ["type"]="callback",
856 ["read_truetype_file"]={
857 ["arguments"]={
859 ["name"]="name",
860 ["optional"]=false,
861 ["type"]="string",
864 ["returnvalues"]={
866 ["name"]="success",
867 ["optional"]=false,
868 ["type"]="boolean",
871 ["name"]="data",
872 ["optional"]=false,
873 ["type"]="string",
876 ["name"]="data_size",
877 ["optional"]=false,
878 ["type"]="number",
881 ["shortdesc"]="Read a TrueType font.",
882 ["type"]="callback",
884 ["read_type1_file"]={
885 ["arguments"]={
887 ["name"]="name",
888 ["optional"]=false,
889 ["type"]="string",
892 ["returnvalues"]={
894 ["name"]="success",
895 ["optional"]=false,
896 ["type"]="boolean",
899 ["name"]="data",
900 ["optional"]=false,
901 ["type"]="string",
904 ["name"]="data_size",
905 ["optional"]=false,
906 ["type"]="number",
909 ["shortdesc"]="Read a Type1 font.",
910 ["type"]="callback",
912 ["read_vf_file"]={
913 ["arguments"]={
915 ["name"]="name",
916 ["optional"]=false,
917 ["type"]="string",
920 ["returnvalues"]={
922 ["name"]="success",
923 ["optional"]=false,
924 ["type"]="boolean",
927 ["name"]="data",
928 ["optional"]=false,
929 ["type"]="string",
932 ["name"]="data_size",
933 ["optional"]=false,
934 ["type"]="number",
937 ["shortdesc"]="Read a VF metrics file.",
938 ["type"]="callback",
940 ["reader"]={
941 ["arguments"]={
943 ["name"]="env",
944 ["optional"]=false,
945 ["type"]="table",
948 ["returnvalues"]={
950 ["name"]="line",
951 ["optional"]=false,
952 ["type"]="string",
955 ["shortdesc"]="Read a line from a file opened with the \\afunction{open_read_file} callback. The argument is the return value from \\afunction{open_read_file}",
956 ["type"]="callback",
958 ["register"]={
959 ["arguments"]={
961 ["name"]="callback_name",
962 ["optional"]=false,
963 ["type"]="string",
966 ["name"]="callback_func",
967 ["optional"]=false,
968 ["type"]="function",
971 ["returnvalues"]={
973 ["name"]="id",
974 ["optional"]=false,
975 ["type"]="number",
978 ["name"]="error",
979 ["optional"]=true,
980 ["type"]="string",
983 ["shortdesc"]="Register a callback. Passing \\type{nil} removes an existing callback. Returns \\type{nil}, \\type{error} on failure.",
984 ["type"]="function",
986 ["show_error_hook"]={
987 ["arguments"]={},
988 ["returnvalues"]={},
989 ["shortdesc"]="Run action at error reporting time.",
990 ["type"]="callback",
992 ["start_page_number"]={
993 ["arguments"]={},
994 ["returnvalues"]={},
995 ["shortdesc"]="Run actions at the start of typeset page number message reporting.",
996 ["type"]="callback",
998 ["start_run"]={
999 ["arguments"]={},
1000 ["returnvalues"]={},
1001 ["shortdesc"]="Run actions at the start of the typesetting run.",
1002 ["type"]="callback",
1004 ["stop_page_number"]={
1005 ["arguments"]={},
1006 ["returnvalues"]={},
1007 ["shortdesc"]="Run actions at the end of typeset page number message reporting.",
1008 ["type"]="callback",
1010 ["stop_run"]={
1011 ["arguments"]={},
1012 ["returnvalues"]={},
1013 ["shortdesc"]="Run actions just before the end of the typesetting run.",
1014 ["type"]="callback",
1016 ["token_filter"]={
1017 ["arguments"]={},
1018 ["returnvalues"]={
1020 ["name"]="token",
1021 ["optional"]=false,
1022 ["type"]="table",
1025 ["shortdesc"]="Override the tokenization process. Return value is a \\type{token} or an array of tokens",
1026 ["type"]="callback",
1028 ["vpack_filter"]={
1029 ["arguments"]={
1031 ["name"]="head",
1032 ["optional"]=false,
1033 ["type"]="node",
1036 ["name"]="groupcode",
1037 ["optional"]=false,
1038 ["type"]="string",
1041 ["name"]="size",
1042 ["optional"]=false,
1043 ["type"]="number",
1046 ["name"]="packtype",
1047 ["optional"]=false,
1048 ["type"]="string",
1051 ["name"]="maxdepth",
1052 ["optional"]=false,
1053 ["type"]="number",
1056 ["name"]="direction",
1057 ["optional"]=false,
1058 ["type"]="string",
1061 ["returnvalues"]={
1063 ["name"]="newhead",
1064 ["optional"]=false,
1065 ["type"]="node",
1068 ["shortdesc"]="Alter a node list before vertical packing takes place. The second number is the desired max depth. See \\afunction{hpack_filter} for the arguments.",
1069 ["type"]="callback",
1072 ["methods"]={
1075 ["epdf"] = require "fdata_epdf",
1076 ["font"]={
1077 ["functions"]={
1078 ["current"]={
1079 ["arguments"]={
1081 ["name"]="i",
1082 ["optional"]=true,
1083 ["type"]="number",
1086 ["returnvalues"]={
1088 ["name"]="i",
1089 ["optional"]=true,
1090 ["type"]="number",
1093 ["shortdesc"]="Get or set the currently active font",
1094 ["type"]="function",
1096 ["define"]={
1097 ["arguments"]={
1099 ["name"]="f",
1100 ["optional"]=false,
1101 ["type"]="metrics",
1104 ["returnvalues"]={
1106 ["name"]="i",
1107 ["optional"]=false,
1108 ["type"]="number",
1111 ["shortdesc"]="Process a font metrics table and stores it in the internal font table, returning its internal id.",
1112 ["type"]="function",
1114 ["each"]={
1115 ["arguments"]={},
1116 ["returnvalues"]={
1118 ["name"]="i",
1119 ["optional"]=false,
1120 ["type"]="number",
1123 ["name"]="v",
1124 ["optional"]=false,
1125 ["type"]="metrics",
1128 ["shortdesc"]="Iterate over all the defined fonts.",
1129 ["type"]="function",
1131 ["frozen"]={
1132 ["arguments"]={
1134 ["name"]="n",
1135 ["optional"]=false,
1136 ["type"]="number",
1139 ["returnvalues"]={
1141 ["name"]="f",
1142 ["optional"]=false,
1143 ["type"]="boolean",
1146 ["shortdesc"]="True if the font is frozen and can no longer be altered.",
1147 ["type"]="function",
1149 ["getfont"]={
1150 ["arguments"]={
1152 ["name"]="n",
1153 ["optional"]=false,
1154 ["type"]="number",
1157 ["returnvalues"]={
1159 ["name"]="f",
1160 ["optional"]=false,
1161 ["type"]="metrics",
1164 ["shortdesc"]="Fetch an internal font id as a lua table.",
1165 ["type"]="function",
1167 ["id"]={
1168 ["arguments"]={
1170 ["name"]="csname",
1171 ["optional"]=false,
1172 ["type"]="string",
1175 ["returnvalues"]={
1177 ["name"]="i",
1178 ["optional"]=false,
1179 ["type"]="number",
1182 ["shortdesc"]="Return the font id of the font accessed by the csname given.",
1183 ["type"]="function",
1185 ["max"]={
1186 ["arguments"]={},
1187 ["returnvalues"]={
1189 ["name"]="i",
1190 ["optional"]=false,
1191 ["type"]="number",
1194 ["shortdesc"]="Return the highest used font id at this moment.",
1195 ["type"]="function",
1197 ["nextid"]={
1198 ["arguments"]={},
1199 ["returnvalues"]={
1201 ["name"]="i",
1202 ["optional"]=false,
1203 ["type"]="number",
1206 ["shortdesc"]="Return the next free font id number.",
1207 ["type"]="function",
1209 ["read_tfm"]={
1210 ["arguments"]={
1212 ["name"]="name",
1213 ["optional"]=false,
1214 ["type"]="string",
1217 ["name"]="s",
1218 ["optional"]=false,
1219 ["type"]="number",
1222 ["returnvalues"]={
1224 ["name"]="fnt",
1225 ["optional"]=false,
1226 ["type"]="metrics",
1229 ["shortdesc"]="Parse a font metrics file, at the size indicated by the number.",
1230 ["type"]="function",
1232 ["read_vf"]={
1233 ["arguments"]={
1235 ["name"]="name",
1236 ["optional"]=false,
1237 ["type"]="string",
1240 ["name"]="s",
1241 ["optional"]=false,
1242 ["type"]="number",
1245 ["returnvalues"]={
1247 ["name"]="vf_fnt",
1248 ["optional"]=false,
1249 ["type"]="metrics",
1252 ["shortdesc"]="Parse a virtual font metrics file, at the size indicated by the number.",
1253 ["type"]="function",
1255 ["setfont"]={
1256 ["arguments"]={
1258 ["name"]="n",
1259 ["optional"]=false,
1260 ["type"]="number",
1263 ["name"]="f",
1264 ["optional"]=false,
1265 ["type"]="metrics",
1268 ["returnvalues"]={},
1269 ["shortdesc"]="Set an internal font id from a lua table.",
1270 ["type"]="function",
1273 ["methods"]={
1276 ["fontloader"]={
1277 ["functions"]={
1278 ["apply_afmfile"]={
1279 ["arguments"]={
1281 ["name"]="f",
1282 ["optional"]=false,
1283 ["type"]="luafont",
1286 ["name"]="filename",
1287 ["optional"]=false,
1288 ["type"]="string",
1291 ["returnvalues"]={},
1292 ["shortdesc"]="Apply an AFM file to a fontloader table.",
1293 ["type"]="function",
1295 ["apply_featurefile"]={
1296 ["arguments"]={
1298 ["name"]="f",
1299 ["optional"]=false,
1300 ["type"]="luafont",
1303 ["name"]="filename",
1304 ["optional"]=false,
1305 ["type"]="string",
1308 ["returnvalues"]={},
1309 ["shortdesc"]="Apply a feature file to a fontloader table.",
1310 ["type"]="function",
1312 ["info"]={
1313 ["arguments"]={
1315 ["name"]="filename",
1316 ["optional"]=false,
1317 ["type"]="string",
1320 ["returnvalues"]={
1322 ["name"]="info",
1323 ["optional"]=false,
1324 ["type"]="table",
1327 ["shortdesc"]="Get various information fields from an font file.",
1328 ["type"]="function",
1330 ["open"]={
1331 ["arguments"]={
1333 ["name"]="filename",
1334 ["optional"]=false,
1335 ["type"]="string",
1338 ["name"]="fontname",
1339 ["optional"]=true,
1340 ["type"]="string",
1343 ["returnvalues"]={
1345 ["name"]="f",
1346 ["optional"]=false,
1347 ["type"]="luafont",
1350 ["name"]="w",
1351 ["optional"]=false,
1352 ["type"]="table",
1355 ["shortdesc"]="Parse a font file and return a table representing its contents. The optional argument\
1356 is the name of the desired font in case of font collection files. The optional return\
1357 value contains any parser error strings.",
1358 ["type"]="function",
1361 ["methods"]={
1364 ["img"] = require "fdata_img",
1365 ["kpse"]={
1366 ["functions"]={
1367 ["expand_braces"]={
1368 ["arguments"]={
1370 ["name"]="s",
1371 ["optional"]=false,
1372 ["type"]="string",
1375 ["returnvalues"]={
1377 ["name"]="r",
1378 ["optional"]=false,
1379 ["type"]="string",
1382 ["shortdesc"]="Expand the braces in a variable.",
1383 ["type"]="function",
1385 ["expand_path"]={
1386 ["arguments"]={
1388 ["name"]="s",
1389 ["optional"]=false,
1390 ["type"]="string",
1393 ["returnvalues"]={
1395 ["name"]="r",
1396 ["optional"]=false,
1397 ["type"]="string",
1400 ["shortdesc"]="Expand a path.",
1401 ["type"]="function",
1403 ["expand_var"]={
1404 ["arguments"]={
1406 ["name"]="s",
1407 ["optional"]=false,
1408 ["type"]="string",
1411 ["returnvalues"]={
1413 ["name"]="r",
1414 ["optional"]=false,
1415 ["type"]="string",
1418 ["shortdesc"]="Expand a variable.",
1419 ["type"]="function",
1421 ["find_file"]={
1422 ["arguments"]={
1424 ["name"]="filename",
1425 ["optional"]=false,
1426 ["type"]="string",
1429 ["name"]="ftype",
1430 ["optional"]=true,
1431 ["type"]="string",
1434 ["name"]="mustexist",
1435 ["optional"]=true,
1436 ["type"]="boolean",
1439 ["name"]="dpi",
1440 ["optional"]=true,
1441 ["type"]="number",
1444 ["returnvalues"]={
1446 ["name"]="f",
1447 ["optional"]=false,
1448 ["type"]="string",
1451 ["shortdesc"]="Find a file. The optional string is the file type as supported by the\
1452 standalone \\type{kpsewhich} program (default is \\aliteral{{tex}}, no autodiscovery takes place).\
1453 The optional boolean indicates wether the file must exist.\
1454 The optional number is the dpi value for PK files.\
1456 ["type"]="function",
1458 ["init_prog"]={
1459 ["arguments"]={
1461 ["name"]="prefix",
1462 ["optional"]=false,
1463 ["type"]="string",
1466 ["name"]="base_dpi",
1467 ["optional"]=false,
1468 ["type"]="number",
1471 ["name"]="mfmode",
1472 ["optional"]=false,
1473 ["type"]="string",
1476 ["name"]="fallback",
1477 ["optional"]=true,
1478 ["type"]="string",
1481 ["returnvalues"]={},
1482 ["shortdesc"]="Initialize a PK generation program. The optional string is the metafont mode fallback name",
1483 ["type"]="function",
1485 ["lookup"]={
1486 ["arguments"]={
1488 ["name"]="filename",
1489 ["optional"]=false,
1490 ["type"]="string",
1493 ["name"]="options",
1494 ["optional"]=false,
1495 ["type"]="table",
1498 ["returnvalues"]={
1500 ["name"]="f",
1501 ["optional"]=false,
1502 ["type"]="string",
1505 ["shortdesc"]="Find a file (extended interface).",
1506 ["type"]="function",
1508 ["new"]={
1509 ["arguments"]={
1511 ["name"]="name",
1512 ["optional"]=false,
1513 ["type"]="string",
1516 ["name"]="progname",
1517 ["optional"]=true,
1518 ["type"]="string",
1521 ["returnvalues"]={
1523 ["name"]="kpathsea",
1524 ["optional"]=false,
1525 ["type"]="kpathsea",
1528 ["shortdesc"]="Create a new kpathsea library instance. The optional string allows explicit \\type{progname} setting.",
1529 ["type"]="function",
1531 ["readable_file"]={
1532 ["arguments"]={
1534 ["name"]="name",
1535 ["optional"]=false,
1536 ["type"]="string",
1539 ["returnvalues"]={
1541 ["name"]="f",
1542 ["optional"]=false,
1543 ["type"]="string",
1546 ["shortdesc"]="Returns true if a file exists and is readable.",
1547 ["type"]="function",
1549 ["set_program_name"]={
1550 ["arguments"]={
1552 ["name"]="name",
1553 ["optional"]=false,
1554 ["type"]="string",
1557 ["name"]="progname",
1558 ["optional"]=true,
1559 ["type"]="string",
1562 ["returnvalues"]={},
1563 ["shortdesc"]="Initialize the kpathsea library by setting the program name. The optional string allows explicit \\type{progname} setting.",
1564 ["type"]="function",
1566 ["show_path"]={
1567 ["arguments"]={
1569 ["name"]="ftype",
1570 ["optional"]=false,
1571 ["type"]="string",
1574 ["returnvalues"]={
1576 ["name"]="r",
1577 ["optional"]=false,
1578 ["type"]="string",
1581 ["shortdesc"]="List the search path for a specific file type.",
1582 ["type"]="function",
1584 ["var_value"]={
1585 ["arguments"]={
1587 ["name"]="s",
1588 ["optional"]=false,
1589 ["type"]="string",
1592 ["returnvalues"]={
1594 ["name"]="r",
1595 ["optional"]=false,
1596 ["type"]="string",
1599 ["shortdesc"]="Return the value of a variable.",
1600 ["type"]="function",
1602 ["version"]={
1603 ["arguments"]={},
1604 ["returnvalues"]={
1606 ["name"]="r",
1607 ["optional"]=false,
1608 ["type"]="string",
1611 ["shortdesc"]="Return the kpathsea version.",
1612 ["type"]="function",
1615 ["methods"]={
1618 ["lang"]={
1619 ["functions"]={
1620 ["clean"]={
1621 ["arguments"]={
1623 ["name"]="o",
1624 ["optional"]=false,
1625 ["type"]="string",
1628 ["returnvalues"]={
1630 ["name"]="n",
1631 ["optional"]=false,
1632 ["type"]="string",
1635 ["shortdesc"]="Creates a hyphenation key from the supplied hyphenation exception.",
1636 ["type"]="function",
1638 ["clear_hyphenation"]={
1639 ["arguments"]={
1641 ["name"]="l",
1642 ["optional"]=false,
1643 ["type"]="language",
1646 ["returnvalues"]={},
1647 ["shortdesc"]="Clear the set of hyphenation exceptions.",
1648 ["type"]="function",
1650 ["clear_patterns"]={
1651 ["arguments"]={
1653 ["name"]="l",
1654 ["optional"]=false,
1655 ["type"]="language",
1658 ["returnvalues"]={},
1659 ["shortdesc"]="Clear the set of hyphenation patterns.",
1660 ["type"]="function",
1662 ["hyphenate"]={
1663 ["arguments"]={
1665 ["name"]="head",
1666 ["optional"]=false,
1667 ["type"]="node",
1670 ["name"]="tail",
1671 ["optional"]=true,
1672 ["type"]="node",
1675 ["returnvalues"]={
1677 ["name"]="success",
1678 ["optional"]=false,
1679 ["type"]="boolean",
1682 ["shortdesc"]="Hyphenate a node list.",
1683 ["type"]="function",
1685 ["hyphenation"]={
1686 ["arguments"]={
1688 ["name"]="l",
1689 ["optional"]=false,
1690 ["type"]="language",
1693 ["name"]="n",
1694 ["optional"]=true,
1695 ["type"]="string",
1698 ["returnvalues"]={
1700 ["name"]="n",
1701 ["optional"]=true,
1702 ["type"]="string",
1705 ["shortdesc"]="Get or set hyphenation exceptions.",
1706 ["type"]="function",
1708 ["id"]={
1709 ["arguments"]={
1711 ["name"]="l",
1712 ["optional"]=false,
1713 ["type"]="language",
1716 ["returnvalues"]={
1718 ["name"]="n",
1719 ["optional"]=false,
1720 ["type"]="number",
1723 ["shortdesc"]="Returns the current internal \\tex{language} id number.",
1724 ["type"]="function",
1726 ["new"]={
1727 ["arguments"]={
1729 ["name"]="id",
1730 ["optional"]=true,
1731 ["type"]="number",
1734 ["returnvalues"]={
1736 ["name"]="l",
1737 ["optional"]=false,
1738 ["type"]="language",
1741 ["shortdesc"]="Create a new language object, with an optional fixed id number.",
1742 ["type"]="function",
1744 ["patterns"]={
1745 ["arguments"]={
1747 ["name"]="l",
1748 ["optional"]=false,
1749 ["type"]="language",
1752 ["name"]="n",
1753 ["optional"]=true,
1754 ["type"]="string",
1757 ["returnvalues"]={
1759 ["name"]="n",
1760 ["optional"]=true,
1761 ["type"]="string",
1764 ["shortdesc"]="Get or set hyphenation patterns.",
1765 ["type"]="function",
1767 ["postexhyphenchar"]={
1768 ["arguments"]={
1770 ["name"]="l",
1771 ["optional"]=false,
1772 ["type"]="language",
1775 ["name"]="n",
1776 ["optional"]=true,
1777 ["type"]="number",
1780 ["returnvalues"]={
1782 ["name"]="n",
1783 ["optional"]=true,
1784 ["type"]="number",
1787 ["shortdesc"]="Set the post-hyphenchar for explicit hyphenation.",
1788 ["type"]="function",
1790 ["posthyphenchar"]={
1791 ["arguments"]={
1793 ["name"]="l",
1794 ["optional"]=false,
1795 ["type"]="language",
1798 ["name"]="n",
1799 ["optional"]=true,
1800 ["type"]="number",
1803 ["returnvalues"]={
1805 ["name"]="n",
1806 ["optional"]=true,
1807 ["type"]="number",
1810 ["shortdesc"]="Set the post-hyphenchar for implicit hyphenation.",
1811 ["type"]="function",
1813 ["preexhyphenchar"]={
1814 ["arguments"]={
1816 ["name"]="l",
1817 ["optional"]=false,
1818 ["type"]="language",
1821 ["name"]="n",
1822 ["optional"]=true,
1823 ["type"]="number",
1826 ["returnvalues"]={
1828 ["name"]="n",
1829 ["optional"]=true,
1830 ["type"]="number",
1833 ["shortdesc"]="Set the pre-hyphenchar for explicit hyphenation.",
1834 ["type"]="function",
1836 ["prehyphenchar"]={
1837 ["arguments"]={
1839 ["name"]="l",
1840 ["optional"]=false,
1841 ["type"]="language",
1844 ["name"]="n",
1845 ["optional"]=true,
1846 ["type"]="number",
1849 ["returnvalues"]={
1851 ["name"]="n",
1852 ["optional"]=true,
1853 ["type"]="number",
1856 ["shortdesc"]="Set the pre-hyphenchar for implicit hyphenation.",
1857 ["type"]="function",
1860 ["methods"]={
1863 ["lfs"]={
1864 ["functions"]={
1865 ["isdir"]={
1866 ["arguments"]={
1868 ["name"]="filename",
1869 ["optional"]=false,
1870 ["type"]="string",
1873 ["returnvalues"]={
1875 ["name"]="t",
1876 ["optional"]=false,
1877 ["type"]="boolean",
1880 ["shortdesc"]="Return true if the string is a directory.",
1881 ["type"]="function",
1883 ["isfile"]={
1884 ["arguments"]={
1886 ["name"]="filename",
1887 ["optional"]=false,
1888 ["type"]="string",
1891 ["returnvalues"]={
1893 ["name"]="t",
1894 ["optional"]=false,
1895 ["type"]="boolean",
1898 ["shortdesc"]="Return true if the string is a file.",
1899 ["type"]="function",
1901 ["readlink"]={
1902 ["arguments"]={
1904 ["name"]="filename",
1905 ["optional"]=false,
1906 ["type"]="string",
1909 ["returnvalues"]={
1911 ["name"]="f",
1912 ["optional"]=false,
1913 ["type"]="string",
1916 ["shortdesc"]="Return the contents of a symlink (Unix only).",
1917 ["type"]="function",
1919 ["shortname"]={
1920 ["arguments"]={
1922 ["name"]="filename",
1923 ["optional"]=false,
1924 ["type"]="string",
1927 ["returnvalues"]={
1929 ["name"]="fat",
1930 ["optional"]=false,
1931 ["type"]="string",
1934 ["shortdesc"]="Return the FAT name of a file (Windows only).",
1935 ["type"]="function",
1938 ["methods"]={
1941 ["lua"]={
1942 ["functions"]={
1943 ["getbytecode"]={
1944 ["arguments"]={
1946 ["name"]="n",
1947 ["optional"]=false,
1948 ["type"]="number",
1951 ["returnvalues"]={
1953 ["name"]="f",
1954 ["optional"]=false,
1955 ["type"]="function",
1958 ["shortdesc"]="Return a previously stored function from a bytecode register.",
1959 ["type"]="function",
1961 ["setbytecode"]={
1962 ["arguments"]={
1964 ["name"]="n",
1965 ["optional"]=false,
1966 ["type"]="number",
1969 ["name"]="f",
1970 ["optional"]=false,
1971 ["type"]="function",
1974 ["returnvalues"]={},
1975 ["shortdesc"]="Save a function in a bytecode register.",
1976 ["type"]="function",
1979 ["methods"]={
1982 ["mp"]={
1983 ["functions"]={
1984 ["char_depth"]={
1985 ["arguments"]={
1987 ["name"]="fontname",
1988 ["optional"]=false,
1989 ["type"]="string",
1992 ["name"]="char",
1993 ["optional"]=false,
1994 ["type"]="number",
1997 ["returnvalues"]={
1999 ["name"]="w",
2000 ["optional"]=false,
2001 ["type"]="number",
2004 ["shortdesc"]="Report a character's depth.",
2005 ["type"]="method",
2007 ["char_height"]={
2008 ["arguments"]={
2010 ["name"]="fontname",
2011 ["optional"]=false,
2012 ["type"]="string",
2015 ["name"]="char",
2016 ["optional"]=false,
2017 ["type"]="number",
2020 ["returnvalues"]={
2022 ["name"]="w",
2023 ["optional"]=false,
2024 ["type"]="number",
2027 ["shortdesc"]="Report a character's height.",
2028 ["type"]="method",
2030 ["char_width"]={
2031 ["arguments"]={
2033 ["name"]="fontname",
2034 ["optional"]=false,
2035 ["type"]="string",
2038 ["name"]="char",
2039 ["optional"]=false,
2040 ["type"]="number",
2043 ["returnvalues"]={
2045 ["name"]="w",
2046 ["optional"]=false,
2047 ["type"]="number",
2050 ["shortdesc"]="Report a character's width.",
2051 ["type"]="method",
2053 ["execute"]={
2054 ["arguments"]={
2056 ["name"]="chunk",
2057 ["optional"]=false,
2058 ["type"]="string",
2061 ["returnvalues"]={
2063 ["name"]="rettable",
2064 ["optional"]=false,
2065 ["type"]="mpdata",
2068 ["shortdesc"]="Execute metapost code in the instance.",
2069 ["type"]="method",
2071 ["finish"]={
2072 ["arguments"]={},
2073 ["returnvalues"]={
2075 ["name"]="rettable",
2076 ["optional"]=false,
2077 ["type"]="mpdata",
2080 ["shortdesc"]="Finish a metapost instance.",
2081 ["type"]="method",
2083 ["statistics"]={
2084 ["arguments"]={},
2085 ["returnvalues"]={
2087 ["name"]="stats",
2088 ["optional"]=false,
2089 ["type"]="table",
2092 ["shortdesc"]="Returns some statistics for this metapost instance.",
2093 ["type"]="method",
2096 ["methods"]={
2099 ["mplib"]={
2100 ["functions"]={
2101 ["new"]={
2102 ["arguments"]={
2104 ["name"]="options",
2105 ["optional"]=false,
2106 ["type"]="table",
2109 ["returnvalues"]={
2111 ["name"]="mp",
2112 ["optional"]=false,
2113 ["type"]="mpinstance",
2116 ["shortdesc"]="Create a new metapost instance.",
2117 ["type"]="function",
2119 ["version"]={
2120 ["arguments"]={},
2121 ["returnvalues"]={
2123 ["name"]="v",
2124 ["optional"]=false,
2125 ["type"]="string",
2128 ["shortdesc"]="Returns the mplib version.",
2129 ["type"]="function",
2132 ["methods"]={
2135 ["node"]={
2136 ["functions"]={
2137 ["copy"]={
2138 ["arguments"]={
2140 ["name"]="n",
2141 ["optional"]=false,
2142 ["type"]="node",
2145 ["returnvalues"]={
2147 ["name"]="m",
2148 ["optional"]=false,
2149 ["type"]="node",
2152 ["shortdesc"]="Copy a node.",
2153 ["type"]="function",
2155 ["copy_list"]={
2156 ["arguments"]={
2158 ["name"]="n",
2159 ["optional"]=false,
2160 ["type"]="node",
2163 ["name"]="m",
2164 ["optional"]=true,
2165 ["type"]="node",
2168 ["returnvalues"]={
2170 ["name"]="m",
2171 ["optional"]=false,
2172 ["type"]="node",
2175 ["shortdesc"]="Copy a node list.",
2176 ["type"]="function",
2178 ["count"]={
2179 ["arguments"]={
2181 ["name"]="id",
2182 ["optional"]=false,
2183 ["type"]="number",
2186 ["name"]="n",
2187 ["optional"]=false,
2188 ["type"]="node",
2191 ["name"]="m",
2192 ["optional"]=true,
2193 ["type"]="node",
2196 ["returnvalues"]={
2198 ["name"]="i",
2199 ["optional"]=false,
2200 ["type"]="number",
2203 ["shortdesc"]="Return the count of nodes with a specific id in a node list. Processing stops just before the optional node.",
2204 ["type"]="function",
2206 ["dimensions"]={
2207 ["arguments"]={
2209 ["name"]="glue_set",
2210 ["optional"]=true,
2211 ["type"]="number",
2214 ["name"]="glue_sign",
2215 ["optional"]=true,
2216 ["type"]="number",
2219 ["name"]="glue_order",
2220 ["optional"]=true,
2221 ["type"]="number",
2224 ["name"]="n",
2225 ["optional"]=false,
2226 ["type"]="node",
2229 ["name"]="t",
2230 ["optional"]=true,
2231 ["type"]="node",
2234 ["returnvalues"]={
2236 ["name"]="w",
2237 ["optional"]=false,
2238 ["type"]="number",
2241 ["name"]="h",
2242 ["optional"]=false,
2243 ["type"]="number",
2246 ["name"]="d",
2247 ["optional"]=false,
2248 ["type"]="number",
2251 ["shortdesc"]="Return the natural dimensions of a (horizontal) node list. The 3 optional numbers represent \
2252 glue_set, glue_sign, and glue_order. The calculation stops just before the optional node (default end of list)",
2253 ["type"]="function",
2255 ["fields"]={
2256 ["arguments"]={
2258 ["name"]="id",
2259 ["optional"]=false,
2260 ["type"]="number",
2263 ["name"]="subid",
2264 ["optional"]=true,
2265 ["type"]="number",
2268 ["returnvalues"]={
2270 ["name"]="t",
2271 ["optional"]=false,
2272 ["type"]="table",
2275 ["shortdesc"]="Report the fields a node type understands. The optional argument is needed for whatsits.",
2276 ["type"]="function",
2278 ["first_glyph"]={
2279 ["arguments"]={
2281 ["name"]="n",
2282 ["optional"]=false,
2283 ["type"]="node",
2286 ["name"]="m",
2287 ["optional"]=true,
2288 ["type"]="node",
2291 ["returnvalues"]={
2293 ["name"]="n",
2294 ["optional"]=false,
2295 ["type"]="node",
2298 ["shortdesc"]="Return the first character node in a list. Processing stops just before the optional node.",
2299 ["type"]="function",
2301 ["flush_list"]={
2302 ["arguments"]={
2304 ["name"]="n",
2305 ["optional"]=false,
2306 ["type"]="node",
2309 ["returnvalues"]={},
2310 ["shortdesc"]="Release a list of nodes.",
2311 ["type"]="function",
2313 ["free"]={
2314 ["arguments"]={
2316 ["name"]="n",
2317 ["optional"]=false,
2318 ["type"]="node",
2321 ["returnvalues"]={},
2322 ["shortdesc"]="Release a node.",
2323 ["type"]="function",
2325 ["has_attribute"]={
2326 ["arguments"]={
2328 ["name"]="n",
2329 ["optional"]=false,
2330 ["type"]="node",
2333 ["name"]="id",
2334 ["optional"]=false,
2335 ["type"]="number",
2338 ["name"]="val",
2339 ["optional"]=true,
2340 ["type"]="number",
2343 ["returnvalues"]={
2345 ["name"]="v",
2346 ["optional"]=false,
2347 ["type"]="number",
2350 ["shortdesc"]="Return an attribute value for a node, if it has one. The optional number tests for a specific value",
2351 ["type"]="function",
2353 ["has_field"]={
2354 ["arguments"]={
2356 ["name"]="n",
2357 ["optional"]=false,
2358 ["type"]="node",
2361 ["name"]="field",
2362 ["optional"]=false,
2363 ["type"]="string",
2366 ["returnvalues"]={
2368 ["name"]="t",
2369 ["optional"]=false,
2370 ["type"]="boolean",
2373 ["shortdesc"]="Return true if the node understands the named field.",
2374 ["type"]="function",
2376 ["hpack"]={
2377 ["arguments"]={
2379 ["name"]="n",
2380 ["optional"]=false,
2381 ["type"]="node",
2384 ["name"]="w",
2385 ["optional"]=true,
2386 ["type"]="number",
2389 ["name"]="info",
2390 ["optional"]=true,
2391 ["type"]="string",
2394 ["name"]="dir",
2395 ["optional"]=true,
2396 ["type"]="string",
2399 ["returnvalues"]={
2401 ["name"]="h",
2402 ["optional"]=false,
2403 ["type"]="node",
2406 ["name"]="b",
2407 ["optional"]=false,
2408 ["type"]="number",
2411 ["shortdesc"]="Pack a node list into a horizontal list. The number is the desired size, the first string is either \\aliteral{exact} or \\aliteral{additional} (modifies the first string),\
2412 the second string is the desired direction",
2413 ["type"]="function",
2415 ["id"]={
2416 ["arguments"]={
2418 ["name"]="type",
2419 ["optional"]=false,
2420 ["type"]="string",
2423 ["returnvalues"]={
2425 ["name"]="id",
2426 ["optional"]=false,
2427 ["type"]="number",
2430 ["shortdesc"]="Convert a node type string into a node id number.",
2431 ["type"]="function",
2433 ["insert_after"]={
2434 ["arguments"]={
2436 ["name"]="head",
2437 ["optional"]=false,
2438 ["type"]="node",
2441 ["name"]="current",
2442 ["optional"]=false,
2443 ["type"]="node",
2446 ["name"]="new",
2447 ["optional"]=false,
2448 ["type"]="node",
2451 ["returnvalues"]={
2453 ["name"]="head",
2454 ["optional"]=false,
2455 ["type"]="node",
2458 ["name"]="new",
2459 ["optional"]=false,
2460 ["type"]="node",
2463 ["shortdesc"]="Insert the third node just after the second node in the list that starts at the first node.",
2464 ["type"]="function",
2466 ["insert_before"]={
2467 ["arguments"]={
2469 ["name"]="head",
2470 ["optional"]=false,
2471 ["type"]="node",
2474 ["name"]="current",
2475 ["optional"]=false,
2476 ["type"]="node",
2479 ["name"]="new",
2480 ["optional"]=false,
2481 ["type"]="node",
2484 ["returnvalues"]={
2486 ["name"]="head",
2487 ["optional"]=false,
2488 ["type"]="node",
2491 ["name"]="new",
2492 ["optional"]=false,
2493 ["type"]="node",
2496 ["shortdesc"]="Insert the third node just before the second node in the list that starts at the first node.",
2497 ["type"]="function",
2499 ["is_node"]={
2500 ["arguments"]={
2502 ["name"]="n",
2503 ["optional"]=false,
2504 ["type"]="any",
2507 ["returnvalues"]={
2509 ["name"]="yes",
2510 ["optional"]=false,
2511 ["type"]="boolean",
2514 ["shortdesc"]="Return true if the object is a <node>.",
2515 ["type"]="function",
2517 ["kerning"]={
2518 ["arguments"]={
2520 ["name"]="n",
2521 ["optional"]=false,
2522 ["type"]="node",
2525 ["name"]="m",
2526 ["optional"]=true,
2527 ["type"]="node",
2530 ["returnvalues"]={
2532 ["name"]="h",
2533 ["optional"]=false,
2534 ["type"]="node",
2537 ["name"]="t",
2538 ["optional"]=false,
2539 ["type"]="node",
2542 ["name"]="success",
2543 ["optional"]=false,
2544 ["type"]="boolean",
2547 ["shortdesc"]="Apply the internal kerning routine to a node list. Processing stops just before the optional node.",
2548 ["type"]="function",
2550 ["last_node"]={
2551 ["arguments"]={},
2552 ["returnvalues"]={
2554 ["name"]="n",
2555 ["optional"]=false,
2556 ["type"]="node",
2559 ["shortdesc"]="Pops and returns the last node on the current output list.",
2560 ["type"]="function",
2562 ["length"]={
2563 ["arguments"]={
2565 ["name"]="n",
2566 ["optional"]=false,
2567 ["type"]="node",
2570 ["name"]="m",
2571 ["optional"]=true,
2572 ["type"]="node",
2575 ["returnvalues"]={
2577 ["name"]="i",
2578 ["optional"]=false,
2579 ["type"]="number",
2582 ["shortdesc"]="Return the length of a node list. Processing stops just before the optional node.",
2583 ["type"]="function",
2585 ["ligaturing"]={
2586 ["arguments"]={
2588 ["name"]="n",
2589 ["optional"]=false,
2590 ["type"]="node",
2593 ["name"]="m",
2594 ["optional"]=true,
2595 ["type"]="node",
2598 ["returnvalues"]={
2600 ["name"]="h",
2601 ["optional"]=false,
2602 ["type"]="node",
2605 ["name"]="t",
2606 ["optional"]=false,
2607 ["type"]="node",
2610 ["name"]="success",
2611 ["optional"]=false,
2612 ["type"]="boolean",
2615 ["shortdesc"]="Apply the internal ligaturing routine to a node list. Processing stops just before the optional node.",
2616 ["type"]="function",
2618 ["mlist_to_hlist"]={
2619 ["arguments"]={
2621 ["name"]="n",
2622 ["optional"]=false,
2623 ["type"]="node",
2626 ["name"]="displaytype",
2627 ["optional"]=false,
2628 ["type"]="string",
2631 ["name"]="penalties",
2632 ["optional"]=false,
2633 ["type"]="boolean",
2636 ["returnvalues"]={
2638 ["name"]="h",
2639 ["optional"]=false,
2640 ["type"]="node",
2643 ["shortdesc"]="Recursively convert a math list into a horizontal list. The string differentiates display and inline, the boolean\
2644 whether penalties are inserted",
2645 ["type"]="function",
2647 ["new"]={
2648 ["arguments"]={
2650 ["name"]="id",
2651 ["optional"]=false,
2652 ["type"]="number",
2655 ["name"]="subid",
2656 ["optional"]=true,
2657 ["type"]="number",
2660 ["returnvalues"]={
2662 ["name"]="n",
2663 ["optional"]=false,
2664 ["type"]="node",
2667 ["shortdesc"]="Create a new node with id and (optional) subtype.",
2668 ["type"]="function",
2670 ["protect_glyphs"]={
2671 ["arguments"]={
2673 ["name"]="n",
2674 ["optional"]=false,
2675 ["type"]="node",
2678 ["returnvalues"]={},
2679 ["shortdesc"]="Mark all processed glyphs in a node list as being characters.",
2680 ["type"]="function",
2682 ["protrusion_skippable"]={
2683 ["arguments"]={
2685 ["name"]="n",
2686 ["optional"]=false,
2687 ["type"]="node",
2690 ["returnvalues"]={
2692 ["name"]="yes",
2693 ["optional"]=false,
2694 ["type"]="boolean",
2697 ["shortdesc"]="Return true if the node could be skipped for protrusion purposes.",
2698 ["type"]="function",
2700 ["remove"]={
2701 ["arguments"]={
2703 ["name"]="head",
2704 ["optional"]=false,
2705 ["type"]="node",
2708 ["name"]="current",
2709 ["optional"]=false,
2710 ["type"]="node",
2713 ["returnvalues"]={
2715 ["name"]="head",
2716 ["optional"]=false,
2717 ["type"]="node",
2720 ["name"]="current",
2721 ["optional"]=false,
2722 ["type"]="node",
2725 ["shortdesc"]="Extract and remove a second node from the list that starts in the first node.",
2726 ["type"]="function",
2728 ["set_attribute"]={
2729 ["arguments"]={
2731 ["name"]="n",
2732 ["optional"]=false,
2733 ["type"]="node",
2736 ["name"]="id",
2737 ["optional"]=false,
2738 ["type"]="number",
2741 ["name"]="val",
2742 ["optional"]=false,
2743 ["type"]="number",
2746 ["returnvalues"]={},
2747 ["shortdesc"]="Set an attribute value for a node.",
2748 ["type"]="function",
2750 ["slide"]={
2751 ["arguments"]={
2753 ["name"]="n",
2754 ["optional"]=false,
2755 ["type"]="node",
2758 ["returnvalues"]={
2760 ["name"]="m",
2761 ["optional"]=false,
2762 ["type"]="node",
2765 ["shortdesc"]="Move to the last node of a list while fixing next and prev pointers.",
2766 ["type"]="function",
2768 ["next"]={
2769 ["arguments"]={
2771 ["name"]="n",
2772 ["optional"]=false,
2773 ["type"]="node",
2776 ["returnvalues"]={
2778 ["name"]="m",
2779 ["optional"]=false,
2780 ["type"]="node",
2783 ["shortdesc"]="Returns the next node.",
2784 ["type"]="function",
2786 ["prev"]={
2787 ["arguments"]={
2789 ["name"]="n",
2790 ["optional"]=false,
2791 ["type"]="node",
2794 ["returnvalues"]={
2796 ["name"]="m",
2797 ["optional"]=false,
2798 ["type"]="node",
2801 ["shortdesc"]="Returns the previous node.",
2802 ["type"]="function",
2804 ["subtype"]={
2805 ["arguments"]={
2807 ["name"]="type",
2808 ["optional"]=false,
2809 ["type"]="string",
2812 ["returnvalues"]={
2814 ["name"]="subtype",
2815 ["optional"]=false,
2816 ["type"]="number",
2819 ["shortdesc"]="Convert a whatsit type string into a node subtype number.",
2820 ["type"]="function",
2822 ["tail"]={
2823 ["arguments"]={
2825 ["name"]="n",
2826 ["optional"]=false,
2827 ["type"]="node",
2830 ["returnvalues"]={
2832 ["name"]="m",
2833 ["optional"]=false,
2834 ["type"]="node",
2837 ["shortdesc"]="Return the last node in a list.",
2838 ["type"]="function",
2840 ["traverse"]={
2841 ["arguments"]={
2843 ["name"]="n",
2844 ["optional"]=false,
2845 ["type"]="node",
2848 ["returnvalues"]={
2850 ["name"]="t",
2851 ["optional"]=false,
2852 ["type"]="node",
2855 ["shortdesc"]="Iterate over a node list.",
2856 ["type"]="function",
2858 ["traverse_id"]={
2859 ["arguments"]={
2861 ["name"]="id",
2862 ["optional"]=false,
2863 ["type"]="number",
2866 ["name"]="n",
2867 ["optional"]=false,
2868 ["type"]="node",
2871 ["returnvalues"]={
2873 ["name"]="t",
2874 ["optional"]=false,
2875 ["type"]="node",
2878 ["shortdesc"]="Iterate over nodes with id matching the number in a node list.",
2879 ["type"]="function",
2881 ["type"]={
2882 ["arguments"]={
2884 ["name"]="id",
2885 ["optional"]=false,
2886 ["type"]="number",
2889 ["returnvalues"]={
2891 ["name"]="type",
2892 ["optional"]=false,
2893 ["type"]="string",
2896 ["shortdesc"]="convert a node id number into a node type string.",
2897 ["type"]="function",
2899 ["types"]={
2900 ["arguments"]={},
2901 ["returnvalues"]={
2903 ["name"]="t",
2904 ["optional"]=false,
2905 ["type"]="table",
2908 ["shortdesc"]="Return the list of node types.",
2909 ["type"]="function",
2911 ["unprotect_glyphs"]={
2912 ["arguments"]={
2914 ["name"]="n",
2915 ["optional"]=false,
2916 ["type"]="node",
2919 ["returnvalues"]={},
2920 ["shortdesc"]="Mark all characters in a node list as being processed glyphs.",
2921 ["type"]="function",
2923 ["unset_attribute"]={
2924 ["arguments"]={
2926 ["name"]="n",
2927 ["optional"]=false,
2928 ["type"]="node",
2931 ["name"]="i",
2932 ["optional"]=false,
2933 ["type"]="number",
2936 ["name"]="val",
2937 ["optional"]=true,
2938 ["type"]="number",
2941 ["returnvalues"]={
2943 ["name"]="v",
2944 ["optional"]=false,
2945 ["type"]="number",
2948 ["shortdesc"]="Unset an attribute value for a node. The optional number tests for a specific value",
2949 ["type"]="function",
2951 ["vpack"]={
2952 ["arguments"]={
2954 ["name"]="n",
2955 ["optional"]=false,
2956 ["type"]="node",
2959 ["name"]="w",
2960 ["optional"]=true,
2961 ["type"]="number",
2964 ["name"]="info",
2965 ["optional"]=true,
2966 ["type"]="string",
2969 ["name"]="dir",
2970 ["optional"]=true,
2971 ["type"]="string",
2974 ["returnvalues"]={
2976 ["name"]="h",
2977 ["optional"]=false,
2978 ["type"]="node",
2981 ["name"]="b",
2982 ["optional"]=false,
2983 ["type"]="number",
2986 ["shortdesc"]="Pack a node list into a vertical list. Arguments as for node.hpack",
2987 ["type"]="function",
2989 ["whatsits"]={
2990 ["arguments"]={},
2991 ["returnvalues"]={
2993 ["name"]="t",
2994 ["optional"]=false,
2995 ["type"]="table",
2998 ["shortdesc"]="Return the list of whatsit types.",
2999 ["type"]="function",
3001 ["write"]={
3002 ["arguments"]={
3004 ["name"]="n",
3005 ["optional"]=false,
3006 ["type"]="node",
3009 ["returnvalues"]={},
3010 ["shortdesc"]="Appends a node to the current output list.",
3011 ["type"]="function",
3014 ["methods"]={
3017 ["os"]={
3018 ["functions"]={
3019 ["exec"]={
3020 ["arguments"]={
3022 ["name"]="command",
3023 ["optional"]=false,
3024 ["type"]="table",
3027 ["returnvalues"]={},
3028 ["shortdesc"]=" Run an external command and exit. The table is an array of arguments, with an optional \\type{argv[0]} in index 0.",
3029 ["type"]="function",
3031 ["gettimeofday"]={
3032 ["arguments"]={},
3033 ["returnvalues"]={
3035 ["name"]="time",
3036 ["optional"]=false,
3037 ["type"]="number",
3040 ["shortdesc"]="Get the time as a floating point number (Unix only).",
3041 ["type"]="function",
3043 ["setenv"]={
3044 ["arguments"]={
3046 ["name"]="key",
3047 ["optional"]=false,
3048 ["type"]="string",
3051 ["name"]="value",
3052 ["optional"]=false,
3053 ["type"]="string",
3056 ["returnvalues"]={},
3057 ["shortdesc"]="Set an environment variable.",
3058 ["type"]="function",
3060 ["spawn"]={
3061 ["arguments"]={
3063 ["name"]="command",
3064 ["optional"]=false,
3065 ["type"]="table",
3068 ["returnvalues"]={
3070 ["name"]="succ",
3071 ["optional"]=false,
3072 ["type"]="boolean",
3075 ["shortdesc"]="Run an external command and return its exit code. The table is an array of arguments, with an optional \\type{argv[0]} in index 0.",
3076 ["type"]="function",
3078 ["times"]={
3079 ["arguments"]={},
3080 ["returnvalues"]={
3082 ["name"]="times",
3083 ["optional"]=false,
3084 ["type"]="table",
3087 ["shortdesc"]="Return process times.",
3088 ["type"]="function",
3090 ["tmpdir"]={
3091 ["arguments"]={},
3092 ["returnvalues"]={
3094 ["name"]="d",
3095 ["optional"]=false,
3096 ["type"]="string",
3099 ["shortdesc"]="Create a temporary directory inside the current directory.",
3100 ["type"]="function",
3102 ["selfdir"]={
3103 ["arguments"]={},
3104 ["returnvalues"]={
3106 ["name"]="d",
3107 ["optional"]=false,
3108 ["type"]="string",
3111 ["shortdesc"]="Return the directory path of argv[0].",
3112 ["type"]="function",
3114 ["uname"]={
3115 ["arguments"]={},
3116 ["returnvalues"]={
3118 ["name"]="data",
3119 ["optional"]=false,
3120 ["type"]="table",
3123 ["shortdesc"]="Return various information strings about the computer.",
3124 ["type"]="function",
3127 ["methods"]={
3130 ["pdf"]={
3131 ["functions"]={
3132 ["immediateobj"]={
3133 ["arguments"]={
3135 ["name"]="n",
3136 ["optional"]=true,
3137 ["type"]="number",
3140 ["name"]="type",
3141 ["optional"]=true,
3142 ["type"]="string",
3145 ["name"]="objtext",
3146 ["optional"]=false,
3147 ["type"]="string",
3150 ["name"]="extradata",
3151 ["optional"]=true,
3152 ["type"]="string",
3155 ["returnvalues"]={
3157 ["name"]="n",
3158 ["optional"]=false,
3159 ["type"]="number",
3162 ["shortdesc"]="Write an object to the PDF file immediately. The optional number is an object id,\
3163 the first optional string is \\aliteral{{file}}, \\aliteral{{stream}}, or \\aliteral{{filestream}}.\
3164 the second optional string contains stream attributes for the latter two cases.\
3166 ["type"]="function",
3168 ["obj"]={
3169 ["arguments"]={
3171 ["name"]="n",
3172 ["optional"]=true,
3173 ["type"]="number",
3176 ["name"]="type",
3177 ["optional"]=true,
3178 ["type"]="string",
3181 ["name"]="objtext",
3182 ["optional"]=false,
3183 ["type"]="string",
3186 ["name"]="extradata",
3187 ["optional"]=true,
3188 ["type"]="string",
3191 ["returnvalues"]={
3193 ["name"]="n",
3194 ["optional"]=false,
3195 ["type"]="number",
3198 ["shortdesc"]="Write an object to the PDF file. See \\aliteral{pdf.immediateobj} for arguments.",
3199 ["type"]="function",
3201 ["refobj"]={
3202 ["arguments"]={
3204 ["name"]="n",
3205 ["optional"]=false,
3206 ["type"]="number",
3209 ["returnvalues"]={},
3210 ["shortdesc"]="Reference an object, so that it will be written out.",
3211 ["type"]="function",
3213 ["print"]={
3214 ["arguments"]={
3216 ["name"]="type",
3217 ["optional"]=true,
3218 ["type"]="string",
3221 ["name"]="s",
3222 ["optional"]=false,
3223 ["type"]="string",
3226 ["returnvalues"]={},
3227 ["shortdesc"]="Write directly to the PDF file (use in \\tex{latelua}). The optional string is\
3228 one of \\aliteral{{direct}} or \\aliteral{{page}}",
3229 ["type"]="function",
3231 ["registerannot"]={
3232 ["arguments"]={
3234 ["name"]="objnum",
3235 ["optional"]=false,
3236 ["type"]="number",
3239 ["returnvalues"]={},
3240 ["shortdesc"]="Register an annotation in the PDF backend.",
3241 ["type"]="function",
3243 ["pageref"]={
3244 ["arguments"]={
3246 ["name"]="objnum",
3247 ["optional"]=false,
3248 ["type"]="number",
3251 ["returnvalues"]={
3253 ["name"]="page",
3254 ["optional"]=false,
3255 ["type"]="number",
3258 ["shortdesc"]="Return the pageref object number.",
3259 ["type"]="function",
3262 ["mapfile"]={
3263 ["arguments"]={
3265 ["name"]="s",
3266 ["optional"]=false,
3267 ["type"]="string",
3270 ["returnvalues"]={},
3271 ["shortdesc"]="Register a font map file.",
3272 ["type"]="function",
3275 ["mapline"]={
3276 ["arguments"]={
3278 ["name"]="s",
3279 ["optional"]=false,
3280 ["type"]="string",
3283 ["returnvalues"]={},
3284 ["shortdesc"]="Register a font map line.",
3285 ["type"]="function",
3288 ["reserveobj"]={
3289 ["arguments"]={},
3290 ["returnvalues"]={
3292 ["name"]="n",
3293 ["optional"]=false,
3294 ["type"]="number",
3297 ["shortdesc"]="Reserve an object number in the PDF backend.",
3298 ["type"]="function",
3301 ["methods"]={
3304 ["status"]={
3305 ["functions"]={
3306 ["list"]={
3307 ["arguments"]={},
3308 ["returnvalues"]={
3310 ["name"]="info",
3311 ["optional"]=false,
3312 ["type"]="table",
3315 ["shortdesc"]="Returns a table with various status items.",
3316 ["type"]="function",
3319 ["methods"]={
3322 ["string"]={
3323 ["functions"]={
3324 ["bytepairs"]={
3325 ["arguments"]={
3327 ["name"]="s",
3328 ["optional"]=false,
3329 ["type"]="string",
3332 ["returnvalues"]={
3334 ["name"]="n",
3335 ["optional"]=false,
3336 ["type"]="number",
3339 ["name"]="m",
3340 ["optional"]=false,
3341 ["type"]="number",
3344 ["shortdesc"]="Iterator that returns two values representing two single 8-byte tokens.",
3345 ["type"]="function",
3347 ["bytes"]={
3348 ["arguments"]={
3350 ["name"]="s",
3351 ["optional"]=false,
3352 ["type"]="string",
3355 ["returnvalues"]={
3357 ["name"]="n",
3358 ["optional"]=false,
3359 ["type"]="number",
3362 ["shortdesc"]="Iterator that returns a value representing a single 8-byte token.",
3363 ["type"]="function",
3365 ["characterpairs"]={
3366 ["arguments"]={
3368 ["name"]="s",
3369 ["optional"]=false,
3370 ["type"]="string",
3373 ["returnvalues"]={
3375 ["name"]="s",
3376 ["optional"]=false,
3377 ["type"]="string",
3380 ["name"]="t",
3381 ["optional"]=false,
3382 ["type"]="string",
3385 ["shortdesc"]="Iterator that returns two strings representing two single \\UTF-8 tokens.",
3386 ["type"]="function",
3388 ["characters"]={
3389 ["arguments"]={
3391 ["name"]="s",
3392 ["optional"]=false,
3393 ["type"]="string",
3396 ["returnvalues"]={
3398 ["name"]="s",
3399 ["optional"]=false,
3400 ["type"]="string",
3403 ["shortdesc"]="Iterator that returns a string representing a single 8-byte token.",
3404 ["type"]="function",
3406 ["explode"]={
3407 ["arguments"]={
3409 ["name"]="s",
3410 ["optional"]=false,
3411 ["type"]="string",
3414 ["name"]="sep",
3415 ["optional"]=true,
3416 ["type"]="string",
3419 ["returnvalues"]={
3421 ["name"]="i",
3422 ["optional"]=false,
3423 ["type"]="table",
3426 ["shortdesc"]="Break a string into pieces. The optional argument is a character possibly followed by a plus sign (default \\aliteral{{ +}})",
3427 ["type"]="function",
3429 ["utfcharacters"]={
3430 ["arguments"]={
3432 ["name"]="s",
3433 ["optional"]=false,
3434 ["type"]="string",
3437 ["returnvalues"]={
3439 ["name"]="s",
3440 ["optional"]=false,
3441 ["type"]="string",
3444 ["shortdesc"]="Iterator that returns a string representing a single \\UTF-8 token.",
3445 ["type"]="function",
3447 ["utfvalues"]={
3448 ["arguments"]={
3450 ["name"]="s",
3451 ["optional"]=false,
3452 ["type"]="string",
3455 ["returnvalues"]={
3457 ["name"]="n",
3458 ["optional"]=false,
3459 ["type"]="number",
3462 ["shortdesc"]="Iterator that returns a value representing a single \\UTF-8 token.",
3463 ["type"]="function",
3466 ["methods"]={
3469 ["tex"]={
3470 ["functions"]={
3471 ["badness"]={
3472 ["arguments"]={
3474 ["name"]="f",
3475 ["optional"]=false,
3476 ["type"]="number",
3479 ["name"]="s",
3480 ["optional"]=false,
3481 ["type"]="number",
3484 ["returnvalues"]={
3486 ["name"]="b",
3487 ["optional"]=false,
3488 ["type"]="number",
3491 ["shortdesc"]="Compute a badness value.",
3492 ["type"]="function",
3494 ["definefont"]={
3495 ["arguments"]={
3497 ["name"]="global",
3498 ["optional"]=true,
3499 ["type"]="boolean",
3502 ["name"]="csname",
3503 ["optional"]=false,
3504 ["type"]="string",
3507 ["name"]="fontid",
3508 ["optional"]=false,
3509 ["type"]="number",
3512 ["returnvalues"]={},
3513 ["shortdesc"]="Define a font csname. The optional boolean indicates for global definition, the string is the csname, the number is a font id.",
3514 ["type"]="function",
3516 ["enableprimitives"]={
3517 ["arguments"]={
3519 ["name"]="prefix",
3520 ["optional"]=false,
3521 ["type"]="string",
3524 ["name"]="names",
3525 ["optional"]=false,
3526 ["type"]="table",
3529 ["returnvalues"]={},
3530 ["shortdesc"]="Enable the all primitives in the array using the string as prefix.",
3531 ["type"]="function",
3533 ["error"]={
3534 ["arguments"]={
3536 ["name"]="s",
3537 ["optional"]=false,
3538 ["type"]="string",
3541 ["name"]="helptext",
3542 ["optional"]=true,
3543 ["type"]="table",
3546 ["returnvalues"]={},
3547 ["shortdesc"]="Create an error that is presented to the user. The optional table is an array of help message strings.",
3548 ["type"]="function",
3550 ["extraprimitives"]={
3551 ["arguments"]={
3553 ["name"]="s1",
3554 ["optional"]=false,
3555 ["type"]="string",
3558 ["name"]="s2",
3559 ["optional"]=true,
3560 ["type"]="string",
3563 ["returnvalues"]={
3565 ["name"]="t",
3566 ["optional"]=false,
3567 ["type"]="table",
3570 ["shortdesc"]="Return all primitives in a (set of) extension identifiers. Valid identifiers are: \
3571 \\aliteral{tex}, \\aliteral{core}, \\aliteral{etex}, \\aliteral{pdftex}, \\aliteral{omega}, \\aliteral{aleph}, and \\aliteral{luatex}.",
3572 ["type"]="function",
3574 ["get"]={
3575 ["arguments"]={
3577 ["name"]="n",
3578 ["optional"]=false,
3579 ["type"]="string",
3582 ["returnvalues"]={
3584 ["name"]="v",
3585 ["optional"]=false,
3586 ["type"]="value",
3589 ["shortdesc"]="Get a named internal register. Also accepts a predefined csname string.",
3590 ["type"]="function",
3592 ["getattribute"]={
3593 ["arguments"]={
3595 ["name"]="n",
3596 ["optional"]=false,
3597 ["type"]="number",
3600 ["returnvalues"]={
3602 ["name"]="s",
3603 ["optional"]=false,
3604 ["type"]="number",
3607 ["shortdesc"]="Get an attribute register. Also accepts a predefined csname string.",
3608 ["type"]="function",
3610 ["getbox"]={
3611 ["arguments"]={
3613 ["name"]="n",
3614 ["optional"]=false,
3615 ["type"]="number",
3618 ["returnvalues"]={
3620 ["name"]="s",
3621 ["optional"]=false,
3622 ["type"]="node",
3625 ["shortdesc"]="Get a box register. Also accepts a predefined csname string.",
3626 ["type"]="function",
3628 ["getcount"]={
3629 ["arguments"]={
3631 ["name"]="n",
3632 ["optional"]=false,
3633 ["type"]="number",
3636 ["returnvalues"]={
3638 ["name"]="s",
3639 ["optional"]=false,
3640 ["type"]="number",
3643 ["shortdesc"]="Get a count register. Also accepts a predefined csname string.",
3644 ["type"]="function",
3646 ["getdimen"]={
3647 ["arguments"]={
3649 ["name"]="n",
3650 ["optional"]=false,
3651 ["type"]="number",
3654 ["returnvalues"]={
3656 ["name"]="s",
3657 ["optional"]=false,
3658 ["type"]="number",
3661 ["shortdesc"]="Get a dimen register. Also accepts a predefined csname string.",
3662 ["type"]="function",
3664 ["getmath"]={
3665 ["arguments"]={
3667 ["name"]="n",
3668 ["optional"]=false,
3669 ["type"]="string",
3672 ["name"]="t",
3673 ["optional"]=false,
3674 ["type"]="string",
3677 ["returnvalues"]={
3679 ["name"]="n",
3680 ["optional"]=false,
3681 ["type"]="number",
3684 ["shortdesc"]="Get an internal math parameter. The first string is like the csname but without the \\type{Umath} prefix, the second string is a style name minus the \\type{style} suffix.",
3685 ["type"]="function",
3687 ["getskip"]={
3688 ["arguments"]={
3690 ["name"]="n",
3691 ["optional"]=false,
3692 ["type"]="number",
3695 ["returnvalues"]={
3697 ["name"]="s",
3698 ["optional"]=false,
3699 ["type"]="node",
3702 ["shortdesc"]="Get a skip register. Also accepts a predefined csname string.",
3703 ["type"]="function",
3705 ["gettoks"]={
3706 ["arguments"]={
3708 ["name"]="n",
3709 ["optional"]=false,
3710 ["type"]="number",
3713 ["returnvalues"]={
3715 ["name"]="s",
3716 ["optional"]=false,
3717 ["type"]="string",
3720 ["shortdesc"]="Get a toks register. Also accepts a predefined csname string.",
3721 ["type"]="function",
3725 ["getlccode"]={
3726 ["arguments"]={
3728 ["name"]="n",
3729 ["optional"]=false,
3730 ["type"]="number",
3733 ["returnvalues"]={
3735 ["name"]="s",
3736 ["optional"]=false,
3737 ["type"]="number",
3740 ["shortdesc"]="Get a lowercase code.",
3741 ["type"]="function",
3744 ["setlccode"]={
3745 ["arguments"]={
3747 ["name"]="global",
3748 ["optional"]=true,
3749 ["type"]="string",
3752 ["name"]="n",
3753 ["optional"]=false,
3754 ["type"]="number",
3757 ["name"]="lc",
3758 ["optional"]=false,
3759 ["type"]="number",
3762 ["name"]="uc",
3763 ["optional"]=true,
3764 ["type"]="number",
3767 ["returnvalues"]={},
3768 ["shortdesc"]="Set a lowercase code.",
3769 ["type"]="function",
3772 ["getuccode"]={
3773 ["arguments"]={
3775 ["name"]="n",
3776 ["optional"]=false,
3777 ["type"]="number",
3780 ["returnvalues"]={
3782 ["name"]="s",
3783 ["optional"]=false,
3784 ["type"]="number",
3787 ["shortdesc"]="Get an uppercase code.",
3788 ["type"]="function",
3790 ["setuccode"]={
3791 ["arguments"]={
3793 ["name"]="global",
3794 ["optional"]=true,
3795 ["type"]="string",
3798 ["name"]="n",
3799 ["optional"]=false,
3800 ["type"]="number",
3803 ["name"]="uc",
3804 ["optional"]=false,
3805 ["type"]="number",
3808 ["name"]="lc",
3809 ["optional"]=true,
3810 ["type"]="number",
3813 ["returnvalues"]={},
3814 ["shortdesc"]="Set an uppercase code.",
3815 ["type"]="function",
3817 ["getsfcode"]={
3818 ["arguments"]={
3820 ["name"]="n",
3821 ["optional"]=false,
3822 ["type"]="number",
3825 ["returnvalues"]={
3827 ["name"]="s",
3828 ["optional"]=false,
3829 ["type"]="number",
3832 ["shortdesc"]="Get a space factor.",
3833 ["type"]="function",
3835 ["setsfcode"]={
3836 ["arguments"]={
3838 ["name"]="global",
3839 ["optional"]=true,
3840 ["type"]="string",
3843 ["name"]="n",
3844 ["optional"]=false,
3845 ["type"]="number",
3848 ["name"]="sf",
3849 ["optional"]=false,
3850 ["type"]="number",
3853 ["returnvalues"]={},
3854 ["shortdesc"]="Set a space factor.",
3855 ["type"]="function",
3858 ["getcatcode"]={
3859 ["arguments"]={
3861 ["name"]="cattable",
3862 ["optional"]=true,
3863 ["type"]="number",
3866 ["name"]="n",
3867 ["optional"]=false,
3868 ["type"]="number",
3871 ["returnvalues"]={
3873 ["name"]="c",
3874 ["optional"]=false,
3875 ["type"]="number",
3878 ["shortdesc"]="Get a category code.",
3879 ["type"]="function",
3882 ["setcatcode"]={
3883 ["arguments"]={
3885 ["name"]="global",
3886 ["optional"]=true,
3887 ["type"]="string",
3890 ["name"]="cattable",
3891 ["optional"]=true,
3892 ["type"]="number",
3895 ["name"]="n",
3896 ["optional"]=false,
3897 ["type"]="number",
3900 ["name"]="c",
3901 ["optional"]=false,
3902 ["type"]="number",
3905 ["returnvalues"]={},
3906 ["shortdesc"]="Set a category code.",
3907 ["type"]="function",
3910 ["getmathcode"]={
3911 ["arguments"]={
3913 ["name"]="n",
3914 ["optional"]=false,
3915 ["type"]="number",
3918 ["returnvalues"]={
3920 ["name"]="s",
3921 ["optional"]=false,
3922 ["type"]="table",
3925 ["shortdesc"]="Get a math code.",
3926 ["type"]="function",
3929 ["setmathcode"]={
3930 ["arguments"]={
3932 ["name"]="global",
3933 ["optional"]=true,
3934 ["type"]="string",
3937 ["name"]="n",
3938 ["optional"]=false,
3939 ["type"]="number",
3942 ["name"]="mval",
3943 ["optional"]=false,
3944 ["type"]="table",
3947 ["returnvalues"]={},
3948 ["shortdesc"]="Set a math code.",
3949 ["type"]="function",
3952 ["getdelcode"]={
3953 ["arguments"]={
3955 ["name"]="n",
3956 ["optional"]=false,
3957 ["type"]="number",
3960 ["returnvalues"]={
3962 ["name"]="s",
3963 ["optional"]=false,
3964 ["type"]="table",
3967 ["shortdesc"]="Get a delimiter code.",
3968 ["type"]="function",
3971 ["setdelcode"]={
3972 ["arguments"]={
3974 ["name"]="global",
3975 ["optional"]=true,
3976 ["type"]="string",
3979 ["name"]="n",
3980 ["optional"]=false,
3981 ["type"]="number",
3984 ["name"]="mval",
3985 ["optional"]=false,
3986 ["type"]="table",
3989 ["returnvalues"]={},
3990 ["shortdesc"]="Set a delimiter code.",
3991 ["type"]="function",
3996 ["linebreak"]={
3997 ["arguments"]={
3999 ["name"]="listhead",
4000 ["optional"]=false,
4001 ["type"]="node",
4004 ["name"]="parameters",
4005 ["optional"]=false,
4006 ["type"]="table",
4009 ["returnvalues"]={},
4010 ["shortdesc"]="Run the line breaker on a node list. The table lists settings.",
4011 ["type"]="function",
4013 ["primitives"]={
4014 ["arguments"]={},
4015 ["returnvalues"]={
4017 ["name"]="t",
4018 ["optional"]=false,
4019 ["type"]="table",
4022 ["shortdesc"]="Returns a table of all currently active primitives, with their meaning.",
4023 ["type"]="function",
4025 ["print"]={
4026 ["arguments"]={
4028 ["name"]="n",
4029 ["optional"]=true,
4030 ["type"]="number",
4033 ["name"]="s1",
4034 ["optional"]=false,
4035 ["type"]="string",
4038 ["name"]="s2",
4039 ["optional"]=true,
4040 ["type"]="string",
4043 ["returnvalues"]={},
4044 ["shortdesc"]=" Print a sequence of strings (not just two) as lines. The optional argument is a catcode table id.",
4045 ["type"]="function",
4047 ["round"]={
4048 ["arguments"]={
4050 ["name"]="o",
4051 ["optional"]=false,
4052 ["type"]="number",
4055 ["returnvalues"]={
4057 ["name"]="n",
4058 ["optional"]=false,
4059 ["type"]="number",
4062 ["shortdesc"]="Round a number.",
4063 ["type"]="function",
4065 ["scale"]={
4066 ["arguments"]={
4068 ["name"]="o",
4069 ["optional"]=false,
4070 ["type"]="number",
4073 ["name"]="delta",
4074 ["optional"]=false,
4075 ["type"]="number",
4078 ["returnvalues"]={
4080 ["name"]="n",
4081 ["optional"]=false,
4082 ["type"]="number",
4085 ["shortdesc"]="Multiplies the first number (or all fields in a table) with the second argument (if the first argument is a table, so is the return value).",
4086 ["type"]="function",
4088 ["set"]={
4089 ["arguments"]={
4091 ["name"]="global",
4092 ["optional"]=true,
4093 ["type"]="string",
4096 ["name"]="n",
4097 ["optional"]=false,
4098 ["type"]="string",
4101 ["name"]="v",
4102 ["optional"]=false,
4103 ["type"]="value",
4106 ["returnvalues"]={},
4107 ["shortdesc"]="Set a named internal register. Also accepts a predefined csname string.",
4108 ["type"]="function",
4110 ["setattribute"]={
4111 ["arguments"]={
4113 ["name"]="global",
4114 ["optional"]=true,
4115 ["type"]="string",
4118 ["name"]="n",
4119 ["optional"]=false,
4120 ["type"]="number",
4123 ["name"]="s",
4124 ["optional"]=false,
4125 ["type"]="number",
4128 ["returnvalues"]={},
4129 ["shortdesc"]="Set an attribute register. Also accepts a predefined csname string.",
4130 ["type"]="function",
4132 ["setbox"]={
4133 ["arguments"]={
4135 ["name"]="global",
4136 ["optional"]=true,
4137 ["type"]="string",
4140 ["name"]="n",
4141 ["optional"]=false,
4142 ["type"]="number",
4145 ["name"]="s",
4146 ["optional"]=false,
4147 ["type"]="node",
4150 ["returnvalues"]={},
4151 ["shortdesc"]="Set a box register. Also accepts a predefined csname string.",
4152 ["type"]="function",
4154 ["setcount"]={
4155 ["arguments"]={
4157 ["name"]="global",
4158 ["optional"]=true,
4159 ["type"]="string",
4162 ["name"]="n",
4163 ["optional"]=false,
4164 ["type"]="number",
4167 ["name"]="s",
4168 ["optional"]=false,
4169 ["type"]="number",
4172 ["returnvalues"]={},
4173 ["shortdesc"]="Set a count register. Also accepts a predefined csname string.",
4174 ["type"]="function",
4176 ["setdimen"]={
4177 ["arguments"]={
4179 ["name"]="global",
4180 ["optional"]=true,
4181 ["type"]="string",
4184 ["name"]="n",
4185 ["optional"]=false,
4186 ["type"]="number",
4189 ["name"]="s",
4190 ["optional"]=false,
4191 ["type"]="number",
4194 ["returnvalues"]={},
4195 ["shortdesc"]="Set a dimen register. Also accepts a predefined csname string.",
4196 ["type"]="function",
4198 ["setmath"]={
4199 ["arguments"]={
4201 ["name"]="global",
4202 ["optional"]=true,
4203 ["type"]="string",
4206 ["name"]="n",
4207 ["optional"]=false,
4208 ["type"]="string",
4211 ["name"]="t",
4212 ["optional"]=false,
4213 ["type"]="string",
4216 ["name"]="n",
4217 ["optional"]=false,
4218 ["type"]="number",
4221 ["returnvalues"]={},
4222 ["shortdesc"]="Set an internal math parameter. The first string is like the csname but without the \\type{Umath} prefix, the second string is a style name minus the \\type{style} suffix.",
4223 ["type"]="function",
4225 ["setskip"]={
4226 ["arguments"]={
4228 ["name"]="global",
4229 ["optional"]=true,
4230 ["type"]="string",
4233 ["name"]="n",
4234 ["optional"]=false,
4235 ["type"]="number",
4238 ["name"]="s",
4239 ["optional"]=false,
4240 ["type"]="node",
4243 ["returnvalues"]={},
4244 ["shortdesc"]="Set a skip register. Also accepts a predefined csname string.",
4245 ["type"]="function",
4247 ["settoks"]={
4248 ["arguments"]={
4250 ["name"]="global",
4251 ["optional"]=true,
4252 ["type"]="string",
4255 ["name"]="n",
4256 ["optional"]=false,
4257 ["type"]="number",
4260 ["name"]="s",
4261 ["optional"]=false,
4262 ["type"]="string",
4265 ["returnvalues"]={},
4266 ["shortdesc"]="Set a toks register. Also accepts a predefined csname string.",
4267 ["type"]="function",
4269 ["shipout"]={
4270 ["arguments"]={
4272 ["name"]="n",
4273 ["optional"]=false,
4274 ["type"]="number",
4277 ["returnvalues"]={},
4278 ["shortdesc"]="Ships the box to the output file and clears the box.",
4279 ["type"]="function",
4281 ["sp"]={
4282 ["arguments"]={
4284 ["name"]="s",
4285 ["optional"]=false,
4286 ["type"]="string",
4289 ["returnvalues"]={
4291 ["name"]="n",
4292 ["optional"]=false,
4293 ["type"]="number",
4296 ["shortdesc"]="Convert a dimension string to scaled points.",
4297 ["type"]="function",
4299 ["sprint"]={
4300 ["arguments"]={
4302 ["name"]="n",
4303 ["optional"]=true,
4304 ["type"]="number",
4307 ["name"]="s1",
4308 ["optional"]=false,
4309 ["type"]="string",
4312 ["name"]="s2",
4313 ["optional"]=true,
4314 ["type"]="string",
4317 ["returnvalues"]={},
4318 ["shortdesc"]=" Print a sequence of strings (not just two) as partial lines. The optional argument is a catcode table id.",
4319 ["type"]="function",
4321 ["tprint"]={
4322 ["arguments"]={
4324 ["name"]="a1",
4325 ["optional"]=false,
4326 ["type"]="table",
4329 ["name"]="a2",
4330 ["optional"]=true,
4331 ["type"]="table",
4334 ["returnvalues"]={},
4335 ["shortdesc"]="Combine any number of \\type{tex.sprint}'s into a single function call.",
4336 ["type"]="function",
4338 ["write"]={
4339 ["arguments"]={
4341 ["name"]="s",
4342 ["optional"]=false,
4343 ["type"]="string",
4346 ["returnvalues"]={},
4347 ["shortdesc"]=" Print a sequence of strings (not just two) as detokenized data.",
4348 ["type"]="function",
4351 ["methods"]={
4354 ["texio"]={
4355 ["functions"]={
4356 ["write"]={
4357 ["arguments"]={
4359 ["name"]="target",
4360 ["optional"]=true,
4361 ["type"]="string",
4364 ["name"]="s",
4365 ["optional"]=false,
4366 ["type"]="string",
4369 ["returnvalues"]={},
4370 ["shortdesc"]="Write a string to the log and/or terminal. The optional argument is\
4371 \\aliteral{{term}}, \\aliteral{{term and log}}, or \\aliteral{{log}}.",
4372 ["type"]="function",
4374 ["write_nl"]={
4375 ["arguments"]={
4377 ["name"]="target",
4378 ["optional"]=true,
4379 ["type"]="string",
4382 ["name"]="s",
4383 ["optional"]=false,
4384 ["type"]="string",
4387 ["returnvalues"]={},
4388 ["shortdesc"]="Write a string to the log and/or terminal, starting on a new line. \
4389 The optional argument is \
4390 \\aliteral{{term}}, \\aliteral{{term and log}}, or \\aliteral{{log}}.",
4391 ["type"]="function",
4394 ["methods"]={
4397 ["token"]={
4398 ["functions"]={
4399 ["command_id"]={
4400 ["arguments"]={
4402 ["name"]="commandname",
4403 ["optional"]=false,
4404 ["type"]="string",
4407 ["returnvalues"]={
4409 ["name"]="i",
4410 ["optional"]=false,
4411 ["type"]="number",
4414 ["shortdesc"]="Return the internal number representing a command code.",
4415 ["type"]="function",
4417 ["command_name"]={
4418 ["arguments"]={
4420 ["name"]="t",
4421 ["optional"]=false,
4422 ["type"]="token",
4425 ["returnvalues"]={
4427 ["name"]="commandname",
4428 ["optional"]=false,
4429 ["type"]="string",
4432 ["shortdesc"]="Return the internal string representing a command code.",
4433 ["type"]="function",
4435 ["create"]={
4436 ["arguments"]={
4438 ["name"]="char",
4439 ["optional"]=false,
4440 ["type"]="number",
4443 ["name"]="catcode",
4444 ["optional"]=true,
4445 ["type"]="number",
4448 ["returnvalues"]={
4450 ["name"]="t",
4451 ["optional"]=false,
4452 ["type"]="token",
4455 ["shortdesc"]="Create a token from scratch, the optional argument is a category code. Also accepts strings, in which case a token matching that csname is created.",
4456 ["type"]="function",
4458 ["csname_id"]={
4459 ["arguments"]={
4461 ["name"]="csname",
4462 ["optional"]=false,
4463 ["type"]="string",
4466 ["returnvalues"]={
4468 ["name"]="i",
4469 ["optional"]=false,
4470 ["type"]="number",
4473 ["shortdesc"]="Returns the value for a csname string.",
4474 ["type"]="function",
4476 ["csname_name"]={
4477 ["arguments"]={
4479 ["name"]="t",
4480 ["optional"]=false,
4481 ["type"]="token",
4484 ["returnvalues"]={
4486 ["name"]="csname",
4487 ["optional"]=false,
4488 ["type"]="string",
4491 ["shortdesc"]="Return the csname associated with a token.",
4492 ["type"]="function",
4494 ["expand"]={
4495 ["arguments"]={},
4496 ["returnvalues"]={},
4497 ["shortdesc"]="Expand a token the tokenb waiting in the input stream.",
4498 ["type"]="function",
4500 ["get_next"]={
4501 ["arguments"]={},
4502 ["returnvalues"]={
4504 ["name"]="t",
4505 ["optional"]=false,
4506 ["type"]="token",
4509 ["shortdesc"]="Fetch the next token from the input stream.",
4510 ["type"]="function",
4512 ["is_activechar"]={
4513 ["arguments"]={
4515 ["name"]="t",
4516 ["optional"]=false,
4517 ["type"]="token",
4520 ["returnvalues"]={
4522 ["name"]="b",
4523 ["optional"]=false,
4524 ["type"]="boolean",
4527 ["shortdesc"]="True if the token represents and active character.",
4528 ["type"]="function",
4530 ["is_expandable"]={
4531 ["arguments"]={
4533 ["name"]="t",
4534 ["optional"]=false,
4535 ["type"]="token",
4538 ["returnvalues"]={
4540 ["name"]="b",
4541 ["optional"]=false,
4542 ["type"]="boolean",
4545 ["shortdesc"]="True if the token is expandable.",
4546 ["type"]="function",
4549 ["methods"]={
4554 return fdata;