Back to index

tetex-bin  3.0
Classes | Defines | Typedefs | Functions | Variables
t1part.c File Reference
#include "dvips.h"
#include "t1part.h"

Go to the source code of this file.

Classes

struct  Char
struct  String
struct  def_ref
struct  tablecommand
struct  typefonts
struct  def_key
struct  type_key
struct  def_label

Defines

#define SEEK_SET   (0)
#define UniGetMem   getmem
#define min(a, b)   ((a) < (b) ? (a) : (b))
#define max(a, b)   ((a) > (b) ? (a) : (b))
#define PFA   1
#define PFB   2
#define NOTHING   0
#define FLG_ASCII   1
#define FLG_BINARY   2
#define FLG_EOF   3
#define FLG_ZERO_LINE   4
#define FLG_OUT_STR   (-1)
#define CHAR_NOT_DEF   (-1)
#define SEAC_NOT_END   (-2)
#define FLG_LOAD_BASE   (1)
#define STANDARD_ENC   (1)
#define SPECIAL_ENC   (2)
#define AFM_ENC   (4)
#define FLG_REENCODE   (4)
#define BYTES_PER_LINE   32
#define TRUE   1
#define FALSE   0
#define LENIV   0
#define SUBRS   1
#define CHARSTRINGS   2
#define ERR_FIRST_NUM   (-1)
#define ERR_SECOND_NUM   (-2)
#define ERR_FIRST_TOK   (-3)
#define ERR_SECOND_TOK   (-4)
#define ERR_STACK   (-5)
#define ERR_NUM_CHAR   (-6)
#define ERR_NAME_CHAR   (-7)
#define SUBR_STR   1
#define CHAR_STR   -1
#define CHAR_SEAC   -2
#define SKIP_ON_DUP   3
#define C1   52845
#define C2   22719
#define EDR   55665
#define EER   55665
#define CDR   4330
#define MAX_ESCAPE   33
#define HSTEM   1
#define VSTEM   3
#define VMOVETO   4
#define CHARS_RLINETO   5
#define HLINETO   6
#define VLINETO   7
#define RRCURVETO   8
#define CHARS_CLOSEPATH   9
#define CALLSUBR   10
#define RETURN   11
#define ESCAPE   12
#define HSBW   13
#define ENDCHAR   14
#define CHARS_RMOVETO   21
#define HMOVETO   22
#define VHCURVETO   30
#define HVCURVETO   31
#define DOTSECTION   0
#define VSTEM3   1
#define HSTEM3   2
#define SEAC   6
#define SBW   7
#define CHARS_DIV   12
#define CALLOTHERSUBR   16
#define POP   17
#define SETCURRENTPOINT   33
#define FIRST_ASCII   1
#define FIRST_BINARY   2
#define NEXT_BINARY   3
#define NEXT_ASCII   4

Typedefs

typedef struct Char CHAR
typedef struct String STRING

Functions

int LoadVector P2H (int, CHAR *)
int Afm P1H (void)
int DefTypeFont P1C (unsigned char *, name)
int GetZeroLine P1C (unsigned char *, str)
int GetWord P1C (unsigned char *, mem)
int PassString P1C (unsigned char, flg)
void *getmem P1C (unsigned, size)
CHAR *AddChar P3C (CHAR *, TmpChar, unsigned char *, CharName, int, num)
void AddStr P2C (unsigned char *, name, int, num)
void RevChar P1C (CHAR *, TmpChar)
void OutChar P2C (CHAR *, TmpChar, FILE *, fout)
void Reeverse P1C (STRING *, TmpStr)
void OutStr P2C (STRING *, TmpStr, FILE *, fout)
int ChooseChar P2C (unsigned char *, name, CHAR *, TmpChar)
int FindSeac P1C (int, num)
void ClearCW P1H (CHAR *)
int FindCharW P2C (unsigned char *, name, int, length)
void ClearCW P1C (CHAR *, ThisChar)
void ScanSubrs P1C (int, i)
void ViewReturnCall P5C (int, num_err, int, top, int *, pstack, int, j, int, depth)
int DeCodeStr P2C (int, num, int, numseac)
int FindKeyWord P2C (int, First_Key, int, lastkey)
unsigned char *itoasp P3C (int, n, unsigned char *, s, int, len)
ub4 little4 P1C (ub1 *, buff)
unsigned char CDeCrypt P2C (unsigned char, cipher, unsigned int *, lcdr)
int EndOfEncoding P1C (int, err_num)
char *KillUnique P1C (char *, s)
void OutASCII P3C (FILE *, fout, ub1 *, buff, ub4, len)
void BinEDeCrypt P2C (ub1 *, buff, ub4, len)
int PartialPFA P2C (FILE *, fin, FILE *, fout)
void OutHEX P1C (FILE *, fout)
int FontPart P3C (FILE *, fout, unsigned char *, fontfile, unsigned char *, vectfile)
int LoadVector P2C (int, num, CHAR *, TmpChar)
int ChooseVect P1C (CHAR *, tmpChar)
void ErrorOfScan P1C (int, err)

Variables

static STRINGFirstStr
static STRINGRevStr
static CHARFirstChar
static CHARFirstCharA
CHARFirstCharB
static CHARFirstCharW
int CharCount
int GridCount
int ind_ref
def_ref refer [10]
typetemp _HUGEtemp
typetemp _HUGEbegin_of_scan
typetemp _HUGEend_of_scan
unsigned char * line
unsigned char * tmpline
unsigned char token [64]
unsigned char notdef [] = "/.notdef"
unsigned char grid [256]
unsigned char tmpgrid [256]
unsigned char psfontfile [500]
unsigned char psvectfile [500]
unsigned char basevect [] = "ad.enc"
unsigned char version [] = "v1.59 beta (c)1994, 1996"
unsigned char tmp_token [64]
static int stack [128]
ub1 buf [BUFSIZ]
int loadbase = 0
static int encode
static int reencode
int find_encod
int lastpart = 0
int keep_flg = 0
int keep_num = 0
int number
int offset
long value
int lenIV = 4
static int grow = 0
static int level
static int flg_seac = 0
tablecommand TableCommand []
typefonts TypeFonts []
static char Dup [] = "dup"
def_key keyword [6]
int FirstKey
int current
int subrs
int char_str
type_key Key []
unsigned short int c1 = C1
unsigned short int c2 = C2
unsigned short int edr
unsigned short int eer

Class Documentation

struct Char

Definition at line 38 of file t1part.c.

Collaboration diagram for Char:
Class Members
int choose
int length
unsigned char * name
struct Char * NextChar
int num
struct String

Definition at line 48 of file t1part.c.

