Commits

mattias  committed 5c45a47

- ws + cs

  • Participants
  • Parent commits e86ca12
  • Branches GD-2.0

Comments (0)

Files changed (1)

File src/annotate.c

 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#	include "config.h"
 #endif
 
 #include <stdio.h>
 #include "gd.h"
 
 /* A neat little utility which adds freetype text to
-	existing JPEG images. Type annotate -h for instructions. 
-	Thanks to Joel Dubiner for supporting this work. -TBB */
+ * existing JPEG images. Type annotate -h for instructions. 
+ * Thanks to Joel Dubiner for supporting this work. -TBB
+ */
 
-enum
-{
-  left, center, right
-};
+enum { left, center, right };
 
-int
-main (int argc, char *argv[])
+int main(int argc, char *argv[])
 {
 #ifndef HAVE_LIBFREETYPE
-  /* 2.0.12 */
-  fprintf (stderr, "annotate is not useful without freetype.\n"
-	   "Install freetype, then './configure; make clean; make install'\n"
-	   "the gd library again.\n");
-  return 1;
+	/* 2.0.12 */
+	fprintf (stderr, "annotate is not useful without freetype.\n"
+		"Install freetype, then './configure; make clean; make install'\n"
+		"the gd library again.\n"
+	);
+	return 1;
 #else
-  gdImagePtr im;
-  char *iin, *iout;
-  FILE *in, *out;
-  char s[1024];
-  int bounds[8];
-  int lines = 1;
-  int color = gdTrueColor (0, 0, 0);
-  char font[1024];
-  int size = 12;
-  int align = left;
-  int x = 0, y = 0;
-  char *fontError;
-  strcpy (font, "times");
-  if (argc != 3)
-    {
-      fprintf (stderr, "Usage: annotate imagein.jpg imageout.jpg\n\n");
-      fprintf (stderr, "Standard input should consist of\n");
-      fprintf (stderr, "lines in the following formats:\n");
-      fprintf (stderr, "color r g b (0-255 each) [a (0-127, 0 is opaque)]\n");
-      fprintf (stderr, "font fontname\n");
-      fprintf (stderr, "size pointsize\n");
-      fprintf (stderr, "align (left|right|center)\n");
-      fprintf (stderr, "move x y\n");
-      fprintf (stderr, "text actual-output-text\n\n");
-      fprintf (stderr,
-	       "If the file 'paris.ttf' exists in /usr/share/fonts/truetype or in a\n");
-      fprintf (stderr,
-	       "location specified in the GDFONTPATH environment variable, 'font paris' is\n");
-      fprintf (stderr,
-	       "sufficient. You may also specify the full, rooted path of a font file.\n");
-      exit (1);
-    }
-  iin = argv[1];
-  iout = argv[2];
-  in = fopen (iin, "rb");
-  if (!in)
-    {
-      fprintf (stderr, "Couldn't open %s\n", iin);
-      exit (2);
-    }
+	gdImagePtr im;
+	char *iin, *iout;
+	FILE *in, *out;
+	char s[1024];
+	int bounds[8];
+	int lines = 1;
+	int color = gdTrueColor(0, 0, 0);
+	char font[1024];
+	int size = 12;
+	int align = left;
+	int x = 0, y = 0;
+	char *fontError;
+
+	strcpy(font, "times");
+
+	if(argc != 3) {
+		fprintf(stderr, "Usage: annotate imagein.jpg imageout.jpg\n\n");
+		fprintf(stderr, "Standard input should consist of\n");
+		fprintf(stderr, "lines in the following formats:\n");
+		fprintf(stderr, "color r g b (0-255 each) [a (0-127, 0 is opaque)]\n");
+		fprintf(stderr, "font fontname\n");
+		fprintf(stderr, "size pointsize\n");
+		fprintf(stderr, "align (left|right|center)\n");
+		fprintf(stderr, "move x y\n");
+		fprintf(stderr, "text actual-output-text\n\n");
+		fprintf(stderr,
+			"If the file 'paris.ttf' exists in /usr/share/fonts/truetype or in a\n");
+		fprintf(stderr,
+			"location specified in the GDFONTPATH environment variable, 'font paris' is\n");
+		fprintf(stderr,
+			"sufficient. You may also specify the full, rooted path of a font file.\n");
+		exit(1);
+	}
+
+	iin = argv[1];
+	iout = argv[2];
+
+	in = fopen(iin, "rb");
+	if(!in) {
+		fprintf(stderr, "Couldn't open %s\n", iin);
+		exit(2);
+	}
+
 #ifdef HAVE_LIBJPEG
-  im = gdImageCreateFromJpeg (in);
+	im = gdImageCreateFromJpeg(in);
 #else
-  fprintf (stderr, "No JPEG library support available.\n");
+	fprintf(stderr, "No JPEG library support available.\n");
 #endif
-  fclose (in);
-  if (!im)
-    {
-      fprintf (stderr, "%s did not load properly\n", iin);
-      exit (3);
-    }
-  while (fgets (s, sizeof (s), stdin))
-    {
-      char *st;
-      char *text;
-      st = strtok (s, " \t\r\n");
-      if (!st)
-	{
-	  /* Be nice about blank lines */
-	  continue;
-	}
-      if (!strcmp (st, "font"))
-	{
-	  char *st = strtok (0, " \t\r\n");
-	  if (!st)
-	    {
-	      goto badLine;
-	    }
-	  strcpy (font, st);
-	}
-      else if (!strcmp (st, "align"))
-	{
-	  char *st = strtok (0, " \t\r\n");
-	  if (!st)
-	    {
-	      goto badLine;
-	    }
-	  if (!strcmp (st, "left"))
-	    {
-	      align = 0;
-	    }
-	  else if (!strcmp (st, "center"))
-	    {
-	      align = 1;
-	    }
-	  else if (!strcmp (st, "right"))
-	    {
-	      align = 2;
-	    }
-	}
-      else if (!strcmp (st, "size"))
-	{
-	  char *st = strtok (0, " \t\r\n");
-	  if (!st)
-	    {
-	      goto badLine;
-	    }
-	  size = atoi (st);
-	}
-      else if (!strcmp (st, "color"))
-	{
-	  char *st = strtok (0, "\r\n");
-	  int r, g, b, a = 0;
-	  if (!st)
-	    {
-	      goto badLine;
-	    }
-	  if (sscanf (st, "%d %d %d %d", &r, &g, &b, &a) < 3)
-	    {
-	      fprintf (stderr, "Bad color at line %d\n", lines);
-	      exit (2);
-	    }
-	  color = gdTrueColorAlpha (r, g, b, a);
-	}
-      else if (!strcmp (st, "move"))
-	{
-	  char *st = strtok (0, "\r\n");
-	  if (!st)
-	    {
-	      goto badLine;
-	    }
-	  if (sscanf (st, "%d %d", &x, &y) != 2)
-	    {
-	      fprintf (stderr, "Missing coordinates at line %d\n", lines);
-	      exit (3);
-	    }
+
+	fclose(in);
+
+	if(!im) {
+		fprintf(stderr, "%s did not load properly\n", iin);
+		exit(3);
 	}
-      else if (!strcmp (st, "text"))
-	{
-	  int rx = x;
-	  text = strtok (0, "\r\n");
-	  if (!text)
-	    {
-	      text = "";
-	    }
-	  gdImageStringFT (0, bounds, color, font, size, 0, x, y, text);
-	  switch (align)
-	    {
-	    case left:
-	      break;
-	    case center:
-	      rx -= (bounds[2] - bounds[0]) / 2;
-	      break;
-	    case right:
-	      rx -= (bounds[2] - bounds[0]);
-	      break;
-	    }
-	  fontError = gdImageStringFT (im, 0, color, font,
-				       size, 0, rx, y, text);
-	  if (fontError)
-	    {
-	      fprintf (stderr, "font error at line %d: %s\n", lines,
-		       fontError);
-	      exit (7);
-	    }
-	  y -= (bounds[7] - bounds[1]);
+
+	while(fgets(s, sizeof(s), stdin)) {
+		char *st;
+		char *text;
+
+		st = strtok(s, " \t\r\n");
+		if(!st) {
+			/* Be nice about blank lines */
+			continue;
+		}
+
+		if(!strcmp(st, "font")) {
+			char *st = strtok(0, " \t\r\n");
+			if(!st) {
+				goto badLine;
+			}
+
+			strcpy(font, st);
+		} else if(!strcmp(st, "align")) {
+			char *st = strtok(0, " \t\r\n");
+
+			if(!st) {
+				goto badLine;
+			}
+
+			if(!strcmp(st, "left")) {
+				align = 0;
+			} else if(!strcmp(st, "center")) {
+				align = 1;
+			} else if(!strcmp(st, "right")) {
+				align = 2;
+			}
+		} else if(!strcmp(st, "size")) {
+			char *st = strtok(0, " \t\r\n");
+
+			if(!st) {
+				goto badLine;
+			}
+
+			size = atoi(st);
+		} else if(!strcmp(st, "color")) {
+			char *st = strtok(0, "\r\n");
+			int r, g, b, a = 0;
+
+			if(!st) {
+				goto badLine;
+			}
+
+			if(sscanf(st, "%d %d %d %d", &r, &g, &b, &a) < 3) {
+				fprintf(stderr, "Bad color at line %d\n", lines);
+				exit(2);
+			}
+
+			color = gdTrueColorAlpha(r, g, b, a);
+		} else if(!strcmp(st, "move")) {
+			char *st = strtok(0, "\r\n");
+	
+			if(!st) {
+				goto badLine;
+			}
+
+			if(sscanf(st, "%d %d", &x, &y) != 2) {
+				fprintf(stderr, "Missing coordinates at line %d\n", lines);
+				exit(3);
+			}
+		} else if(!strcmp(st, "text")) {
+			int rx = x;
+
+			text = strtok(0, "\r\n");
+			if(!text) {
+				text = "";
+			}
+
+			gdImageStringFT(0, bounds, color, font, size, 0, x, y, text);
+
+			switch(align) {
+				case left:
+				break;
+
+				case center:
+					rx -= (bounds[2] - bounds[0]) / 2;
+				break;
+
+				case right:
+					rx -= (bounds[2] - bounds[0]);
+				break;
+			}
+
+			fontError = gdImageStringFT(im, 0, color, font, size, 0, rx, y, text);
+			if(fontError) {
+				fprintf(stderr, "font error at line %d: %s\n", lines, fontError);
+				exit(7);
+			}
+
+			y -= (bounds[7] - bounds[1]);
+		} else {
+			goto badLine;
+		}
+
+		lines++;
+		continue;
+
+badLine:
+		fprintf(stderr, "Bad syntax, line %d\n", lines);
+		exit(4);
 	}
-      else
-	{
-	  goto badLine;
+
+	out = fopen(iout, "wb");
+	if(!out) {
+		fprintf(stderr, "Cannot create %s\n", iout);
+		exit(5);
 	}
-      lines++;
-      continue;
-    badLine:
-      fprintf (stderr, "Bad syntax, line %d\n", lines);
-      exit (4);
-    }
-  out = fopen (iout, "wb");
-  if (!out)
-    {
-      fprintf (stderr, "Cannot create %s\n", iout);
-      exit (5);
-    }
 #ifdef HAVE_LIBJPEG
-  gdImageJpeg (im, out, 95);
+	gdImageJpeg(im, out, 95);
 #else
-  fprintf (stderr, "No JPEG library support available.\n");
+	fprintf(stderr, "No JPEG library support available.\n");
 #endif
-  gdImageDestroy (im);
-  fclose (out);
-  return 0;
+	gdImageDestroy(im);
+	fclose(out);
+	return 0;
 #endif /* HAVE_LIBFREETYPE */
 }