[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/tcpdf/fonts/ttf2ufm/ttf2ufm-src/app/X11/ -> t1-xf86.334.patch (source)

   1  *** fontfcn.c    2000/01/02 18:55:56    1.1
   2  --- fontfcn.c    2000/01/02 19:00:17
   3  ***************
   4  *** 33,38 ****
   5  --- 33,39 ----
   6    #include <string.h>
   7    #include "t1imager.h"
   8    #include "util.h"
   9  + #include "t1stdio.h"
  10    #include "fontfcn.h"
  11    #include "fontmisc.h"
  12     
  13  ***************
  14  *** 117,132 ****
  15      resetFont(env);
  16      /* This will load the font into the FontP */
  17      rcode = scan_font(FontP);
  18  !   if (rcode == SCAN_OUT_OF_MEMORY) {
  19        /* free the memory and start again */
  20        xfree(vm_base);
  21        if (!(initFont(vm_size * 2))) {
  22          /* we are really out of memory */
  23          return(SCAN_OUT_OF_MEMORY);
  24          }
  25        resetFont(env);
  26        rcode = scan_font(FontP);
  27  -     /* only double the memory once, then report error */
  28      }
  29      return(rcode);
  30    }
  31  --- 118,151 ----
  32      resetFont(env);
  33      /* This will load the font into the FontP */
  34      rcode = scan_font(FontP);
  35  !   if (rcode != SCAN_OUT_OF_MEMORY) 
  36  !     return rcode;
  37  ! 
  38  !   if (T1FileSize > VM_SIZE) {
  39  !     /* use the file size as estimation */
  40  ! 
  41        /* free the memory and start again */
  42        xfree(vm_base);
  43  +     if (!(initFont(T1FileSize))) {
  44  +     /* we are really out of memory */
  45  +     return(SCAN_OUT_OF_MEMORY);
  46  +     }
  47  +     resetFont(env);
  48  +     rcode = scan_font(FontP);
  49  +     if (rcode != SCAN_OUT_OF_MEMORY) 
  50  +       return rcode;
  51  +   }
  52  + 
  53  +   /* if still not enough, increase up to maximum */
  54  +   while (rcode == SCAN_OUT_OF_MEMORY
  55  +   && vm_size <= VM_SIZE_MAX/2 ) {
  56  +     xfree(vm_base);
  57        if (!(initFont(vm_size * 2))) {
  58          /* we are really out of memory */
  59          return(SCAN_OUT_OF_MEMORY);
  60          }
  61        resetFont(env);
  62        rcode = scan_font(FontP);
  63      }
  64      return(rcode);
  65    }
  66  *** paths.c    2000/01/02 18:55:56    1.1
  67  --- paths.c    2000/01/02 18:56:27
  68  ***************
  69  *** 584,590 ****
  70                   CONCAT(before, r);
  71                   r = before;
  72           }
  73  !        else
  74                   r->context = after->context;
  75           if (after != NULL)
  76                   CONCAT(r, after);
  77  --- 584,590 ----
  78                   CONCAT(before, r);
  79                   r = before;
  80           }
  81  !        else if (after != NULL)
  82                   r->context = after->context;
  83           if (after != NULL)
  84                   CONCAT(r, after);
  85  *** scanfont.c    2000/01/02 18:55:56    1.1
  86  --- scanfont.c    2000/01/02 18:56:26
  87  ***************
  88  *** 1383,1388 ****
  89  --- 1383,1390 ----
  90        /* point to name and search for leading blanks */
  91        nameP= FontP->FontFileName.data.nameP;
  92        namelen  = FontP->FontFileName.len;
  93  +     if (namelen > (128-1) ) /* prevent getting out of filename[] */
  94  +     namelen = (128-1);
  95        while (nameP[0] == ' ') {
  96            nameP++;
  97            namelen--;
  98  *** t1io.c    2000/01/02 18:55:56    1.1
  99  --- t1io.c    2000/01/02 18:56:32
 100  ***************
 101  *** 54,59 ****
 102  --- 54,62 ----
 103    /* Our single FILE structure and buffer for this package */
 104    STATIC F_FILE TheFile;
 105    STATIC unsigned char TheBuffer[F_BUFSIZ];
 106  + 
 107  + /* the size of the file we read */
 108  + int T1FileSize;
 109     
 110    /* Our routines */
 111    F_FILE *T1Open(), *T1Eexec();
 112  ***************
 113  *** 87,92 ****
 114  --- 90,96 ----
 115      of->flags = 0;
 116      of->error = 0;
 117      haveextrach = 0;
 118  +   T1FileSize = 0;
 119      return &TheFile;
 120    } /* end Open */
 121     
 122  ***************
 123  *** 165,171 ****
 124  --- 169,181 ----
 125    int T1Close(f)       /* Close the file */
 126      F_FILE *f;         /* Stream descriptor */
 127    {
 128  +   int rc;
 129  + 
 130      if (f->b_base == NULL) return 0;  /* already closed */
 131  + 
 132  +   while ( (rc = read(f->fd, f->b_base, F_BUFSIZ)) >0)
 133  +     T1FileSize += rc; /* count the rest of the file */
 134  + 
 135      f->b_base = NULL;  /* no valid stream */
 136      return close(f->fd);
 137    } /* end Close */
 138  ***************
 139  *** 289,294 ****
 140  --- 299,305 ----
 141        }
 142      }
 143      f->b_ptr = f->b_base;
 144  +   T1FileSize += rc; /* remember how many bytes we have */
 145      if (Decrypt) rc = T1Decrypt(f->b_base, rc);
 146      return rc;
 147    } /* end Fill */
 148  *** type1.c    2000/01/02 18:55:56    1.1
 149  --- type1.c    2000/01/02 18:56:27
 150  ***************
 151  *** 365,378 ****
 152      /* ADJUST STEM WIDTHS */
 153      /**********************/
 154     
 155  !   widthdiff = 0.0;
 156     
 157      /* Find standard stem with smallest width difference from this stem */
 158      if (stems[stemno].vertical) { /* vertical stem */
 159        if (blues->StdVW != 0)      /* there is an entry for StdVW */
 160          widthdiff = blues->StdVW - stemwidth;
 161        for (i = 0; i < blues->numStemSnapV; ++i) { /* now look at StemSnapV */
 162  !       if (blues->StemSnapV[i] - stemwidth < widthdiff)
 163            /* this standard width is the best match so far for this stem */
 164            widthdiff = blues->StemSnapV[i] - stemwidth;
 165        }
 166  --- 365,380 ----
 167      /* ADJUST STEM WIDTHS */
 168      /**********************/
 169     
 170  !   /* a big value to not compete with StemSnap */
 171  !   /* if there is no StemSnap it will be caught later */
 172  !   widthdiff = onepixel*2; 
 173     
 174      /* Find standard stem with smallest width difference from this stem */
 175      if (stems[stemno].vertical) { /* vertical stem */
 176        if (blues->StdVW != 0)      /* there is an entry for StdVW */
 177          widthdiff = blues->StdVW - stemwidth;
 178        for (i = 0; i < blues->numStemSnapV; ++i) { /* now look at StemSnapV */
 179  !       if ( FABS(blues->StemSnapV[i] - stemwidth) < FABS(widthdiff) )
 180            /* this standard width is the best match so far for this stem */
 181            widthdiff = blues->StemSnapV[i] - stemwidth;
 182        }
 183  ***************
 184  *** 380,386 ****
 185        if (blues->StdHW != 0)      /* there is an entry for StdHW */
 186          widthdiff = blues->StdHW - stemwidth;
 187        for (i = 0; i < blues->numStemSnapH; ++i) { /* now look at StemSnapH */
 188  !       if (blues->StemSnapH[i] - stemwidth < widthdiff)
 189            /* this standard width is the best match so far for this stem */
 190            widthdiff = blues->StemSnapH[i] - stemwidth;
 191        }
 192  --- 382,388 ----
 193        if (blues->StdHW != 0)      /* there is an entry for StdHW */
 194          widthdiff = blues->StdHW - stemwidth;
 195        for (i = 0; i < blues->numStemSnapH; ++i) { /* now look at StemSnapH */
 196  !       if ( FABS(blues->StemSnapH[i] - stemwidth) < FABS(widthdiff) )
 197            /* this standard width is the best match so far for this stem */
 198            widthdiff = blues->StemSnapH[i] - stemwidth;
 199        }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1