Collaboration diagram for String:
Class Members
unsigned char * name
struct String * NextStr
int num
struct def_ref

Definition at line 71 of file t1part.c.

Class Members
int num
int select
struct tablecommand

Definition at line 210 of file t1part.c.

Class Members
int code
char * command
struct typefonts

Definition at line 223 of file t1part.c.

Class Members
char * extension
int num
struct def_key

Definition at line 239 of file t1part.c.

Class Members
typetemp _HUGE * begin
int length
int newnum
int offset
int oldnum
int type
struct type_key

Definition at line 257 of file t1part.c.

Class Members
char * name
int num
struct def_label

Definition at line 271 of file t1part.c.

Class Members
typetemp _HUGE * begin
int length
int num
short select
unsigned char skip

Define Documentation

#define AFM_ENC   (4)

Definition at line 107 of file t1part.c.

#define BYTES_PER_LINE   32

Definition at line 113 of file t1part.c.

#define C1   52845

Definition at line 137 of file t1part.c.

#define C2   22719

Definition at line 138 of file t1part.c.

#define CALLOTHERSUBR   16

Definition at line 169 of file t1part.c.

#define CALLSUBR   10

Definition at line 153 of file t1part.c.

#define CDR   4330

Definition at line 141 of file t1part.c.

#define CHAR_NOT_DEF   (-1)

Definition at line 100 of file t1part.c.

#define CHAR_SEAC   -2

Definition at line 134 of file t1part.c.

#define CHAR_STR   -1

Definition at line 133 of file t1part.c.

#define CHARS_CLOSEPATH   9

Definition at line 152 of file t1part.c.

#define CHARS_DIV   12

Definition at line 168 of file t1part.c.

#define CHARS_RLINETO   5

Definition at line 148 of file t1part.c.

#define CHARS_RMOVETO   21

Definition at line 158 of file t1part.c.

#define CHARSTRINGS   2

Definition at line 122 of file t1part.c.

#define DOTSECTION   0

Definition at line 163 of file t1part.c.

#define EDR   55665

Definition at line 139 of file t1part.c.

#define EER   55665

Definition at line 140 of file t1part.c.

#define ENDCHAR   14

Definition at line 157 of file t1part.c.

#define ERR_FIRST_NUM   (-1)

Definition at line 124 of file t1part.c.

#define ERR_FIRST_TOK   (-3)

Definition at line 126 of file t1part.c.

#define ERR_NAME_CHAR   (-7)

Definition at line 130 of file t1part.c.

#define ERR_NUM_CHAR   (-6)

Definition at line 129 of file t1part.c.

#define ERR_SECOND_NUM   (-2)

Definition at line 125 of file t1part.c.

#define ERR_SECOND_TOK   (-4)

Definition at line 127 of file t1part.c.

#define ERR_STACK   (-5)

Definition at line 128 of file t1part.c.

#define ESCAPE   12

Definition at line 155 of file t1part.c.

#define FALSE   0

Definition at line 117 of file t1part.c.

#define FIRST_ASCII   1

Definition at line 2133 of file t1part.c.

#define FIRST_BINARY   2

Definition at line 2134 of file t1part.c.

#define FLG_ASCII   1

Definition at line 94 of file t1part.c.

#define FLG_BINARY   2

Definition at line 95 of file t1part.c.

#define FLG_EOF   3

Definition at line 96 of file t1part.c.

#define FLG_LOAD_BASE   (1)

Definition at line 103 of file t1part.c.

#define FLG_OUT_STR   (-1)

Definition at line 99 of file t1part.c.

#define FLG_REENCODE   (4)

Definition at line 110 of file t1part.c.

#define FLG_ZERO_LINE   4

Definition at line 97 of file t1part.c.

#define HLINETO   6

Definition at line 149 of file t1part.c.

#define HMOVETO   22

Definition at line 159 of file t1part.c.

#define HSBW   13

Definition at line 156 of file t1part.c.

#define HSTEM   1

Definition at line 145 of file t1part.c.

#define HSTEM3   2

Definition at line 165 of file t1part.c.

#define HVCURVETO   31

Definition at line 161 of file t1part.c.

#define LENIV   0

Definition at line 120 of file t1part.c.

#define max (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Definition at line 85 of file t1part.c.

#define MAX_ESCAPE   33

Definition at line 143 of file t1part.c.

#define min (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Definition at line 81 of file t1part.c.

#define NEXT_ASCII   4

Definition at line 2136 of file t1part.c.

#define NEXT_BINARY   3

Definition at line 2135 of file t1part.c.

#define NOTHING   0

Definition at line 93 of file t1part.c.

#define PFA   1

Definition at line 89 of file t1part.c.

#define PFB   2

Definition at line 90 of file t1part.c.

#define POP   17

Definition at line 170 of file t1part.c.

#define RETURN   11

Definition at line 154 of file t1part.c.

#define RRCURVETO   8

Definition at line 151 of file t1part.c.

#define SBW   7

Definition at line 167 of file t1part.c.

#define SEAC   6

Definition at line 166 of file t1part.c.

#define SEAC_NOT_END   (-2)

Definition at line 101 of file t1part.c.

#define SEEK_SET   (0)

Definition at line 14 of file t1part.c.

#define SETCURRENTPOINT   33

Definition at line 171 of file t1part.c.

#define SKIP_ON_DUP   3

Definition at line 135 of file t1part.c.

#define SPECIAL_ENC   (2)

Definition at line 106 of file t1part.c.

#define STANDARD_ENC   (1)

Definition at line 105 of file t1part.c.

#define SUBR_STR   1

Definition at line 132 of file t1part.c.

#define SUBRS   1

Definition at line 121 of file t1part.c.

#define TRUE   1

Definition at line 116 of file t1part.c.

#define UniGetMem   getmem

Definition at line 30 of file t1part.c.

#define VHCURVETO   30

Definition at line 160 of file t1part.c.

#define VLINETO   7

Definition at line 150 of file t1part.c.

#define VMOVETO   4

Definition at line 147 of file t1part.c.

#define VSTEM   3

Definition at line 146 of file t1part.c.

#define VSTEM3   1

Definition at line 164 of file t1part.c.


Typedef Documentation

typedef struct Char CHAR
typedef struct String STRING

Function Documentation

int DefTypeFont P1C ( unsigned char *  ,
name   
)

Definition at line 285 of file t1part.c.

{
    int i;

    for(i=0;*TypeFonts[i].extension;i++)
    {
        if(strstr((char *)name,TypeFonts[i].extension)!=0)
            return(TypeFonts[i].num);
    }
    return -1;
}
int GetZeroLine P1C ( unsigned char *  ,
str   
)

Definition at line 298 of file t1part.c.

