ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/psign.c
(Generate patch)

Comparing ray/src/px/psign.c (file contents):
Revision 2.13 by greg, Mon Sep 21 12:14:30 1992 UTC vs.
Revision 2.19 by schorsch, Thu Jun 5 19:29:34 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1992 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  psign.c - produce picture from text.
6   *
# Line 11 | Line 8 | static char SCCSid[] = "$SunId$ LBL";
8   */
9  
10   #include  "standard.h"
14
11   #include  "color.h"
16
12   #include  "font.h"
13  
19 #include  "paths.h"
20
14   #ifndef  SSS
15   #define  SSS                    3       /* super-sample size */
16   #endif
# Line 48 | Line 41 | int  xdim;                             /* size of horizontal scan (bytes) */
41  
42   FONT  *ourfont;                         /* our font */
43  
51 char  *libpath;                         /* library search path */
52
44   typedef struct line {
45          char  *s;               /* line w/o LF */
46          short  *sp;             /* character spacing */
# Line 66 | Line 57 | int  argc;
57   char  *argv[];
58   {
59          int  an;
60 < #ifdef MSDOS
70 <        setmode(fileno(stdout), O_BINARY);
71 < #endif
60 >        SET_FILE_BINARY(stdout);
61          for (an = 1; an < argc && argv[an][0] == '-'; an++)
62                  switch (argv[an][1]) {
63                  case 'c':                       /* color */
# Line 126 | Line 115 | unkopt:
115                          exit(1);
116                  }
117                                          /* load font file */
129        if ((libpath = getenv(ULIBVAR)) == NULL)
130                libpath = DEFPATH;
118          ourfont = getfont(fontfile);
119                                          /* get text */
120          if (an == argc)
# Line 140 | Line 127 | unkopt:
127                                          /* convert text to bitmap */
128          maptext();
129                                          /* print header */
130 +        newheader("RADIANCE", stdout);
131          printargs(argc, argv, stdout);
132          fputformat(COLRFMT, stdout);
133          putchar('\n');
# Line 168 | Line 156 | makemap()                      /* create the bit map */
156                          else
157                                  xsiz = ysiz/pictaspect + 0.5;
158                          cheight = ysiz/nlines;
159 <                        cwidth = cheight/aspect + 0.5;
159 >                        cwidth = cheight/aspect;
160                  } else {
161                          if (ysiz <= 0)
162                                  ysiz = cheight*nlines;
163                          pictaspect = (double)ysiz/xsiz;
164                          aspect = pictaspect*maxwidth/(256*nlines);
165                          cheight = ysiz/nlines;
166 <                        cwidth = cheight/aspect + 0.5;
166 >                        cwidth = cheight/aspect;
167                  }
168          } else {                        /* reverse orientation */
169                  if (ysiz <= 0) {
# Line 191 | Line 179 | makemap()                      /* create the bit map */
179                          else
180                                  xsiz = ysiz/pictaspect + 0.5;
181                          cheight = xsiz/nlines;
182 <                        cwidth = cheight/aspect + 0.5;
182 >                        cwidth = cheight/aspect;
183                  } else {
184                          if (xsiz <= 0)
185                                  xsiz = cheight*nlines;
186                          pictaspect = (double)ysiz/xsiz;
187                          aspect = maxwidth/(256*nlines*pictaspect);
188                          cheight = xsiz/nlines;
189 <                        cwidth = cheight/aspect + 0.5;
189 >                        cwidth = cheight/aspect;
190                  }
191          }
192          if (xsiz % SSS)
# Line 216 | Line 204 | makemap()                      /* create the bit map */
204   gettext(fp)                     /* get text from a file */
205   FILE  *fp;
206   {
219        char  *fgets();
207          char  buf[MAXLINE];
208          register LINE  *curl;
209          int  len;
# Line 229 | Line 216 | FILE  *fp;
216                  if (curl == NULL)
217                          goto memerr;
218                  len = strlen(buf);
219 <                curl->s = malloc(len);
219 >                curl->s = (char *)malloc(len);
220                  curl->sp = (short *)malloc(sizeof(short)*len--);
221                  if (curl->s == NULL | curl->sp == NULL)
222                          goto memerr;
# Line 239 | Line 226 | FILE  *fp;
226                  curl->s[len] = '\0';
227                  if (spacing < -1./256.)
228                          len = squeeztext(curl->sp, curl->s, ourfont,
229 <                                        (int)(spacing*-256.0));
229 >                                        (int)(spacing*-256.));
230                  else if (spacing > 1./256.)
231                          len = proptext(curl->sp, curl->s, ourfont,
232 <                                        (int)(spacing*256.0), 3);
232 >                                        (int)(spacing*256.), 3);
233                  else
234                          len = uniftext(curl->sp, curl->s, ourfont);
235                  if (len > maxwidth)
# Line 266 | Line 253 | char  *av[];
253          ourtext = (LINE *)malloc(sizeof(LINE));
254          if (ourtext == NULL)
255                  goto memerr;
256 <        ourtext->s = malloc(MAXLINE);
256 >        ourtext->s = (char *)malloc(MAXLINE);
257          if (ourtext->s == NULL)
258                  goto memerr;
259          for (cp = ourtext->s; ac-- > 0; av++) {
# Line 280 | Line 267 | char  *av[];
267          ourtext->sp = (short *)malloc(sizeof(short)*(maxline+1));
268          if (ourtext->sp == NULL)
269                  goto memerr;
270 <        if (spacing < 0.0)
270 >        if (spacing < -1./256.)
271                  maxwidth = squeeztext(ourtext->sp, ourtext->s, ourfont,
272 <                                (int)(spacing*-256.0));
273 <        else if (spacing > 0.0)
272 >                                (int)(spacing*-256.));
273 >        else if (spacing > 1./256.)
274                  maxwidth = proptext(ourtext->sp, ourtext->s, ourfont,
275 <                                (int)(spacing*256.0), 3);
275 >                                (int)(spacing*256.), 3);
276          else
277                  maxwidth = uniftext(ourtext->sp, ourtext->s, ourfont);
278          nlines = 1;
# Line 444 | Line 431 | FILE  *fp;
431                          exit(1);
432                  }
433          }
434 <        free((char *)scanout);
434 >        free((void *)scanout);
435   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines