diff options
Diffstat (limited to 'Build/source/texk/web2c/pdftexdir/ptexlib.h')
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/ptexlib.h | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ptexlib.h b/Build/source/texk/web2c/pdftexdir/ptexlib.h new file mode 100644 index 00000000000..90159001e39 --- /dev/null +++ b/Build/source/texk/web2c/pdftexdir/ptexlib.h @@ -0,0 +1,219 @@ +/* +Copyright (c) 1996-2002 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: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/ptexlib.h#26 $ +*/ + +#ifndef PDFTEXLIB +#define PDFTEXLIB + +/* WEB2C macros and prototypes */ +#if !defined(PDFTEXCOERCE) && !defined(PDFETEXCOERCE) +#ifdef pdfTeX +#undef pdfTeX /* to avoid warning about redefining pdfTeX in pdftexd.h */ +#endif /* pdfTeX */ +#define EXTERN extern +#include "pdftexd.h" +#endif + +/* pdftexlib macros */ +#include "ptexmac.h" + +/* pdftexlib type declarations */ +typedef struct { + const char *pdfname; + const char *t1name; + float value; + boolean valid; +} key_entry; + +typedef struct { + boolean loaded; /* the encoding has been loaded? */ + char *name; /* encoding file name */ + integer objnum; /* object number */ + char **glyph_names; +} enc_entry; + +typedef struct { + char *tfm_name; /* TFM file name */ + char *ps_name; /* PostScript name */ + integer flags; /* font flags */ + char *ff_name; /* font file name */ + char *subset_tag; /* pseudoUniqueTag for subsetted font */ + enc_entry *encoding; /* pointer to corresponding encoding */ + internalfontnumber tfm_num; /* number of the TFM refering this entry */ + unsigned short type; /* font type (T1/TTF/...) */ + short slant; /* SlantFont */ + short extend; /* ExtendFont */ + integer ff_objnum; /* FontFile object number */ + integer fn_objnum; /* FontName/BaseName object number */ + integer fd_objnum; /* FontDescriptor object number */ + char *charset; /* string containing used glyphs */ + boolean all_glyphs; /* embed all glyphs? */ + unsigned short links; /* link flags from tfm_tree and ps_tree */ + short tfm_avail; /* flags whether a tfm is available */ +} fm_entry; + +typedef struct { + char *ff_name; /* base name of font file */ + char *ff_path; /* full path to font file */ +} ff_entry; + +typedef short shalfword ; +typedef struct { + integer charcode, + cwidth, + cheight, + xoff, + yoff, + xescape, + rastersize; + halfword *raster; +} chardesc; + +/* pdftexlib variable declarations */ +extern boolean fontfile_found; +extern boolean is_otf_font; +extern boolean true_dimen; +extern boolean write_ttf_glyph_names; +extern char **t1_glyph_names, *t1_builtin_glyph_names[]; +extern char *cur_file_name; +extern const char notdef[]; +extern fm_entry *fm_cur; +extern integer t1_length1, t1_length2, t1_length3; +extern integer ttf_length; +extern internalfontnumber tex_font; +extern key_entry font_keys[]; +extern strnumber last_tex_string; +extern size_t last_ptr_index; +extern char fontname_buf[]; + +/* pdftexlib function prototypes */ + +/* epdf.c */ +extern integer get_fontfile_num(int); +extern integer get_fontname_num(int); +extern void epdf_free(void); + +/* mapfile.c */ +extern char *mk_basename(char *); +extern char *mk_exname(char *, int); +extern fm_entry * lookup_fontmap(char *); +extern boolean hasfmentry(internalfontnumber); +extern internalfontnumber tfmoffm(fmentryptr); +extern void checkextfm(strnumber, integer); +extern void fm_free(void); +extern void fm_read_info(void); +extern ff_entry * check_ff_exist(fm_entry *); +extern void pdfmapfile(integer); +extern void pdfmapline(integer); + +/* papersiz.c */ +extern integer myatodim(char **); +extern integer myatol(char **); + +/* pkin.c */ +extern int readchar(boolean, chardesc *); + +/* utils.c */ +extern boolean str_eq_cstr(strnumber, char *); +extern char *makecstring(integer); +extern int xfflush(FILE *); +extern int xgetc(FILE *); +extern int xputc(int, FILE *); +extern scaled extxnoverd(scaled, scaled, scaled); +extern size_t xfwrite(void *, size_t size, size_t nmemb, FILE *); +extern strnumber getresnameprefix(void); +extern strnumber maketexstring(const char *); +extern integer fb_offset(void); +extern void fb_flush(void); +extern void fb_putchar(eightbits b); +extern void fb_seek(integer); +extern void libpdffinish(void); +extern char *makecfilename(strnumber s); +extern void make_subset_tag(fm_entry *, char **); +extern void pdf_printf(const char *,...); +extern void pdf_puts(const char *); +extern void pdftex_fail(const char *,...); +extern void pdftex_warn(const char *,...); +extern void setjobid(int, int, int, int, int, int); +extern void tex_printf(const char *, ...); +extern void writestreamlength(integer, integer); +extern char *convertStringToPDFString(char *in, int len); +extern void printID(strnumber); + +/* vfpacket.c */ +extern eightbits packetbyte(void); +extern integer newvfpacket(internalfontnumber); +extern void poppacketstate(void); +extern void pushpacketstate(void); +extern void startpacket(internalfontnumber, integer); +extern void storepacket(integer, integer, integer); +extern void vf_free(void); + +/* writeenc.c */ +extern boolean indexed_enc(fm_entry *); +extern enc_entry *add_enc(char *); +extern void enc_free(void); +extern void read_enc(enc_entry *); +extern void write_enc(char **, enc_entry *, integer); + +/* writefont.c */ +extern void dopdffont(integer, internalfontnumber); + +/* writeimg.c */ +extern boolean checkimageb(integer); +extern boolean checkimagec(integer); +extern boolean checkimagei(integer); +extern boolean ispdfimage(integer); +extern integer epdforigx(integer); +extern integer epdforigy(integer); +extern integer imageheight(integer); +extern integer imagepages(integer); +extern integer imagewidth(integer); +extern integer imagexres(integer); +extern integer imageyres(integer); +extern integer readimage(strnumber, integer, strnumber, integer, integer, integer, integer); +extern void deleteimage(integer); +extern void img_free(void) ; +extern void updateimageprocset(integer); +extern void writeimage(integer); + +/* writet1.c */ +extern boolean t1_subset(char *, char *, unsigned char *); +extern void load_enc(char *, char **); +extern void writet1(void); +extern void t1_free(void); + +/* writet3.c */ +extern void writet3(int, internalfontnumber); +extern scaled getpkcharwidth(internalfontnumber, scaled); + +/* writettf.c */ +extern void writettf(void); +extern void writeotf(void); + +/* writezip.c */ +extern void writezip(boolean); + +/* avlstuff.c */ +extern void avlputobj(integer, integer); +extern integer avlfindobj(integer, integer, integer); + +#endif /* PDFTEXLIB */ |