{
    int token_type=0;
    if(*str!='0')
    {
        return (token_type=0);
    }
    while(*str=='0')
    {
        str++;
    }

    if(*str=='\n' || *str=='\r')
        token_type= -1;
    else
        token_type=0;
    return(token_type);
}
void HexEDeCrypt P1C ( unsigned char *  ,
mem   
)

Definition at line 320 of file t1part.c.

{
    int  token_type=0;
    register unsigned char *tmp;
    tmp=mem;
    *tmp= *line;
    while((*line!='\0')&&(*line!='%'))
    {
        if(*line=='-')
        {
            *tmp++= *line++;
        }

        if(isdigit(*line))
        {
            while(isdigit(*line))
            {
                *tmp++= *line++;
            }
            *tmp = '\0';
            return 5;
        }

        if(*line=='/')
        {
            *tmp++= *line++; token_type=1;
        }
        if(*line=='.')
        {
            *tmp++= *line++;

            if(token_type==1)
            {
                if(*line==' ')
                {
                    *tmp = '\0';
                    return(token_type=token_type+2);
                }
            }
        }
        if(isalpha(*line))
        {
            *tmp++ = *line++ ;
            while(!isspace(*line) && *line != '/')
                *tmp++= *line++;
            *tmp = '\0';
            return(token_type=token_type+2);
        }

        token_type=0;
        tmp=mem;
        line++;
    }
    return(token_type= -1);
}
int PassString P1C ( unsigned  char,
flg   
)

Definition at line 458 of file t1part.c.

{
    int len_str;

    len_str=GetNum();
    if(len_str<0)
    {
        return ERR_SECOND_NUM;
    }

    if(PassToken()<0)
        return  ERR_FIRST_TOK;


    if(flg==1)
    {
        label[number].length = len_str;
        label[number].skip = temp - label[number].begin;
    }

    temp= temp+1+len_str;

    if(PassToken()<0)
        return ERR_SECOND_TOK;
    return 1;
}
void* getmem P1C ( unsigned  ,
size   
)

Definition at line 486 of file t1part.c.

{
    void *tmp;
    if ((tmp = calloc(1, size)) == NULL)
    {
        fprintf(stderr,"Error allocating memory\n");
        exit(1);
    }
    return tmp;
}

Here is the call graph for this function:

CHAR *UnDefineChars P1C ( CHAR ,
TmpChar   
)

Definition at line 530 of file t1part.c.

{
    int i;
    CHAR *ThisChar = TmpChar;

    while (ThisChar != NULL)
    {
            for(i=keyword[char_str].offset-1; i < number; i++)
            {
                 if(ThisChar->num == label[i].num)
                 {
                    if (label[i].select==FLG_BINARY)
                    {
                        CHAR *Rev_Char     = (CHAR *) getmem(sizeof(CHAR));
                        Rev_Char->name     = ThisChar->name;
                        Rev_Char->num      = ThisChar->num;

                        Rev_Char->NextChar = FirstCharW;
                        FirstCharW         = Rev_Char;
                        break;
                    }
                }
            }
        ThisChar = ThisChar->NextChar;
    }
}
void Reeverse P1C ( STRING ,
TmpStr   
)

Definition at line 586 of file t1part.c.

{

    int tmp;

    if(encode==AFM_ENC)
        tmp = -2;
    else
        tmp=0;


    while (TmpStr != NULL)
    {

        if(TmpStr->num < tmp)
        {
            STRING *ThisStr   = (STRING *) getmem(sizeof(STRING));
            ThisStr->name     = TmpStr->name;

            ThisStr->NextStr = RevStr;
            RevStr         = ThisStr;
        }
        TmpStr = TmpStr->NextStr;
    }
}
int FindSeac P1C ( int  ,
num   
)

Definition at line 710 of file t1part.c.

{
    int i;

    for(i=keyword[char_str].offset-1; i < number; i++)
    {
        if(label[i].num==num)
        {
            return i;
        }
    }
    return -1;
}
void ClearCW P1C ( CHAR ,
ThisChar   
)

Definition at line 796 of file t1part.c.

{

        if (ThisChar == FirstCharW)
            FirstCharW = ThisChar->NextChar;
        else
        {
            CHAR *tm = FirstCharW;
            while (tm != NULL)
            {
                if (ThisChar == tm->NextChar)
                {
                    tm->NextChar = ThisChar->NextChar;
                    break;
                }
                tm = tm->NextChar;
            }
        }
        free(ThisChar);
}

Here is the call graph for this function:

void ScanSubrs P1C ( int  ,
i   
)

Definition at line 890 of file t1part.c.

{
    int err_num;
    int word_type = 0;
    int len_dup;
    int num_err=0;
    int test=0;

    len_dup = strlen(Dup);

    for( ; number <  keyword[i].oldnum + keyword[i].offset;)
    {
        if((word_type=GetToken())>0)
        {
            if(word_type==2)
            {
                if(!strcmp((char *) token,Dup))
                {
                    if(test==0)
                        test=1;
                    label[number].begin = temp-len_dup;

                    err_num=GetNum();
                    if(err_num<0)
                        ;
                    else
                    {
                        if(err_num<4)
                        {
                            label[number].select=FLG_BINARY;
                                keyword[i].newnum++;

                        }
                    }

                    label[number].num=err_num;

                    num_err=PassString(1);

                    if(num_err<0)
                    {
                        ErrorOfScan(num_err);
                        fprintf(stderr,"in %d Subr string", number - 1);
                        exit(1);
                    }
                    if(test>1)
                        PassToken();

                    number++;
                }
                else
                {
                    if(test>=1)
                        test++;
                }
            }
        }
        else
        {
            ErrorOfScan(0);
            fprintf(stderr,
            "Token 'def' not found in %d Subr string ", number - 1);
            exit(1);
        }
    }
}

Here is the call graph for this function:

ub4 little4 P1C ( ub1 ,
buff   
)

Definition at line 1613 of file t1part.c.

{
    return (ub4) buff[0] +
    ((ub4) buff[1] << 8) +
    ((ub4) buff[2] << 16) +
    ((ub4) buff[3] << 24);
}
int EndOfEncoding P1C ( int  ,
err_num   
)

Definition at line 1643 of file t1part.c.

