summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/pdftexdir/ptexlib.h
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
committerKarl Berry <karl@freefriends.org>2006-01-17 21:41:51 +0000
commit487ca4806cc046076293cf6cc5fbba0db282bac7 (patch)
tree847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/web2c/pdftexdir/ptexlib.h
parenta3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff)
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/pdftexdir/ptexlib.h')
-rw-r--r--Build/source/texk/web2c/pdftexdir/ptexlib.h219
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 */