diff options
author | Martin Schröder <martin@oneiros.de> | 2008-03-24 15:47:15 +0000 |
---|---|---|
committer | Martin Schröder <martin@oneiros.de> | 2008-03-24 15:47:15 +0000 |
commit | 0b5550c241229764120d133af80a0cbab5937ddd (patch) | |
tree | 81309c18d6f0deba7407813cf15b9add2db375d1 /Build/source/texk/web2c/luatexdir/luatex.h | |
parent | 51f55df6a36ce376952a1f2b30bdb4dd0e06548d (diff) |
First step of importing luatex (up to r1121)
git-svn-id: svn://tug.org/texlive/trunk@7124 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luatex.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatex.h | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luatex.h b/Build/source/texk/web2c/luatexdir/luatex.h new file mode 100644 index 00000000000..aef2f355396 --- /dev/null +++ b/Build/source/texk/web2c/luatexdir/luatex.h @@ -0,0 +1,173 @@ +/* +Copyright (c) 1996-2006 Han The Thanh, <thanh@pdftex.org> + +This file is part of pdfTeX. + +pdfTeX is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +pdfTeX is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with pdfTeX; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +$Id $ +*/ + +/* some code array functions */ + +extern void set_math_code (integer n, halfword v, quarterword grouplevel); +extern halfword get_math_code (integer n); + +extern void set_del_code (integer n, halfword v, halfword w, quarterword grouplevel); +extern halfword get_del_code_a (integer n); +extern halfword get_del_code_b (integer n); + +extern void unsavemathcodes (quarterword grouplevel); +extern void initializemathcodes (); +extern void dumpmathcodes (); +extern void undumpmathcodes (); + +extern void set_lc_code (integer n, halfword v, quarterword grouplevel); +extern halfword get_lc_code (integer n); +extern void set_uc_code (integer n, halfword v, quarterword grouplevel); +extern halfword get_uc_code (integer n); +extern void set_sf_code (integer n, halfword v, quarterword grouplevel); +extern halfword get_sf_code (integer n); +extern void set_cat_code (integer h, integer n, halfword v, quarterword grouplevel); +extern halfword get_cat_code (integer h, integer n); + +extern void unsavetextcodes (quarterword grouplevel); +extern void unsavecatcodes (integer h,quarterword grouplevel); +extern void copy_cat_codes (int from, int to); +extern void initex_cat_codes (int h); +extern void clearcatcodestack (integer h); +extern boolean validcatcodetable (int h); + +extern void initializetextcodes (); +extern void dumptextcodes (); +extern void undumptextcodes (); + +typedef enum { + escape, left_brace, right_brace, math_shift, + tab_mark, car_ret, mac_param, sup_mark, + sub_mark, ignore, spacer, letter, + other_char, active_char, comment, invalid_char } cat_codes; + + +extern void do_vf(internal_font_number tmp_f); + +extern int readbinfile(FILE *f, unsigned char **b, integer *s); + +#define read_tfm_file readbinfile +#define read_vf_file readbinfile +#define read_ocp_file readbinfile +#define read_data_file readbinfile + +extern int **ocp_tables; + +extern void allocate_ocp_table(); +extern void dump_ocp_table(); +extern void undump_ocp_table(); + +extern void run_external_ocp(); +extern void b_test_in(); + +/* Additions to texmfmp.h for pdfTeX */ + +/* mark a char in font */ +#define pdf_mark_char(f,c) set_char_used(f,c,true) + +/* test whether a char in font is marked */ +#define pdf_char_marked char_used + +/* writepdf() always writes by fwrite() */ +#define write_pdf(a, b) \ + (void) fwrite ((char *) &pdf_buf[a], sizeof (pdf_buf[a]), \ + (int) ((b) - (a) + 1), pdf_file) + +#define tex_b_open_in(f) \ + open_input (&(f), kpse_tex_format, FOPEN_RBIN_MODE) +#define ovf_b_open_in(f) \ + open_input (&(f), kpse_ovf_format, FOPEN_RBIN_MODE) +#define vf_b_open_in(f) \ + open_input (&(f), kpse_vf_format, FOPEN_RBIN_MODE) + +extern int open_outfile(FILE **f, char *name, char *mode); + +#define do_a_open_out(f) open_outfile(&(f),(char *)(nameoffile+1),FOPEN_W_MODE) +#define do_b_open_out(f) open_outfile(&(f),(char *)(nameoffile+1),FOPEN_WBIN_MODE) + +#define pdfassert assert +#define voidcast(a) (void *)(a) +#define varmemcast(a) (memory_word *)(a) +#define fixmemcast(a) (smemory_word *)(a) +extern volatile memory_word *varmem; +extern halfword var_mem_min; +extern halfword var_mem_max; +extern halfword get_node (integer s); +extern void free_node (halfword p, integer s) ; +extern void init_node_mem (integer r, integer s) ; +extern void dump_node_mem (void) ; +extern void undump_node_mem (void); + + +typedef enum { + find_write_file_callback = 1, + find_output_file_callback, + find_image_file_callback, + find_format_file_callback, + find_read_file_callback, open_read_file_callback, + find_ocp_file_callback, read_ocp_file_callback, + find_vf_file_callback, read_vf_file_callback, + find_data_file_callback, read_data_file_callback, + find_font_file_callback, read_font_file_callback, + find_map_file_callback, read_map_file_callback, + find_enc_file_callback, read_enc_file_callback, + find_type1_file_callback, read_type1_file_callback, + find_truetype_file_callback, read_truetype_file_callback, + find_opentype_file_callback, read_opentype_file_callback, + find_sfd_file_callback, read_sfd_file_callback, + find_pk_file_callback, read_pk_file_callback, + show_error_hook_callback, + process_input_buffer_callback, + start_page_number_callback, stop_page_number_callback, + start_run_callback, stop_run_callback, + define_font_callback, + token_filter_callback, + pre_output_filter_callback, + buildpage_filter_callback, + hpack_filter_callback, vpack_filter_callback, + char_exists_callback, + hyphenate_callback, + ligaturing_callback, + kerning_callback, + pre_linebreak_filter_callback, + linebreak_filter_callback, + post_linebreak_filter_callback, + total_callbacks } callback_callback_types; + +extern int callback_set[]; + +#define callback_defined(a) callback_set[a] + +extern int run_callback (int i, char *values, ...); +extern int run_saved_callback (int i, char *name, char *values, ...); +extern int run_and_save_callback (int i, char *values, ...); +extern void destroy_saved_callback (int i); + +extern void get_saved_lua_boolean (int i, char *name, boolean *target); +extern void get_saved_lua_number (int i, char *name, integer *target); +extern void get_saved_lua_string (int i, char *name, char **target); + +extern void get_lua_boolean (char *table, char *name, boolean *target); +extern void get_lua_number (char *table, char *name, integer *target); +extern void get_lua_string (char *table, char *name, char **target); + +#include <luatexdir/ptexlib.h> |