{

    int j;
    int i = 0;
    int flg_get_word=0;


    static char *RefKey[] =
    {
       "readonly",
       "getinterval",
       "exch",
       "def",
       ""
    };

    for(;;)
    {
        if(flg_get_word==0)
            flg_get_word = 1;
        else
        {
            err_num=GetWord(token);

        }

        if(err_num <= 0)
            return -1;

        if(err_num==5)
            refer[ind_ref].num[i++]=atoi((char *) token);
        else
        {
            for(j=0; *RefKey[j]; j++)
            {
                 if(strcmp((char *) token, RefKey[j]) ==0)
                        break;
            }
            switch(j)
            {
                case 0:
                case 3:
                    find_encod=1;
                    keep_num = -2;
                    if(ind_ref!=0)
                    {
                        CorrectGrid();
                    }
                    return 1;

               case 1:
                    break;

               case 2:
                    if(i==1)
                    {
                        refer[ind_ref].num[1] = 1;
                        refer[ind_ref].num[2] = refer[ind_ref].num[0];
                        GetWord(token);
                        refer[ind_ref].num[0]= atoi((char *) token);
                    }
                    i=0;
                    refer[ind_ref].select=1;
                    ind_ref++;
                    break;
                default:
                    break;
            }
        }
    }

}

Here is the call graph for this function:

char* KillUnique P1C ( char *  ,
s   
)

Definition at line 1933 of file t1part.c.

{
   char *r = strstr(s, "/UniqueID") ;
   if (r) {
      r[7] = 'X' ;
      r[8] = 'X' ;
   }
   return s ;
}
void OutHEX P1C ( FILE ,
fout   
)

Definition at line 2279 of file t1part.c.

{
    int i=0;
    int num;
    static char *hexstr = "0123456789abcdef" ;
    int bin;

    line=tmpline;
    eer  = EER;
    label[number].begin  =  end_of_scan;
    label[number].select = NOTHING;
    number++;

    for(num=0; num < number; num++)
    {
        switch(label[num].select)
        {
            case NOTHING:
                break;
            case FLG_BINARY:
                label[num].select=NOTHING;
                for(temp=label[num].begin; temp<label[num+1].begin; temp++,i++)
                {
                    bin = (*temp ^ (eer >> 8));    /* Eexec encryption */
                    eer = ((bin + eer) * c1 + c2);

                    *line++= hexstr[(bin&0xf0)>>4];
                    *line++= hexstr[bin&0xf];

                    if (!((i + 1) % BYTES_PER_LINE))
                    {
                        *line++='\0';
                        line =tmpline;
                        fprintf(fout, "%s\n",line);
                    }
                }
                break;
        }
    }
    if (i % BYTES_PER_LINE)
    {
        *line++='\0';
        line =tmpline;
        fprintf(fout, "%s\n",line);
    }
}

Here is the call graph for this function:

int ChooseVect P1C ( CHAR ,
tmpChar   
)

Definition at line 2647 of file t1part.c.

{
    CHAR *ThisChar = tmpChar;

    CharCount=0;
    while (ThisChar != NULL)
    {
        ThisChar->choose= grid[ThisChar->num];
        if(grid[ThisChar->num]==1)
        {
            CharCount++;
        }
        ThisChar = ThisChar->NextChar;
    }

    if(CharCount<GridCount)
        return -1;
    else
        return 1;

}
void ErrorOfScan P1C ( int  ,
err   
)

Definition at line 2670 of file t1part.c.

{
    switch(err)
    {

        case 0: break;

        case ERR_FIRST_NUM:
            fprintf(stderr, " First number not found ");
            break;
        case ERR_SECOND_NUM:
            fprintf(stderr, " Second number not found ");
            break;

        case ERR_FIRST_TOK:
            fprintf(stderr, " First token not found ");
            break;

        case ERR_SECOND_TOK:
            fprintf(stderr, " Second token not found ");
            break;

        case ERR_STACK:
            fprintf(stderr, " End of stack ");
            break;

        case ERR_NUM_CHAR:
            fprintf(stderr, " Number of char not found ");
            break;

        case ERR_NAME_CHAR:
            fprintf(stderr, " Name of char not found ");
            break;
    }
}

Here is the call graph for this function:

int Afm P1H ( void  ) [read]

Definition at line 260 of file afm2tfm.c.

                  {
   register char *p ;
   register int c ;

   param = buffer ;
   for (p=buffer; (c=getc(afmin)) != EOF;) {
      if (p - buffer >= INBUFSIZE)
         error("! input line too long; perhaps input file is malformed?") ;
      *p++ = c ;
      if (c == '\r') {
         c = getc(afmin) ;
         if (c != EOF) {
            if (c == '\n') {
               *p++ = c ;
            } else {
               ungetc(c, afmin) ;
            }
         }
         break ;
      } else if (c == '\n') {
         break ;
      }
   }
   *p = 0 ;
   (void)strcpy(obuffer, buffer) ;
   if (p == buffer && c == EOF)
      return(0) ;
   else
      return(1) ;
}
void ClearCW P1H ( CHAR )
void AddStr P2C ( unsigned char *  ,
name  ,
int  ,
num   
)

Definition at line 513 of file t1part.c.

{
    int length;

    STRING *ThisStr = (STRING *) getmem(sizeof(STRING));
    length         = strlen((char *) name);
    ThisStr->name = (unsigned char *) getmem(length+1);
    strcpy((char *) ThisStr->name, (char *) name);
    ThisStr->num=num;

    ThisStr->NextStr = FirstStr;
    FirstStr = ThisStr;
}

Here is the call graph for this function:

void OutChar P2C ( CHAR ,
TmpChar  ,
FILE ,
fout   
)

Definition at line 560 of file t1part.c.

{

    CHAR *ThisChar = TmpChar;

    while (ThisChar != NULL)
    {
        CHAR *tm = ThisChar;
        if (ThisChar->num >= 0)
#ifdef SHIFTLOWCHARS
           fprintf(fout, "dup %d %s put\n",T1Char(ThisChar->num),ThisChar->name);
#else
           fprintf(fout, "dup %d %s put\n",ThisChar->num,ThisChar->name);
#endif
        ThisChar = ThisChar->NextChar;
        free(tm);
    }

    FirstCharW = NULL;
}

Here is the call graph for this function:

void OutStr P2C ( STRING ,
TmpStr  ,
FILE ,
fout   
)

Definition at line 616 of file t1part.c.

{
    STRING *ThisStr = TmpStr;
    if(encode==AFM_ENC)
        fprintf(fout, "readonly def\n");
    while (ThisStr != NULL)
    {
        STRING *tm = ThisStr;
        fprintf(fout, "%s",ThisStr->name);
        ThisStr = ThisStr->NextStr;
        free(tm);
    }
    RevStr = NULL;
}

Here is the call graph for this function:

int ChooseChar P2C ( unsigned char *  ,
name  ,
CHAR ,
TmpChar   
)

Definition at line 667 of file t1part.c.

{
    int length;
    CHAR *ThisChar = TmpChar;
    length=strlen((char *) name);
    while (ThisChar != NULL)
    {
        CHAR *NextChar = ThisChar->NextChar;
        if(ThisChar->length==length)
        {
            if (strcmp((char *) name, (char *) ThisChar->name) == 0)
            {
                ThisChar->choose=1;
                return  1;
            }
        }
/*
 *   If we couldn't find it, NextChar is NULL here.  We fake up an entry
 *   (assuming it really does exist in the font).  Fix is from Melissa
 *   O'Neill; bugs in application of fix due to me.
 */
        if (NextChar == 0) {
           NextChar = (CHAR *) getmem(sizeof(CHAR)) ;
           NextChar->name = (unsigned char *) getmem(length + 1) ;
           strcpy((char *) NextChar->name, (char *) name) ;
           NextChar->length = length ;
           NextChar->num = -1 ;
           NextChar->NextChar = 0 ;
           NextChar->choose = 1 ;
           ThisChar->NextChar = NextChar ;
        }
        ThisChar = NextChar;
    }
/*
 *   Can't ever get here.
 */
    return -1;
}

Here is the call graph for this function:

int FindCharW P2C ( unsigned char *  ,
name  ,
int  ,
length   
)

Definition at line 727 of file t1part.c.

{
    CHAR *ThisChar = FirstCharW;

    int find = 0;
    int keep_char = 0;
    int tmp = 0;
    int tmp_num = 0;

    int ddd = 0;

#ifdef DEBUG
        if(dd(D_VIEW_VECTOR))
        {
            ddd = 1;
        }
#endif

    while (ThisChar != NULL)
    {
        /* since ClearCW may free ThisChar, follow the pointer now. */
        CHAR *NextChar = ThisChar->NextChar;

        if(ThisChar->length==length)
        {
            if (strcmp((char *) name, (char *) ThisChar->name) == 0)
            {
                if(ThisChar->choose==1)
                {
                    if(find !=2)
                    {
                        find = 2;
                        tmp=FLG_BINARY;
                        label[number].num=ThisChar->num;
                    }
                }
                else
                {
                    keep_char = 0;
                    if(find != 2)
                    {
                        find = 1;
                        tmp_num = ThisChar->num;
                    }
                }


                if(keep_char == 0)
                {
                    ClearCW(ThisChar);
                }

                if((find == 2)&&(ddd == 1))
                    keep_char = 1;
            }
        }
        ThisChar = NextChar;
    }

    if(find == 1)
    {
        tmp=NOTHING;
        label[number].num=tmp_num;
    }
    return tmp;
}

Here is the call graph for this function:

int DeCodeStr P2C ( int  ,
num  ,
int  ,
numseac   
)

Definition at line 1022 of file t1part.c.

{
    unsigned int loccr;
    unsigned char byte;
    static int j ;
    int i;
    unsigned char jj,k;
    int tmpnum;
    int depth = 0;
    int num_err = 0;
    int len_str;
    typetemp  _HUGE   *loc;
    typetemp  _HUGE   *end_str;
    int pstack[64];
    int last_subr;

    if(num  > CHAR_STR)
    {
        last_subr=keyword[subrs].offset+keyword[subrs].oldnum;

        for(tmpnum=keyword[subrs].offset; tmpnum<last_subr; tmpnum++)
        {
              if(label[tmpnum].num==num)
                break;
        }

        if(tmpnum==last_subr)
        {
            fprintf(stderr, " Error: %d Subr not found \n", num);
            exit(1);
        }
        if(label[tmpnum].select==FLG_BINARY)
        {
            if(j==0)
                return 1;
        }
        else
        {
            label[tmpnum].select=FLG_BINARY;
            if(num+1 > keyword[subrs].newnum )    /* max num of subr */
                keyword[subrs].newnum = num+1;
        }
        loc = label[tmpnum].begin + label[tmpnum].skip;
        len_str=label[tmpnum].length;
    }
    else
    {
        j=0;

        if(num == CHAR_SEAC)
        {
            if(label[numseac].select!=FLG_BINARY)
            {
                label[numseac].select=FLG_BINARY;
                keyword[char_str].newnum++;
                temp = label[numseac].begin;
            }
            else return 1;
        }
        len_str=GetNum();

        if(len_str < 0)
        {
            return ERR_SECOND_NUM;
        }
        num_err = PassToken();
        if(num_err < 0)
        {
            return ERR_FIRST_TOK;
        }
        loc=temp;
    }
    loc++;

    end_str=loc+len_str;

    loccr = CDR;

    for (i = 0; i < lenIV; i++,loc++)
    {
        byte = CDeCrypt(*loc, &loccr);
    }
    for (; loc < end_str;)
    {
        byte = CDeCrypt(*loc++, &loccr);
        if (byte == RETURN)
        {
            j=0;
            break;
        }
        else if (byte == ESCAPE)
        {
            byte = CDeCrypt(*loc++, &loccr);
            if (byte > MAX_ESCAPE)
                fprintf(stderr,
            "Error: not_defined_e%d in %s", byte, psfontfile);
            else
            {
                switch(byte)
                {
                    case  DOTSECTION      : j=0; break;
                    case  VSTEM3          : j=0; break;
                    case  HSTEM3          : j=0; break;
                    case  SEAC            :
                        stack[j++]=byte;
                        grow=1;
                        level++;
                        jj=j;
                        for(k=0;k<jj;k++)
                            pstack[k]=stack[k];
                        num_err=FindSeac(pstack[jj-3]);
                        if(num_err<0)
                        {
                            flg_seac=1;
                            CharCount++;
                            keyword[char_str].newnum--;
                            if(flg_seac > -3)
                                label[number].select=SEAC_NOT_END;
                            grow=0;
                            level=0;
                            j=0;
                            break;
                        }

                        num_err=DeCodeStr(CHAR_SEAC, num_err);
                        level--;

#ifdef DEBUG
                        if((num_err<0)||(dd(D_CALL_SUBR)))
#else
                        if(num_err<0)
#endif
                        ViewReturnCall
                        (num_err, pstack[jj-3],pstack,jj,1);
                        grow=1;
                        level++;
                        num_err=FindSeac(pstack[jj-2]);
                        if(num_err<0)
                        {
                            flg_seac=1;
                            CharCount++;
                            keyword[char_str].newnum--;
                            keyword[char_str].newnum--;
                            if(flg_seac > -3)
                                label[number].select=SEAC_NOT_END;
                            grow=0;
                            level=0;
                            j=0;
                            break;
                        }
                        num_err=DeCodeStr(CHAR_SEAC, num_err);
                        level--;
#ifdef DEBUG
                        if((num_err<0)||(dd(D_CALL_SUBR)))
#else
                        if(num_err<0)
#endif

                        ViewReturnCall
                        (num_err, pstack[jj-2],pstack,jj,1);

                        if(num_err<0)
                            return ERR_STACK;
                        j=0; break;
                    case  SBW             : j=0; break;
                    case  CHARS_DIV       : j=0; break;
                    case  CALLOTHERSUBR   : stack[j++]=byte;
                        depth=depth+2;
                        break;
                    case  POP             : stack[j++]=byte;
                        depth=depth+2;
                        break;
                    case  SETCURRENTPOINT : j=0; break;
                }
            }
            continue;
        }
        else if (byte < 32)
        {
            switch(byte)
            {
                case  HSTEM           : j=0; break;
                case  VSTEM           : j=0; break;
                case  VMOVETO         : j=0; break;
                case  CHARS_RLINETO   : j=0; break;
                case  HLINETO         : j=0; break;
                case  VLINETO         : j=0; break;
                case  RRCURVETO       : j=0; break;
                case  CHARS_CLOSEPATH : j=0; break;
                case  CALLSUBR        : stack[j++]=byte;
                    depth=depth+2;
                    level++;
                    grow=1;
                    jj=j;
                    j=j-depth;
                    for(k=0;k<jj;k++)
                        pstack[k]=stack[k];

                    num_err = DeCodeStr(stack[j],0);

                    level--;
#ifdef DEBUG
                    if((num_err<0)||(dd(D_CALL_SUBR)))
#else
                    if(num_err<0)
#endif
                    ViewReturnCall
                    (num_err, pstack[jj-depth], pstack,jj,depth/2);

                    if(num_err<0)
                        return ERR_STACK;
                    else
                    {
                        depth=0;
                        break;
                    }
                case  RETURN          : j=0; break;
                case  ESCAPE          : break;
                case  HSBW            : j=0; break;
                case  ENDCHAR         : j=0; break;
                case  CHARS_RMOVETO   : j=0; break;
                case  HMOVETO         : j=0; break;
                case  VHCURVETO       : j=0; break;
                case  HVCURVETO       : j=0; break;
            }
        }
        if (byte >= 32)
        {
            if (byte <= 246)
            {
                value= byte  - 139;
                stack[j++]=value;
            }
            else if ((byte >= 247) && (byte <= 250))
            {
                value= (byte  - 247) * 256 + CDeCrypt(*loc++, &loccr) + 108;
                stack[j++]=value;
            }
            else if ((byte >= 251) && (byte <= 254))
            {
                value= -(byte  - 251) * 256 - CDeCrypt(*loc++, &loccr) - 108;
                stack[j++]=value;
            }
            else if (byte == 255)
            {
                value = CDeCrypt(*loc++, &loccr);
                value <<= 8;
                value += CDeCrypt(*loc++, &loccr);
                value <<= 8;
                value += CDeCrypt(*loc++, &loccr);
                value <<= 8;
                value += CDeCrypt(*loc++, &loccr);
                stack[j++]=value;
            }
        }
    }
    if(num  == CHAR_STR)
    {
        temp=loc;
        num_err = PassToken();
        if(num_err<0)
        {
            return ERR_SECOND_TOK;
        }
    }
    return 1;
}

