Main Page   Modules   Alphabetical List   Compound List   File List   Compound Members   File Members  

ttf42_proto.h

Go to the documentation of this file.
00001 /*  $Id: ttf42_proto.h,v 1.3 2000/11/30 04:03:14 dbryson Exp $ */
00002 
00006 #ifndef INCLUDE_TTF_PROTO
00007 #define INCLUDE_TTF_PROTO
00008 
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012 
00013 /* Copyright (c) 1997-1998 by Juliusz Chroboczek */
00014 
00015 #if 0
00016 extern int verbosity;
00017 #endif
00018 
00019 static char *unistrncpy(char *dst, char *str, size_t length);
00020 static void fputpss(char *s, PSStream* fio);
00021 static unsigned hash(char *string);
00022 static struct hashtable* make_hashtable(int size);
00023 static void free_hashtable(struct hashtable* ht);
00024 static int puthash(struct hashtable *t, char *key, int value);
00025 static int gethash(struct hashtable *t, char *key);
00026 static struct TableDirectoryEntry *readDirectory(PSStream *fio,  
00027                                                  struct OffsetTable *ot);
00028 static char **readNamingTable(PSStream* fio);
00029 static int readMaxpTable(PSStream *fio);
00030 static int readHeadTable(PSStream *fio, struct HeadTable *ht);
00031 static int readPostTable(PSStream *fio, int nglyphs, 
00032                          struct PostTable *pt, struct GlyphName **gt);
00033 static void *readLocaTable(PSStream* fio, int nglyphs, 
00034                            int format);
00035 static struct Box *readGlyfTable(PSStream* fio, int nglyphs, 
00036                                  int format, void *loca);
00037 static longHorMetric *readHmtxTable(PSStream* fio, 
00038                                     int nummetrics);
00039 static struct HheaTable *readHheaTable(PSStream* fio);
00040 static int readKernTable(PSStream* fio, int **nkep, 
00041                          struct KernEntry0 ***kep);
00042 static void printPSFont(PSStream* out, struct HeadTable *ht,
00043                         char **strings, int nglyphs, int postType,
00044                         struct PostTable *pt, struct GlyphName *gnt,
00045                         PSStream* in);
00046 static void printPSHeader(PSStream* out, struct HeadTable *ht,
00047                           char **strings, struct PostTable *pt);
00048 static int printPSData(PSStream* out, PSStream* in);
00049 static void printPSTrailer(PSStream* out, int nglyphs, 
00050                            int postType, struct GlyphName *gnt);
00051 static void printAFM(PSStream* afm, struct HeadTable *ht,
00052                      char **strings, int nglyphs, int postType,
00053                      struct PostTable *pt, struct GlyphName *gnt,
00054                      struct Box *bbox, struct HheaTable *hhea, 
00055                      longHorMetric *hmtx, int nkern, int *nke, 
00056                      struct KernEntry0 **ke);
00057 static void printAFMHeader(PSStream* afm, struct HeadTable *ht,
00058                            char **strings, struct PostTable *pt);
00059 static int printAFMMetrics(PSStream* afm, struct HeadTable *ht,
00060                            int nglyphs,int postType, struct GlyphName *gnt,
00061                            struct Box *bbox, 
00062                            struct HheaTable *hhea, longHorMetric *hmtx);
00063 static void printOneAFMMetric(PSStream* afm, 
00064                               int index, int code, char *name,
00065                               struct HeadTable *ht,
00066                               struct Box *bbox, 
00067                               struct HheaTable *hhea, longHorMetric *hmtx);
00068 static void printAFMKerning(PSStream* afm, struct HeadTable *ht,
00069                             int postType, struct GlyphName *gnt,
00070                             int nkern, int *nke, struct KernEntry0 **ke);
00071 
00072 #ifdef __cplusplus
00073 }
00074 #endif
00075 
00076 #endif /* INCLUDE_TTF_PROTO */

Generated at Mon Dec 11 22:46:28 2000 for Postscript Utility Library by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000