diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/pdf/pdftables.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/pdf/pdftables.h | 103 |
1 files changed, 50 insertions, 53 deletions
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdftables.h b/Build/source/texk/web2c/luatexdir/pdf/pdftables.h index adcff69964c..f08195b4e04 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdftables.h +++ b/Build/source/texk/web2c/luatexdir/pdf/pdftables.h @@ -15,8 +15,8 @@ License for more details. You should have received a copy of the GNU General Public License along - with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */ - + with LuaTeX; if not, see <http://www.gnu.org/licenses/>. +*/ #ifndef PDFTABLES_H # define PDFTABLES_H @@ -33,52 +33,49 @@ typedef struct { int int0; char *str0; } u; - union_type u_type; /* integer or char * in union above */ + union_type u_type; /* integer or char * in union above */ int objptr; } oentry; /* -The cross-reference table |obj_tab| is an array of |obj_tab_size| of -|obj_entry|. Each entry contains five integer fields and represents an object -in PDF file whose object number is the index of this entry in |obj_tab|. -Objects in |obj_tab| maybe linked into list; objects in such a linked list have -the same type. -*/ -/* -The first field contains information representing identifier of this object. -It is usally a number for most of object types, but it may be a string number -for named destination or named thread. +The cross-reference table |obj_tab| is an array of |obj_tab_size| of |obj_entry|. +Each entry contains five integer fields and represents an object in PDF file +whose object number is the index of this entry in |obj_tab|. Objects in |obj_tab| +maybe linked into list; objects in such a linked list have the same type. -The second field of |obj_entry| contains link to the next -object in |obj_tab| if this object is linked in a list. +The first field contains information representing identifier of this object. It +is usally a number for most of object types, but it may be a string number for +named destination or named thread. -The third field holds the byte offset of the object in the output PDF file, -or its byte offset within an object stream. As long as the object is not -written, this field is used for flags about the write status of the object; -then it has a negative value. +The second field of |obj_entry| contains link to the next object in |obj_tab| if +this object is linked in a list. -The fourth field holds the object number of the object stream, into which -the object is included. +The third field holds the byte offset of the object in the output PDF file, or +its byte offset within an object stream. As long as the object is not written, +this field is used for flags about the write status of the object; then it has a +negative value. + +The fourth field holds the object number of the object stream, into which the +object is included. + +The last field usually represents the pointer to some auxiliary data structure +depending on the object type; however it may be used as a counter as well. -The last field usually represents the pointer to some auxiliary data -structure depending on the object type; however it may be used as a counter as -well. */ -# define obj_info(pdf,A) pdf->obj_tab[(A)].u.int0 /* information representing identifier of this object */ -# define obj_start(pdf,A) pdf->obj_tab[(A)].u.str0 -# define obj_link(pdf,A) pdf->obj_tab[(A)].int1 /* link to the next entry in linked list */ +# define obj_info(pdf,A) pdf->obj_tab[(A)].u.int0 /* information representing identifier of this object */ +# define obj_start(pdf,A) pdf->obj_tab[(A)].u.str0 +# define obj_link(pdf,A) pdf->obj_tab[(A)].int1 /* link to the next entry in linked list */ -# define obj_offset(pdf,A) pdf->obj_tab[(A)].int2 /* negative (flags), or byte offset for this object in PDF - output file, or ... */ -# define obj_os_objnum(pdf,A) pdf->obj_tab[(A)].int2 /* ... object stream number for this object */ -# define obj_os_idx(pdf,A) pdf->obj_tab[(A)].int3 /* index of this object in object stream */ -# define obj_aux(pdf,A) pdf->obj_tab[(A)].v.int4 /* auxiliary pointer */ -# define obj_stop(pdf,A) pdf->obj_tab[(A)].v.str4 -# define obj_type(pdf,A) pdf->obj_tab[(A)].objtype +# define obj_offset(pdf,A) pdf->obj_tab[(A)].int2 /* negative (flags), or byte offset for this object in PDF output file, or ... */ +# define obj_os_objnum(pdf,A) pdf->obj_tab[(A)].int2 /* ... object stream number for this object */ +# define obj_os_idx(pdf,A) pdf->obj_tab[(A)].int3 /* index of this object in object stream */ +# define obj_aux(pdf,A) pdf->obj_tab[(A)].v.int4 /* auxiliary pointer */ +# define obj_stop(pdf,A) pdf->obj_tab[(A)].v.str4 +# define obj_type(pdf,A) pdf->obj_tab[(A)].objtype -# define obj_data_ptr obj_aux /* pointer to |pdf->mem| */ +# define obj_data_ptr obj_aux /* pointer to |pdf->mem| */ # define set_obj_link(pdf,A,B) obj_link(pdf,A)=(B) # define set_obj_start(pdf,A,B) obj_start(pdf,A)=(B) @@ -94,30 +91,25 @@ well. # define is_obj_scheduled(pdf,A) ((obj_offset(pdf,A))>(off_t)-2) # define is_obj_written(pdf,A) ((obj_offset(pdf,A))>(off_t)-1) -/* NOTE: The data structure definitions for the nodes on the typesetting side are - inside |nodes.h| */ +/* + NOTE: The data structure definitions for the nodes on the typesetting side are + inside |nodes.h| +*/ -/* Some constants */ -# define inf_pk_dpi 72 /* min PK pixel density value from \.{texmf.cnf} */ -# define sup_pk_dpi 8000 /* max PK pixel density value from \.{texmf.cnf} */ +# define inf_pk_dpi 72 /* min PK pixel density value from \.{texmf.cnf} */ +# define sup_pk_dpi 8000 /* max PK pixel density value from \.{texmf.cnf} */ extern int find_obj(PDF pdf, int t, int i, boolean byname); extern void check_obj_exists(PDF pdf, int objnum); extern void check_obj_type(PDF pdf, int t, int objnum); extern int pdf_get_obj(PDF pdf, int t, int i, boolean byname); extern int pdf_create_obj(PDF pdf, int t, int i); - -extern void set_rect_dimens(PDF pdf, halfword p, halfword parent_box, - scaledpos cur, scaled_whd alt_rule, scaled margin); - +extern void set_rect_dimens(PDF pdf, halfword p, halfword parent_box, scaledpos cur, scaled_whd alt_rule, scaled margin); extern void libpdffinish(PDF); -extern void dump_pdftex_data(PDF pdf); -extern void undump_pdftex_data(PDF pdf); - -# define set_width(A, B) width(A) = (B) -# define set_height(A, B) height(A) = (B) -# define set_depth(A, B) depth(A) = (B) +# define set_width(A,B) width(A)=(B) +# define set_height(A,B) height(A)=(B) +# define set_depth(A,B) depth(A)=(B) /* pdf backend definitions */ @@ -138,7 +130,6 @@ typedef enum { c_pdf_objcompresslevel, c_pdf_inclusion_copy_font, c_pdf_gen_tounicode, - c_pdf_replace_font, } pdf_backend_counters ; typedef enum { @@ -158,6 +149,11 @@ typedef enum { t_pdf_pk_mode, } pdf_backend_tokenlists ; +extern int pdf_last_annot; +extern int pdf_last_link; +extern int pdf_last_obj; +extern int pdf_retval; + # define pdf_compress_level get_tex_extension_count_register(c_pdf_compress_level) # define pdf_decimal_digits get_tex_extension_count_register(c_pdf_decimal_digits) # define pdf_image_resolution get_tex_extension_count_register(c_pdf_image_resolution) @@ -174,7 +170,6 @@ typedef enum { # define pdf_objcompresslevel get_tex_extension_count_register(c_pdf_objcompresslevel) # define pdf_inclusion_copy_font get_tex_extension_count_register(c_pdf_inclusion_copy_font) # define pdf_gen_tounicode get_tex_extension_count_register(c_pdf_gen_tounicode) -# define pdf_replace_font get_tex_extension_count_register(c_pdf_replace_font) # define pdf_h_origin get_tex_extension_dimen_register(d_pdf_h_origin) # define pdf_v_origin get_tex_extension_dimen_register(d_pdf_v_origin) @@ -193,4 +188,6 @@ typedef enum { # define set_pdf_compress_level(i) set_tex_extension_count_register(c_pdf_compress_level,i) # define set_pdf_objcompresslevel(i) set_tex_extension_count_register(c_pdf_objcompresslevel,i) -#endif /* PDFTABLES_H */ +# define set_pdf_decimal_digits(i) set_tex_extension_count_register(c_pdf_decimal_digits,i) + +#endif |