Here is the call graph for this function:

int FindKeyWord P2C ( int  ,
First_Key  ,
int  ,
lastkey   
)

Definition at line 1471 of file t1part.c.

{
    int word_type=0;
    int i;
    int tmp_num=0;

    for(;;)
    {
        if((word_type=GetToken())>0)
        {
            if(word_type==3)
            {
                for(i=First_Key; i<=lastkey; i++)
                {
                    if(!strcmp((char *) token, Key[i].name))
                    {
                        tmp_num = GetNum();
                        if(tmp_num<0)
                        {
                            fprintf(stderr,
                            "\n ERROR: Number not found for '%s' in <%s>",
                            Key[i].name, psfontfile);
                            exit(1);
                        }
                        keyword[current].oldnum = tmp_num;
                        keyword[current].length=strlen((char *) token);
                        keyword[current].begin=temp - keyword[current].length;
                        return i;
                    }
                }
            }
        }
        else
        {
            fprintf(stderr,
            "\n ERROR: In <%s> keyword not found:", psfontfile);

            for(i=First_Key; i<=lastkey; i++)
                fprintf(stderr,"\n %dth > '%s' ",i,Key[i].name);
            exit(1);
        }
    }
}

Here is the call graph for this function:

unsigned char CDeCrypt P2C ( unsigned  char,
cipher  ,
unsigned int ,
lcdr   
)

Definition at line 1625 of file t1part.c.

{
    register unsigned char plain;

    plain = (cipher ^ (*lcdr >> 8));
    *lcdr = (cipher + *lcdr) * c1 + c2;
    return plain;
}
void BinEDeCrypt P2C ( ub1 ,
buff  ,
ub4  ,
len   
)

Definition at line 1984 of file t1part.c.

{
    ub4 i;

    for (i = 0; i < len; i++, temp++, buff++)
    {
        *temp  = (*buff ^ (edr >> 8));
        edr = (*buff + edr) * c1 + c2;
    }
}
int PartialPFB P2C ( FILE ,
fin  ,
FILE ,
fout   
)

Definition at line 2031 of file t1part.c.

{
    ub1  type;
    ub4 memory, addmemory, length, add_of_len;
    unsigned char *mem = tmpline;
    int check_vect=0;

    tmpline=buf;
    edr  = EDR;
    type = FLG_ASCII;
    memory = BASE_MEM;
    addmemory= ADD_MEM;
    length=0;
    temp=(typetemp *) UniGetMem(memory);
    begin_of_scan=temp;

    for(;;)
    {
        if(fgets((char *)buf,BUFSIZ,fin)==NULL)
            break;
        switch (type)
        {
            case FLG_ASCII:
                if(strstr((char *)buf,"currentfile eexec") != NULL)
                {
                    type=FLG_BINARY;
                }

                if((find_encod==0)&&(lastpart==0))
                {
                    FindEncoding();
                }

                if(keep_flg==0)
                    fprintf(fout,"%s", KillUnique((char *)buf));
                else
                {
                    AddStr(buf,keep_num);
                }
                break;

            case FLG_BINARY:
                if(check_vect==0)
                {
                    tmpline=mem;
                    CheckChoosing();
                    check_vect=1;
                }

                if(GetZeroLine(buf)<0)
                {
                    type = FLG_ZERO_LINE;
                    end_of_scan=temp;
                    ScanBinary();
                    SubstNum();
                    if(keep_flg==1)
                    {
                        keep_flg=0;
                        lastpart=1;
                        if(encode!=1)
                        {
                            UnDefineCharsW();
                            if(encode==4)
                                RevChar(FirstCharA);
                             else
                                 RevChar(FirstChar);

                            OutChar(FirstCharW, fout);
                        }
                        Reeverse(FirstStr);
                        OutStr(RevStr, fout);
                    }

                    OutHEX(fout);
                    UniFree(begin_of_scan);
                    fprintf(fout, "%s", KillUnique((char*) buf));
                    break;
                }

                add_of_len=strlen((char *) buf)/2;
                length=length + add_of_len;

                if(length>memory)
                {
                    memory = memory + addmemory;
/* Using "memory = length;" retains minimum */
/* of memory  but it will be more slowly    */
                    begin_of_scan = (typetemp*) UniRealloc(begin_of_scan, memory);
                    temp = begin_of_scan + length - add_of_len;
                }
                HexEDeCrypt(buf);
                break;
            case FLG_ZERO_LINE:
                fprintf(fout, "%s", buf);
                break;
        }
    }
    if(type == FLG_ZERO_LINE)
        return TRUE;
    else return FALSE;
}

Here is the call graph for this function:

int LoadVector P2C ( int  ,
num  ,
CHAR ,
TmpChar   
)

Definition at line 2540 of file t1part.c.

{

    FILE  *fvect;
    int i = 0;
    int j = 0;
    int end_vect=0;
    int index_grid = 0;

    CharCount = 0;

    if ((fvect = psfopen((char *) psvectfile, "r")) == NULL)
    {
        NameOfProgram();
        perror((char *) psvectfile);
        return -1;
    }

    for(;;)
    {
        line = tmpline;

        if((fgets((char*)line,BUFSIZ,fvect)==NULL)||(end_vect!=0))
            break;

        for(;;)
        {
            j=GetWord(token);
            if(j==3)
            {
                if(i==0)
                {
                    i++;
                    continue;
                }

                if(num==4)
                {
                    if(grid[index_grid]==1)
                    {
                        if(ChooseChar(token, TmpChar)> 0)
                            CharCount++;
                        else
                        {
                           fprintf(stderr,
               "Error: '%s' not found in reencoding vector <%s> for <%s>\n",
                             token,psvectfile, psfontfile);
                        }
                    }
                    index_grid++;
                }
                else
                {
                    if(num==1)                    /* Build base vector */
                    {
                        FirstCharB=AddChar(FirstCharB,token, CharCount);
                        CharCount++;
                    }
                }
                continue;
            }
            if(j== -1)
                break;
            if(j==2)
            {
                i=0;
                end_vect = 1;
                break;
            }
        }
    }

    if(j==2)
    {
        if((index_grid!=256)&&(CharCount!=256))
        {
            fclose(fvect);
            fprintf(stderr,"Error during Load Vector in <%s>  \n",
            psvectfile);
            fprintf(stderr,
                    "Found %d chars instead 256\n", max(index_grid,CharCount));
            return -3;
        }

        if(CharCount>0)
        {
            fclose(fvect);
            return 1;
        }
        else
        {
            fclose(fvect);
            fprintf(stderr,
                     "\n Warning: Vector from <%s> for <%s> doesn't load\n",
            psvectfile, psfontfile);
            return -1;
        }
    }
    else
    {
        fprintf(stderr,"\n Error: ending token 'def' not found in <%s> \n",
        psvectfile);
        return -2;
    }
}

Here is the call graph for this function:

int LoadVector P2H ( int  ,
CHAR  
)
CHAR* AddChar P3C ( CHAR ,
TmpChar  ,
unsigned char *  ,
CharName  ,
int  ,
num   
)

Definition at line 497 of file t1part.c.

{
    int length;

    CHAR *ThisChar = (CHAR*) getmem(sizeof(CHAR));
    length         = strlen((char *) CharName);
    ThisChar->name = (unsigned char *) getmem(length+1);
    strcpy((char *) ThisChar->name, (char *) CharName);
    ThisChar->length= length;
    ThisChar->num=num;
    ThisChar->NextChar = TmpChar;
    TmpChar = ThisChar;
    return TmpChar;
}

Here is the call graph for this function:

unsigned char* itoasp P3C ( int  ,
n  ,
unsigned char *  ,
s  ,
int  ,
len   
)

Definition at line 1576 of file t1part.c.

{
    static int i, j;

    j++;
    if(n/10)
        itoasp(n/10,s,len);
    else
        i=0;
    s[i++]=abs(n)%10+'0';
    j--;
    if(j==0)
    {
        for(; i<len;)
            s[i++]=' ';
        s[i]='\0';
        return s;
    }
    return NULL;
}
void OutASCII P3C ( FILE ,
fout  ,
ub1 ,
buff  ,
ub4  ,
len   
)

Definition at line 1943 of file t1part.c.

{
    ub4 i;

    for (i = 0; i < len; i++)
    {
        if ((*buff == 10)||(*buff == 13))
        {
            buff++;
            *line++='\n';
            *line='\0';

            if((find_encod==0)&&(lastpart==0))
            {
                FindEncoding();
            }

            line=(unsigned char *) KillUnique((char *) tmpline);

            if(keep_flg==0)
                fprintf(fout,"%s", line);
            else
            {
                if(keep_num<0)
                {
                    AddStr(line,keep_num);
                    if(keep_num==-2)
                        keep_num = -3;
                }

            }
        }
        else
        {
            *line++ = *buff++;
        }
    }
}

Here is the call graph for this function:

int FontPart P3C ( FILE ,
fout  ,
unsigned char *  ,
fontfile  ,
unsigned char *  ,
vectfile   
)

Definition at line 2426 of file t1part.c.

{
    FILE  *fin=0;
    int   num;
    int   rc;
    int i;

    ind_ref=0;
    reencode=0;
    encode=0;
    lastpart=0;
    keep_flg=0;
    flg_seac=0;
    strcpy((char *) psfontfile, (char *) fontfile);
    find_encod=0;
    CharCount=0;

    if(loadbase != 1)
    {
        for(i=offset; i < NUM_LABEL; i++)
              label[i].num=CHAR_NOT_DEF;


        strcpy((char *) psvectfile, (char *) basevect);

#ifdef DEBUG
        if(dd(D_VIEW_VECTOR))
           fprintf(stderr, " Base vector <%s>.", basevect);
#endif

        if(LoadVector(1, FirstCharB)==1)
        {
            loadbase = FLG_LOAD_BASE;

        }
        else
            exit(1);
    }

    if(vectfile)
    {
        reencode=FLG_REENCODE;
        strcpy((char *) psvectfile, (char *) vectfile);
    }

    for(num=0;num<NUM_LABEL;num++)
        label[num].select = NOTHING;

    switch(DefTypeFont(fontfile))
    {
        case PFA:
            if ((fin = psfopen((char *) fontfile, "r"))==NULL)
            {
                NameOfProgram();
                perror((char *) fontfile);
                return -1;
            }
            rc = PartialPFA(fin,fout);
            if (rc == FALSE)
            {
                NameOfProgram();
                (void) fprintf(stderr,
                "Error: %s is not a valid PFA file\n", fontfile);
                return -1;
            }

            break;
        case PFB:
            if ((fin = psfopen((char *) fontfile, OPEN_READ_BINARY))==NULL)
            {
                NameOfProgram();
                perror((char *) fontfile);
                return -1;
            }
            rc = PartialPFB(fin,fout);
            if (rc==FALSE)
            {
                NameOfProgram();
                (void) fprintf(stderr,
                "Error: %s is not a valid PFB file\n", fontfile);
                return -1;
            }
            break;
        case -1:
            NameOfProgram();
            fprintf(stderr,
            "Error: %s has neither PFA nor PFB extension", fontfile);
            return -1;
    }

    UnDefineCharsW();

    if(encode==AFM_ENC)
        FirstCharA=UnDefineChars(FirstCharA);

    if(encode!=1)
    {
        UnDefineStr();
    }

    FirstChar=UnDefineChars(FirstChar);

    fclose(fin);

    for(i=0; i < number; i++)
        label[i].num=CHAR_NOT_DEF;

    ClearB();
    return 1;
}

Here is the call graph for this function:

void ViewReturnCall P5C ( int  ,
num_err  ,
int  ,
top  ,
int ,
pstack  ,
int  ,
,
int  ,
depth   
)

Definition at line 957 of file t1part.c.

{
    int k,m;

#ifdef DEBUG
    if((dd(D_CALL_SUBR))&&(num_err>0))
    {
        if(grow==1)
        {
            grow=0;
            fprintf(stderr, "\n              Top: ");
        }
        else
            fprintf(stderr,   "             Back: ");
    }

#endif

    if(num_err<0)
    {
        if(grow==1)
        {
            grow=0;
            fprintf(stderr, "\n            ERROR: ");
            ErrorOfScan(num_err);
        }
        else
            fprintf(stderr,   "             Back: ");
    }

    fprintf(stderr, " %d Subr \n", top);

    fprintf(stderr," %dth level> STACK: ", level);

    for(m=0; m < j; m++, pstack++)
    {
        if(depth>(j-(m+1)))
        {
            for(k=0;
                TableCommand[k].command;
            k++)
            {
                if(TableCommand[k].code==*pstack)
                {
                    fprintf(stderr," %s",
                    TableCommand[k].command);
                    k=0;
                    break;
                }
            }
            if(k!=0)
                fprintf(stderr," (%d)", *pstack);
        }
        else
            fprintf(stderr, " %d", *pstack);
    }
    fprintf(stderr, " \n");
}

Here is the call graph for this function:


Variable Documentation

unsigned char basevect[] = "ad.enc"

Definition at line 184 of file t1part.c.

Definition at line 174 of file t1part.c.

ub1 buf[BUFSIZ]

Definition at line 190 of file t1part.c.

unsigned short int c1 = C1

Definition at line 1621 of file t1part.c.

unsigned short int c2 = C2

Definition at line 1621 of file t1part.c.

Definition at line 254 of file t1part.c.

Definition at line 64 of file t1part.c.

Definition at line 252 of file t1part.c.

char Dup[] = "dup" [static]

Definition at line 237 of file t1part.c.

unsigned short int edr

Definition at line 1622 of file t1part.c.

unsigned short int eer

Definition at line 1634 of file t1part.c.

int encode [static]

Definition at line 193 of file t1part.c.

Definition at line 175 of file t1part.c.

Definition at line 196 of file t1part.c.

CHAR* FirstChar [static]

Definition at line 59 of file t1part.c.

CHAR* FirstCharA [static]

Definition at line 60 of file t1part.c.

Definition at line 61 of file t1part.c.

CHAR* FirstCharW [static]

Definition at line 62 of file t1part.c.

Definition at line 252 of file t1part.c.

STRING* FirstStr [static]

Definition at line 56 of file t1part.c.

int flg_seac = 0 [static]

Definition at line 208 of file t1part.c.

unsigned char grid[256]

Definition at line 180 of file t1part.c.

Definition at line 65 of file t1part.c.

int grow = 0 [static]

Definition at line 206 of file t1part.c.

Definition at line 66 of file t1part.c.

Definition at line 198 of file t1part.c.

Definition at line 199 of file t1part.c.

Initial value:
{
    {"/LenIV", LENIV}, {"/Subrs", SUBRS}, {"/CharStrings", CHARSTRINGS},  {""}
}

Definition at line 265 of file t1part.c.

Definition at line 250 of file t1part.c.

Definition at line 197 of file t1part.c.

int lenIV = 4

Definition at line 204 of file t1part.c.

int level [static]

Definition at line 207 of file t1part.c.

unsigned char* line

Definition at line 176 of file t1part.c.

Definition at line 192 of file t1part.c.

unsigned char notdef[] = "/.notdef"

Definition at line 179 of file t1part.c.

Definition at line 201 of file t1part.c.

Definition at line 202 of file t1part.c.

unsigned char psfontfile[500]

Definition at line 182 of file t1part.c.

unsigned char psvectfile[500]

Definition at line 183 of file t1part.c.

int reencode [static]

Definition at line 194 of file t1part.c.

Definition at line 78 of file t1part.c.

STRING* RevStr [static]

Definition at line 57 of file t1part.c.

int stack[128] [static]

Definition at line 188 of file t1part.c.

Definition at line 254 of file t1part.c.

Initial value:
{
    {"callsubr", CALLSUBR}, {"callothersubr", CALLOTHERSUBR},
    {"pop", POP }, {"seac", SEAC}, {""}
}

Definition at line 217 of file t1part.c.

Definition at line 173 of file t1part.c.

unsigned char tmp_token[64]

Definition at line 186 of file t1part.c.

unsigned char tmpgrid[256]

Definition at line 181 of file t1part.c.

unsigned char* tmpline

Definition at line 177 of file t1part.c.

unsigned char token[64]

Definition at line 178 of file t1part.c.

Initial value:
{
    {".pfa", PFA}, {".pfb", PFB},
    {".PFA", PFA}, {".PFB", PFB}, {""}
}

Definition at line 231 of file t1part.c.

long value

Definition at line 203 of file t1part.c.

unsigned char version[] = "v1.59 beta (c)1994, 1996"

Definition at line 185 of file t1part.c.