]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Dump the HP-GL/2 filter from CUPS (STR #3322)
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Mon, 18 Jan 2010 22:18:54 +0000 (22:18 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Mon, 18 Jan 2010 22:18:54 +0000 (22:18 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@8960 7a7537e8-13f0-0310-91df-b6672ffda945

20 files changed:
CHANGES.txt
conf/mime.convs.in
conf/mime.types
data/HPGLprolog [deleted file]
data/Makefile
filter/Makefile
filter/form-main.c [deleted file]
filter/form-ps.c [deleted file]
filter/form-tree.c [deleted file]
filter/form.h [deleted file]
filter/hpgl-attr.c [deleted file]
filter/hpgl-char.c [deleted file]
filter/hpgl-config.c [deleted file]
filter/hpgl-input.c [deleted file]
filter/hpgl-main.c [deleted file]
filter/hpgl-polygon.c [deleted file]
filter/hpgl-prolog.c [deleted file]
filter/hpgl-vector.c [deleted file]
filter/hpgltops.h [deleted file]
packaging/cups.list.in

index b8f215201d6610b9d7d7b002e0d7938808a32ee7..758304b3fad313eee28baf4e5bbf9bf05864374e 100644 (file)
@@ -1,4 +1,4 @@
-CHANGES.txt - 2009-11-19
+CHANGES.txt - 2010-01-18
 ------------------------
 
 CHANGES IN CUPS V1.5b1
@@ -10,3 +10,4 @@ CHANGES IN CUPS V1.5b1
          permissions disabled.
        - The PPD compiler now checks for overlapping filenames when writing
          PPD files.
+       - The HP-GL/2 filter is no longer included with CUPS (STR #3322)
index 19e4f31e9b4d1d0b1dcab6a82a92ec28a8a6327b..0478f5248f95f445afb7435762395ec9071db9f6 100644 (file)
@@ -7,7 +7,7 @@
 #
 #   MIME converts file for the Common UNIX Printing System (CUPS).
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,6 @@
 
 application/pdf                        application/vnd.cups-postscript 66      pdftops
 application/postscript         application/vnd.cups-postscript 66      pstops
-application/vnd.hp-HPGL                application/postscript          66      hpgltops
 application/x-cshell           application/postscript          33      texttops
 application/x-csource          application/postscript          33      texttops
 application/x-perl             application/postscript          33      texttops
index bf3249eea74862b2e2ad7d60dac53d070b0367e1..bf25cb9b5495e2bed0a616a483705b8a1c7bff5d 100644 (file)
@@ -7,7 +7,7 @@
 #   VERSIONS OF CUPS.  Instead, create a "local.types" file that
 #   reflects your local configuration changes.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -79,14 +79,6 @@ application/postscript               ai eps ps string(0,%!) string(0,<04>%!) \
                                 contains(0,4096,"LANGUAGE = POSTSCRIPT") \
                                 (contains(0,4096,<0a>%!) + \
                                  !contains(0,4096,"ENTER LANGUAGE")))
-application/vnd.hp-HPGL                hpgl \
-                               string(0,<1B>E<1B>%0B) \
-                               string(0,<1B>%-1B) string(0,<201B>)\
-                               string(0,BP;) string(0,IN;) string(0,DF;) \
-                               string(0,BPINPS;) \
-                               (contains(0,128,<1B>%-12345X) + \
-                                (contains(0,4096,"LANGUAGE=HPGL") \
-                                 contains(0,4096,"LANGUAGE = HPGL")))
 
 ########################################################################
 #
diff --git a/data/HPGLprolog b/data/HPGLprolog
deleted file mode 100644 (file)
index 0b1f5ec..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-%%BeginResource: procset hpgltops 1.1 0
-%
-% "$Id$"
-%
-%   HP-GL/2 filter procset for the Common UNIX Printing System (CUPS).
-%
-%   This procset contains the basic drawing commands that are used to
-%   reduce output size.  Note the 'MP' (make newpath) definition - this
-%   should be called 'NP' (newpath), but GhostScript uses the 'NP' name
-%   for 'noaccess put' in some of its font files...
-%
-%   Copyright 2007 by Apple Inc.
-%   Copyright 1993-2005 by Easy Software Products
-%
-%   These coded instructions, statements, and computer programs are the
-%   property of Apple Inc. and are protected by Federal copyright law.
-%   Distribution and use rights are outlined in the file "LICENSE.txt"
-%   which is included with the CUPS source distribution.
-%
-/MO { moveto } bind def
-/LI { lineto } bind def
-/FI { fill } bind def
-/ST { stroke } bind def
-/CP { closepath } bind def
-/MP { newpath } bind def
-/SP { setlinewidth setrgbcolor } bind def
-%%EndResource
index 422d7083b456de95429087f46074bbcc92196599..4c602f11e904447db71957d5af692936d1164dba 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Datafile makefile for the Common UNIX Printing System (CUPS).
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -71,7 +71,6 @@ CHARSETS =    \
                utf-8
 
 DATAFILES =    \
-               HPGLprolog \
                psglyphs \
                testprint
 
index f1bad94ac81add5e94cc3ff6a6e61f86565464eb..e186bc5343ade35b7bb9061b38abea0f30997626 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Filter makefile for the Common UNIX Printing System (CUPS).
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -22,7 +22,6 @@ FILTERS       =       \
                $(BANNERTOPS) \
                commandtops \
                gziptoany \
-               hpgltops \
                $(TEXTTOPS) \
                pstops \
                $(IMGFILTERS) \
@@ -43,16 +42,13 @@ TARGETS     =       \
                $(LIBTARGETS) \
                $(FILTERS)
 
-HPGLOBJS =     hpgl-attr.o hpgl-config.o hpgl-main.o hpgl-prolog.o \
-               hpgl-char.o hpgl-input.o hpgl-polygon.o hpgl-vector.o
 IMAGEOBJS =    image-bmp.o image-colorspace.o image-gif.o image-jpeg.o \
                image-photocd.o image-pix.o image-png.o image-pnm.o \
                image-sgi.o image-sgilib.o image-sun.o image-tiff.o \
                image-zoom.o image.o error.o interpret.o raster.o
 IMAGE32OBJS =  $(IMAGEOBJS:.o=.32.o)
 IMAGE64OBJS =  $(IMAGEOBJS:.o=.64.o)
-FORMOBJS =     form-attr.o form-main.o form-ps.o form-text.o form-tree.o
-OBJS   =       $(HPGLOBJS) $(IMAGEOBJS) $(FORMOBJS) \
+OBJS   =       $(IMAGEOBJS) \
                bannertops.o commandtops.o gziptoany.o imagetops.o \
                imagetoraster.o common.o pdftops.o pstext.o pstops.o \
                rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
@@ -292,15 +288,6 @@ commandtops:       commandtops.o ../cups/$(LIBCUPS)
        $(CC) $(LDFLAGS) -o $@ commandtops.o $(LIBS)
 
 
-#
-# formtops
-#
-
-formtops:      $(FORMOBJS) common.o ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ $(FORMOBJS) common.o $(LIBS) -lm
-
-
 #
 # gziptoany
 #
@@ -310,15 +297,6 @@ gziptoany: gziptoany.o ../Makedefs ../cups/$(LIBCUPS)
        $(CC) $(LDFLAGS) -o $@ gziptoany.o $(LIBZ) $(LIBS)
 
 
-#
-# hpgltops
-#
-
-hpgltops:      $(HPGLOBJS) common.o ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ $(HPGLOBJS) common.o $(LIBS) -lm
-
-
 #
 # libcupsimage.so.2, libcupsimage.sl.2
 #
diff --git a/filter/form-main.c b/filter/form-main.c
deleted file mode 100644 (file)
index b104b08..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * "$Id$"
- *
- *   CUPS form main entry for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main() - Load the specified form file and output PostScript.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "form.h"
-
-
-/*
- * Globals...
- */
-
-int            NumOptions;     /* Number of command-line options */
-cups_option_t  *Options;       /* Command-line options */
-ppd_file_t     *PPD;           /* PPD file */
-
-
-/*
- * 'main()' - Load the specified form file and output PostScript.
- */
-
-int                            /* O - Exit status */
-main(int  argc,                        /* I - Number of command-line arguments */
-     char *argv[])             /* I - Command-line arguments */
-{
-
-  return (0);
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/form-ps.c b/filter/form-ps.c
deleted file mode 100644 (file)
index 1d9630d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * "$Id$"
- *
- *   CUPS form PostScript routines for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "form.h"
-
-
-/*
- * 'formWrite()' - Write PostScript output for the given form document.
- */
-
-void
-formWrite(tree_t *t)                   /* I - Document tree to write */
-{
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/form-tree.c b/filter/form-tree.c
deleted file mode 100644 (file)
index dd3c607..0000000
+++ /dev/null
@@ -1,615 +0,0 @@
-/*
- * "$Id$"
- *
- *   CUPS form document tree routines for the Common UNIX Printing
- *   System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "form.h"
-
-
-/*
- * Local functions...
- */
-
-static int     compare_attr(attr_t *a0, attr_t *a1);
-static int     compare_elements(char **e0, char **e1);
-static int     parse_attr(tree_t *t, FILE *fp);
-static int     parse_element(tree_t *t, FILE *fp);
-
-
-/*
- * Local globals...
- */
-
-static char    *elements[] =
-               {
-                 "",
-                 "!--",
-                 "ARC",
-                 "BOX",
-                 "BR",
-                 "B",
-                 "CUPSFORM",
-                 "DEFVAR",
-                 "FONT",
-                 "H1",
-                 "H2",
-                 "H3",
-                 "H4",
-                 "H5",
-                 "H6",
-                 "HEAD",
-                 "IMG",
-                 "I",
-                 "LINE",
-                 "PAGE",
-                 "PIE",
-                 "POLY",
-                 "PRE",
-                 "P",
-                 "RECT",
-                 "TEXT",
-                 "TT",
-                 "VAR"
-               };
-
-
-/*
- * 'formDelete()' - Delete a node and its children.
- */
-
-void
-formDelete(tree_t *t)                  /* I - Tree node */
-{
-}
-
-
-/*
- * 'formGetAttr()' - Get a node attribute value.
- */
-
-char *                                 /* O - Value or NULL */
-formGetAttr(tree_t     *t,             /* I - Tree node */
-            const char *name)          /* I - Name of attribute */
-{
-}
-
-
-/*
- * 'formNew()' - Create a new form node.
- */
-
-tree_t *                               /* O - New tree node */
-formNew(tree_t    *p)                  /* I - Parent node */
-{
-  tree_t       *t;                     /* New tree node */
-
-
- /*
-  * Allocate the new node...
-  */
-
-  if ((t = (tree_t *)calloc(sizeof(tree_t), 1)) == NULL)
-    return (NULL);
-
- /*
-  * Set/copy attributes...
-  */
-
-  if (p == NULL)
-  {
-    t->bg[0]    = 1.0;
-    t->bg[1]    = 1.0;
-    t->bg[2]    = 1.0;
-    t->halign   = HALIGN_LEFT;
-    t->valign   = VALIGN_MIDDLE;
-    t->typeface = "Courier";
-    t->size     = 12.0;
-  }
-  else
-  {
-    memcpy(t, p, sizeof(tree_t));
-
-    t->prev       = NULL;
-    t->next       = NULL;
-    t->child      = NULL;
-    t->last_child = NULL;
-    t->parent     = NULL;
-    t->num_attrs  = 0;
-    t->attrs      = NULL;
-    t->data       = NULL;
-  }
-
- /*
-  * Return the new node...
-  */
-
-  return (t);
-}
-
-
-/*
- * 'formRead()' - Read a form tree from a file.
- */
-
-tree_t *                               /* O - New form tree */
-formRead(FILE   *fp,                   /* I - File to read from */
-         tree_t *p)                    /* I - Parent node */
-{
-  int          ch,                     /* Character from file */
-               closech,                /* Closing character */
-               have_whitespace;        /* Leading whitespace? */
-  static char  s[10240];               /* String from file */
-  uchar                *ptr,                   /* Pointer in string */
-               glyph[16],              /* Glyph name (&#nnn;) */
-               *glyphptr;              /* Pointer in glyph string */
-  tree_t       *tree,                  /* "top" of this tree */
-               *t,                     /* New tree node */
-               *prev,                  /* Previous tree node */
-               *temp;                  /* Temporary looping var */
-  uchar                *face,                  /* Typeface for FONT tag */
-               *color,                 /* Color for FONT tag */
-               *size;                  /* Size for FONT tag */
-
-
- /*
-  * Start off with no previous tree node...
-  */
-
-  prev = NULL;
-  tree = NULL;
-
- /*
-  * Parse data until we hit end-of-file...
-  */
-
-  while ((ch = getc(fp)) != EOF)
-  {
-   /*
-    * Ignore leading whitespace...
-    */
-
-    have_whitespace = 0;
-    closech         = '/';
-
-    if (p == NULL || !p->preformatted)
-    {
-      while (isspace(ch & 255))
-      {
-        have_whitespace = 1;
-        ch              = getc(fp);
-      }
-
-      if (ch == EOF)
-        break;
-    }
-
-   /*
-    * Allocate a new tree node - use calloc() to get zeroed data...
-    */
-
-    t = formNew(p);
-
-   /*
-    * See what the character was...
-    */
-
-    if (ch == '<')
-    {
-     /*
-      * Markup char; grab the next char to see if this is a /...
-      */
-
-      ch = getc(fp);
-      if (ch == ' ')
-      {
-       /*
-        * Illegal lone "<"!  Ignore it...
-       */
-
-       free(t);
-       continue;
-      }
-      
-      if (ch != '/')
-        ungetc(ch, fp);
-
-      if (parse_element(t, fp) < 0)
-      {
-        free(t);
-        break;
-      }
-
-      if ((closech = getc(fp)) == '/')
-        getc(fp);
-
-     /*
-      * If this is the matching close mark, or if we are starting the same
-      * element, or if we've completed a list, we're done!
-      */
-
-      if (ch == '/')
-      {
-       /*
-        * Close element; find matching element...
-        */
-
-        for (temp = p; temp != NULL; temp = temp->p)
-          if (temp->element == t->element)
-            break;
-
-        free(t);
-
-       if (temp != NULL)
-          break;
-       else
-         continue;
-      }
-    }
-    else if (t->preformatted)
-    {
-     /*
-      * Read a pre-formatted string into the current tree node...
-      */
-
-      ptr = s;
-      while (ch != '<' && ch != EOF && ptr < (s + sizeof(s) - 1))
-      {
-        if (ch == '&')
-        {
-          for (glyphptr = glyph;
-               (ch = getc(fp)) != EOF && (glyphptr - glyph) < 15;
-               glyphptr ++)
-            if (!isalnum(ch & 255))
-              break;
-            else
-              *glyphptr = ch;
-
-          *glyphptr = '\0';
-         if (atoi(glyph) > 0)
-           ch = atoi(glyph);
-         else if (strcmp(glyph, "lt") == 0)
-           ch = '<';
-         else if (strcmp(glyph, "gt") == 0)
-           ch = '>';
-         else if (strcmp(glyph, "quot") == 0)
-           ch = '\'';
-         else if (strcmp(glyph, "nbsp") == 0)
-           ch = ' ';
-         else
-           ch = '&';
-        }
-
-        if (ch != 0)
-          *ptr++ = ch;
-
-        if (ch == '\n')
-          break;
-
-        ch = getc(fp);
-      }
-
-      *ptr = '\0';
-
-      if (ch == '<')
-        ungetc(ch, fp);
-
-      t->element = ELEMENT_FRAGMENT;
-      t->data    = strdup(s);
-    }
-    else
-    {
-     /*
-      * Read the next string fragment...
-      */
-
-      ptr = s;
-      if (have_whitespace)
-        *ptr++ = ' ';
-
-      while (!isspace(ch & 255) && ch != '<' && ch != EOF && ptr < (s + sizeof(s) - 1))
-      {
-        if (ch == '&')
-        {
-          for (glyphptr = glyph;
-               (ch = getc(fp)) != EOF && (glyphptr - glyph) < 15;
-               glyphptr ++)
-            if (!isalnum(ch & 255))
-              break;
-            else
-              *glyphptr = ch;
-
-          *glyphptr = '\0';
-         if (atoi(glyph) > 0)
-           ch = atoi(glyph);
-         else if (strcmp(glyph, "lt") == 0)
-           ch = '<';
-         else if (strcmp(glyph, "gt") == 0)
-           ch = '>';
-         else if (strcmp(glyph, "quot") == 0)
-           ch = '\'';
-         else if (strcmp(glyph, "nbsp") == 0)
-           ch = ' ';
-         else
-           ch = '&';
-        }
-
-        if (ch != 0)
-          *ptr++ = ch;
-
-        ch = getc(fp);
-      }
-
-      if (isspace(ch & 255))
-        *ptr++ = ' ';
-
-      *ptr = '\0';
-
-      if (ch == '<')
-        ungetc(ch, fp);
-
-      t->element = ELEMENT_FRAGMENT;
-      t->data    = strdup(s);
-    }
-
-   /*
-    * If the p tree pointer is not NULL and this is the first
-    * entry we've read, set the child pointer...
-    */
-
-    if (p != NULL && prev == NULL)
-      p->child = t;
-
-    if (p != NULL)
-      p->last_child = t;
-
-   /*
-    * Do the prev/next links...
-    */
-
-    t->parent = p;
-    t->prev   = prev;
-    if (prev != NULL)
-      prev->next = t;
-    else
-      tree = t;
-
-    prev = t;
-
-   /*
-    * Do child stuff as needed...
-    */
-
-    if (closech == '>')
-      t->child = formRead(t, fp);
-  }  
-
-  return (tree);
-}
-
-
-/*
- * 'formSetAttr()' - Set a node attribute.
- */
-
-void
-formSetAttr(tree_t     *t,             /* I - Tree node */
-            const char *name,          /* I - Attribute name */
-           const char *value)          /* I - Attribute value */
-{
-}
-
-
-/*
- * 'compare_attr()' - Compare two attributes.
- */
-
-static int                             /* O - -1 if a0 < a1, etc. */
-compare_attr(attr_t *a0,               /* I - First attribute */
-             attr_t *a1)               /* I - Second attribute */
-{
-  return (strcasecmp(a0->name, a1->name));
-}
-
-
-/*
- * 'compare_elements()' - Compare two elements.
- */
-
-static int                             /* O - -1 if e0 < e1, etc. */
-compare_elements(char **e0,            /* I - First element */
-                 char **e1)            /* I - Second element */
-{
-  return (strcasecmp(*e0, *e1));
-}
-
-
-/*
- * 'parse_attr()' - Parse an element attribute string.
- */
-
-static int                             /* O - -1 on error, 0 on success */
-parse_attr(tree_t *t,                  /* I - Current tree node */
-           FILE   *fp)                 /* I - Input file */
-{
-  char name[1024],                     /* Name of attr */
-       value[10240],                   /* Value of attr */
-       *ptr;                           /* Temporary pointer */
-  int  ch;                             /* Character from file */
-
-
-  ptr = name;
-  while ((ch = getc(fp)) != EOF)
-    if (isalnum(ch & 255))
-    {
-      if (ptr < (name + sizeof(name) - 1))
-        *ptr++ = ch;
-    }
-    else
-      break;
-
-  *ptr = '\0';
-
-  while (isspace(ch & 255) || ch == '\r')
-    ch = getc(fp);
-
-  switch (ch)
-  {
-    default :
-        ungetc(ch, fp);
-        return (formSetAttr(t, name, NULL));
-    case EOF :
-        return (-1);
-    case '=' :
-        ptr = value;
-        ch  = getc(fp);
-
-        while (isspace(ch & 255) || ch == '\r')
-          ch = getc(fp);
-
-        if (ch == EOF)
-          return (-1);
-
-        if (ch == '\'')
-        {
-          while ((ch = getc(fp)) != EOF)
-            if (ch == '\'')
-              break;
-            else if (ptr < (value + sizeof(value) - 1))
-              *ptr++ = ch;
-
-          *ptr = '\0';
-        }
-        else if (ch == '\"')
-        {
-          while ((ch = getc(fp)) != EOF)
-            if (ch == '\"')
-              break;
-            else if (ptr < (value + sizeof(value) - 1))
-              *ptr++ = ch;
-
-          *ptr = '\0';
-        }
-        else
-        {
-          *ptr++ = ch;
-          while ((ch = getc(fp)) != EOF)
-            if (isspace(ch & 255) || ch == '>' || ch == '/' || ch == '\r')
-              break;
-            else if (ptr < (value + sizeof(value) - 1))
-              *ptr++ = ch;
-
-          *ptr = '\0';
-          if (ch == '>' || ch == '/')
-            ungetc(ch, fp);
-        }
-
-        return (formSetAttr(t, name, value));
-  }
-}
-
-
-/*
- * 'parse_element()' - Parse an element.
- */
-
-static int                             /* O - -1 on error or ELEMENT_nnnn */
-parse_element(tree_t *t,               /* I - Current tree node */
-              FILE   *fp)              /* I - Input file */
-{
-  int  ch;                             /* Character from file */
-  char element[255],                   /* Element string... */
-       *eptr,                          /* Current character... */
-       comment[10240],                 /* Comment string */
-       *cptr,                          /* Current char... */
-       **temp;                         /* Element variable entry */
-
-
-  eptr = element;
-
-  while ((ch = getc(fp)) != EOF && eptr < (element + sizeof(element) - 1))
-    if (ch == '>' || ch == '/' || isspace(ch & 255))
-      break;
-    else
-      *eptr++ = ch;
-
-  *eptr = '\0';
-
-  if (ch == EOF)
-    return (ELEMENT_ERROR);
-
-  eptr = element;
-  temp = bsearch(&mptr, elements, sizeof(elements) / sizeof(elements[0]),
-                 sizeof(elements[0]),
-                 (int (*)(const void *, const void *))compare_elements);
-
-  if (temp == NULL)
-  {
-   /*
-    * Unrecognized element stuff...
-    */
-
-    t->element = ELEMENT_COMMENT;
-    strcpy(comment, element);
-    cptr = comment + strlen(comment);
-  }
-  else
-  {
-    t->element = (element_t)((char **)temp - elements);
-    cptr       = comment;
-  }
-
-  if (t->element == ELEMENT_COMMENT)
-  {
-    while (ch != EOF && ch != '>' && cptr < (comment + sizeof(comment) - 1))
-    {
-      *cptr++ = ch;
-      ch = getc(fp);
-    }
-
-    *cptr   = '\0';
-    t->data = strdup(comment);
-  }
-  else
-  {
-    while (ch != EOF && ch != '>' && ch != '/')
-    {
-      if (!isspace(ch & 255))
-      {
-        ungetc(ch, fp);
-        parse_variable(t, fp);
-      }
-
-      ch = getc(fp);
-    }
-
-    if (ch != EOF)
-      ungetc(ch, fp);
-  }
-
-  return (t->element);
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/form.h b/filter/form.h
deleted file mode 100644 (file)
index da91a16..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * "$Id$"
- *
- *   CUPS form header file for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-
-
-/*
- * Form elements...
- */
-
-typedef enum
-{
-  ELEMENT_FILE = -1,           /* Pseudo element, not in file, but above */
-  ELEMENT_FRAGMENT,    /* Text fragment */
-  ELEMENT_COMMENT,     /* <!-- .... --> */
-  ELEMENT_ARC,
-  ELEMENT_BOX,
-  ELEMENT_BR,
-  ELEMENT_B,
-  ELEMENT_CUPSFORM,
-  ELEMENT_DEFVAR,
-  ELEMENT_FONT,
-  ELEMENT_H1,
-  ELEMENT_H2,
-  ELEMENT_H3,
-  ELEMENT_H4,
-  ELEMENT_H5,
-  ELEMENT_H6,
-  ELEMENT_HEAD,
-  ELEMENT_IMG,
-  ELEMENT_I,
-  ELEMENT_LINE,
-  ELEMENT_PAGE,
-  ELEMENT_PIE,
-  ELEMENT_POLY,
-  ELEMENT_PRE,
-  ELEMENT_P,
-  ELEMENT_RECT,
-  ELEMENT_TEXT,
-  ELEMENT_TT,
-  ELEMENT_VAR
-} element_t;
-
-
-/*
- * Font styles...
- */
-
-typedef enum
-{
-  STYLE_NORMAL,
-  STYLE_BOLD,
-  STYLE_ITALIC,
-  STYLE_BOLD_ITALIC
-} style_t;
-
-
-/*
- * Text alignments...
- */
-
-typedef enum
-{
-  HALIGN_LEFT,
-  HALIGN_CENTER,
-  HALIGN_RIGHT
-} halign_t;
-
-typedef enum
-{
-  VALIGN_BOTTOM,
-  VALIGN_CENTER,
-  VALIGN_TOP
-} valign_t;
-
-
-/*
- * Text directions...
- */
-
-typedef enun
-{
-  DIR_LEFT_TO_RIGHT,
-  DIR_RIGHT_TO_LEFT
-} dir_t;
-
-
-/*
- * Attribute structure...
- */
-
-typedef struct
-{
-  char                 *name,          /* Name of attribute */
-                       *value;         /* Value of attribute */
-} attr_t;
-
-
-/*
- * Form document tree structure...
- */
-
-typedef struct tree_str
-{
-  struct tree_str      *prev,          /* Previous tree node */
-                       *next,          /* Next tree node */
-                       *parent,        /* Parent tree node */
-                       *child,         /* First child node */
-                       *last_child;    /* Last child node */
-  element_t            element;        /* Element type */
-  float                        x, y, w, h;     /* Position and size in points */
-  float                        bg[3], fg[3];   /* Colors of element */
-  float                        thickness;      /* Thickness of lines */
-  int                  preformatted;   /* Preformatted text? */
-  float                        size;           /* Height of text in points */
-  char                 *typeface;      /* Typeface of text */
-  style_t              style;          /* Style of text */
-  halign_t             halign;         /* Horizontal alignment */
-  valign_t             valign;         /* Vertical alignment */
-  dir_t                        dir;            /* Direction of text */
-  int                  num_attrs;      /* Number of attributes */
-  attr_t               *attrs;         /* Attributes */
-  void                 *data;          /* Text fragment data */
-} tree_t;
-
-
-/*
- * Globals...
- */
-
-extern int             NumOptions;     /* Number of command-line options */
-extern cups_option_t   *Options;       /* Command-line options */
-extern ppd_file_t      *PPD;           /* PPD file */
-
-
-/*
- * Prototypes...
- */
-
-extern void    formDelete(tree_t *t);
-extern char    *formGetAttr(tree_t *t, const char *name);
-extern tree_t  *formNew(tree_t *p);
-extern tree_t  *formRead(FILE *fp, tree_t *p);
-extern void    formSetAttr(tree_t *t, const char *name, const char *value);
-extern void    formWrite(tree_t *p);
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-attr.c b/filter/hpgl-attr.c
deleted file mode 100644 (file)
index 787fbbd..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 attribute processing for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007-2008 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   CR_color_range()     - Set the range for color values.
- *   AC_anchor_corner()   - Set the anchor corner.
- *   FT_fill_type()       - Set the fill type or pattern.
- *   LA_line_attributes() - Set the line drawing attributes.
- *   LT_line_type()       - Set the line type (style)...
- *   NP_number_pens()     - Set the number of pens to be used.
- *   PC_pen_color()       - Set the pen color...
- *   PW_pen_width()       - Set the pen width.
- *   RF_raster_fill()     - Set the raster fill pattern.
- *   SM_symbol_mode()     - Set where symbols are drawn.
- *   SP_select_pen()      - Select a pen for drawing.
- *   UL_user_line_type()  - Set a user-defined line type.
- *   WU_width_units()     - Set the units used for pen widths.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-
-
-/*
- * 'CR_color_range()' - Set the range for color values.
- */
-
-void
-CR_color_range(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  if (num_params == 0)
-  {
-   /*
-    * Default to 0 to 255 for all color values.
-    */
-
-    ColorRange[0][0] = 0.0;
-    ColorRange[0][1] = 255.0;
-    ColorRange[1][0] = 0.0;
-    ColorRange[1][1] = 255.0;
-    ColorRange[2][0] = 0.0;
-    ColorRange[2][1] = 255.0;
-  }
-  else if (num_params == 6)
-  {
-   /*
-    * Set the range based on the parameters...
-    */
-
-    ColorRange[0][0] = params[0].value.number;
-    ColorRange[0][1] = params[1].value.number - params[0].value.number;
-    ColorRange[1][0] = params[2].value.number;
-    ColorRange[1][1] = params[3].value.number - params[2].value.number;
-    ColorRange[2][0] = params[4].value.number;
-    ColorRange[2][1] = params[5].value.number - params[4].value.number;
-  }
-  else
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'CR\' command with invalid number of "
-           "parameters (%d)!\n", num_params);
-}
-
-
-/*
- * 'AC_anchor_corner()' - Set the anchor corner.
- */
-
-void
-AC_anchor_corner(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'FT_fill_type()' - Set the fill type or pattern.
- *
- * Note:
- *
- *   This needs to be updated to support non-solid fill.
- */
-
-void
-FT_fill_type(int     num_params,       /* I - Number of parameters */
-             param_t *params)          /* I - Parameters */
-{
-  if (num_params == 0 ||
-      params[0].value.number == 1 ||
-      params[0].value.number == 2)
-  {
-    /**** SOLID PATTERN ****/
-  }
-}
-
-
-/*
- * 'LA_line_attributes()' - Set the line drawing attributes.
- */
-
-void
-LA_line_attributes(int     num_params, /* I - Number of parameters */
-                   param_t *params)    /* I - Parameters */
-{
-  int  i;                              /* Looping var */
-
-
-  if (num_params == 0)
-  {
-    MiterLimit = 3.0f;
-    LineCap    = 0;
-    LineJoin   = 0;
-  }
-  else for (i = 0; i < (num_params - 1); i += 2)
-    switch ((int)params[i].value.number)
-    {
-      case 1 :
-          LineCap = params[i + 1].value.number == 1 ? 0 :
-                    params[i + 1].value.number == 4 ? 1 : 2;
-          break;
-      case 2 :
-          switch ((int)params[i + 1].value.number)
-          {
-            case 1 :
-            case 2 :
-            case 3 :
-                LineJoin = 0;
-                break;
-            case 5 :
-                LineJoin = 2;
-                break;
-            default :
-                LineJoin = 1;
-                break;
-          }
-          break;
-      case 3 :
-          MiterLimit = 1.0 + 0.5 * (params[i + 1].value.number - 1.0);
-          break;
-    }
-
-  if (PageDirty)
-  {
-    printf("%.1f setmiterlimit\n", MiterLimit);
-    printf("%d setlinecap\n", LineCap);
-    printf("%d setlinejoin\n", LineJoin);
-  }
-}
-
-
-/*
- * 'LT_line_type()' - Set the line type (style)...
- *
- * Note:
- *
- *   This needs to be updated to support line types.
- */
-
-void
-LT_line_type(int     num_params,       /* I - Number of parameters */
-             param_t *params)          /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'NP_number_pens()' - Set the number of pens to be used.
- */
-
-void
-NP_number_pens(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  int  i;                              /* Looping var */
-
-
-  if (num_params == 0)
-    PenCount = 8;
-  else if (num_params == 1)
-  {
-    if (params[0].value.number < 1 || params[0].value.number > MAX_PENS)
-    {
-      fprintf(stderr,
-             "DEBUG: HP-GL/2 \'NP\' command with invalid number of "
-             "pens (%d)!\n", (int)params[0].value.number);
-      PenCount = 8;
-    }
-    else
-      PenCount = (int)params[0].value.number;
-  }
-  else
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'NP\' command with invalid number of "
-           "parameters (%d)!\n", num_params);
-
-  for (i = 0; i < PenCount; i ++)
-    Pens[i].width = PenWidth;
-
-  PC_pen_color(0, NULL);
-}
-
-
-/*
- * 'PC_pen_color()' - Set the pen color...
- */
-
-void
-PC_pen_color(int     num_params,       /* I - Number of parameters */
-             param_t *params)          /* I - Parameters */
-{
-  int          i;                      /* Looping var */
-  static float standard_colors[8][3] = /* Standard colors for first 8 pens */
-               {
-                 { 0.0, 0.0, 0.0 },    /* Black */
-                 { 1.0, 0.0, 0.0 },    /* Red */
-                 { 0.0, 1.0, 0.0 },    /* Green */
-                 { 1.0, 1.0, 0.0 },    /* Yellow */
-                 { 0.0, 0.0, 1.0 },    /* Blue */
-                 { 1.0, 0.0, 1.0 },    /* Magenta */
-                 { 0.0, 1.0, 1.0 },    /* Cyan */
-                 { 1.0, 1.0, 1.0 }     /* White */
-               };
-
-
-  if (num_params == 0)
-  {
-    for (i = 0; i < PenCount; i ++)
-      if (i < 8)
-      {
-        Pens[i].rgb[0] = standard_colors[i][0];
-        Pens[i].rgb[1] = standard_colors[i][1];
-        Pens[i].rgb[2] = standard_colors[i][2];
-      }
-      else
-      {
-        Pens[i].rgb[0] = 0.0f;
-        Pens[i].rgb[1] = 0.0f;
-        Pens[i].rgb[2] = 0.0f;
-      }
-
-    if (PageDirty)
-      printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-            Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-            Pens[PenNumber].width * PenScaling);
-  }
-  else if (num_params == 1 || num_params == 4)
-  {
-    i = (int)params[0].value.number - 1;
-
-    if (i < 0 || i >= PenCount)
-    {
-      fprintf(stderr,
-              "DEBUG: HP-GL/2 \'PC\' command with invalid pen (%d)!\n", i + 1);
-      return;
-    }
-
-    if (num_params == 1)
-    {
-      Pens[i].rgb[0] = standard_colors[i & 7][0];
-      Pens[i].rgb[1] = standard_colors[i & 7][1];
-      Pens[i].rgb[2] = standard_colors[i & 7][2];
-    }
-    else
-    {
-      Pens[i].rgb[0] = (params[1].value.number - ColorRange[0][0]) /
-                       (ColorRange[0][1] - ColorRange[0][0]);
-      Pens[i].rgb[1] = (params[2].value.number - ColorRange[1][0]) /
-                       (ColorRange[1][1] - ColorRange[1][0]);
-      Pens[i].rgb[2] = (params[3].value.number - ColorRange[2][0]) /
-                       (ColorRange[2][1] - ColorRange[2][0]);
-
-      fprintf(stderr, "DEBUG: Pen %d %.0f %.0f %.0f = %.3f %.3f %.3f\n",
-             i, params[1].value.number, params[2].value.number,
-             params[3].value.number, Pens[i].rgb[0], Pens[i].rgb[1],
-             Pens[i].rgb[2]);
-    }
-
-    if (PageDirty && i == PenNumber)
-      printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-            Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-            Pens[PenNumber].width * PenScaling);
-  }
-  else
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'PC\' command with invalid number of "
-           "parameters (%d)!\n", num_params);
-}
-
-
-/*
- * 'PW_pen_width()' - Set the pen width.
- */
-
-void
-PW_pen_width(int     num_params,       /* I - Number of parameters */
-             param_t *params)          /* I - Parameters */
-{
-  int  pen;                            /* Pen number */
-  float        w;                              /* Width value */
-
-
-  if (WidthUnits == 0)
-  {
-   /*
-    * Metric...
-    */
-
-    if (num_params == 0)
-      w = 0.35f / 25.4f * 72.0f;
-    else
-      w = params[0].value.number / 25.4f * 72.0f;
-  }
-  else
-  {
-   /*
-    * Relative...
-    */
-
-    w = (float)hypot(PlotSize[0], PlotSize[1]) / 1016.0f * 72.0f;
-
-    if (num_params == 0)
-      w *= 0.01f;
-    else
-      w *= params[0].value.number;
-  }
-
-  if (num_params == 2)
-  {
-    pen = (int)params[1].value.number - 1;
-
-    if (pen < 0 || pen >= PenCount)
-    {
-      fprintf(stderr,
-              "DEBUG: HP-GL/2 \'PW\' command with invalid pen (%d)!\n",
-             pen + 1);
-      return;
-    }
-
-    Pens[pen].width = w;
-
-    if (PageDirty && pen == PenNumber)
-      printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-            Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-            Pens[PenNumber].width * PenScaling);
-  }
-  else if (num_params < 2)
-  {
-   /*
-    * Set width for all pens...
-    */
-
-    for (pen = 0; pen < PenCount; pen ++)
-      Pens[pen].width = w;
-
-    if (PageDirty)
-      printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-            Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-            Pens[PenNumber].width * PenScaling);
-  }
-  else
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'PW\' command with invalid number of "
-           "parameters (%d)!\n", num_params);
-}
-
-
-/*
- * 'RF_raster_fill()' - Set the raster fill pattern.
- *
- * Note:
- *
- *   This needs to be implemented.
- */
-
-void
-RF_raster_fill(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SM_symbol_mode()' - Set where symbols are drawn.
- */
-
-void
-SM_symbol_mode(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SP_select_pen()' - Select a pen for drawing.
- */
-
-void
-SP_select_pen(int     num_params,      /* I - Number of parameters */
-              param_t *params)         /* I - Parameters */
-{
-  if (num_params == 0)
-    PenNumber = 0;
-  else if (num_params > 1)
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'SP\' command with invalid number of parameters "
-           "(%d)!\n", num_params);
-  else if (params[0].value.number <= 0 || params[0].value.number >= PenCount)
-    fprintf(stderr, "DEBUG: HP-GL/2 \'SP\' command with invalid pen (%d)!\n",
-           (int)params[0].value.number);
-  else
-    PenNumber = (int)params[0].value.number - 1;
-
-  if (PageDirty)
-    printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-          Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-          Pens[PenNumber].width * PenScaling);
-}
-
-
-/*
- * 'UL_user_line_type()' - Set a user-defined line type.
- */
-
-void
-UL_user_line_type(int     num_params,  /* I - Number of parameters */
-                  param_t *params)     /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'WU_width_units()' - Set the units used for pen widths.
- */
-
-void
-WU_width_units(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  if (num_params == 0)
-    WidthUnits = 0;
-  else if (num_params == 1)
-    WidthUnits = (int)params[0].value.number;
-  else
-    fprintf(stderr,
-            "DEBUG: HP-GL/2 \'WU\' command with invalid number of "
-           "parameters (%d)!\n", num_params);
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-char.c b/filter/hpgl-char.c
deleted file mode 100644 (file)
index a6f9f41..0000000
+++ /dev/null
@@ -1,631 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 character processing for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   AD_define_alternate()     - Define the alternate font.
- *   CF_character_fill()       - Set whether or not to fill or outline
- *                               characters.
- *   CP_character_plot()       - Move the current pen position for the given
- *                               number of columns and rows.
- *   DI_absolute_direction()   - Set the direction vector for text.
- *   DR_relative_direction()   - Set the relative direction vector for text.
- *   DT_define_label_term()    - Set the label string terminator.
- *   DV_define_variable_path() - Define a path for text.
- *   ES_extra_space()          - Set extra spacing (kerning) between characters.
- *   LB_label()                - Display a label string.
- *   LO_label_origin()         - Set the label origin.
- *   SA_select_alternate()     - Select the alternate font.
- *   SD_define_standard()      - Define the standard font...
- *   SI_absolute_size()        - Set the absolute size of text.
- *   SL_character_slant()      - Set the slant of text.
- *   SR_relative_size()        - Set the relative size of text.
- *   SS_select_standard()      - Select the standard font for text.
- *   TD_transparent_data()     - Send transparent print data.
- *   
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-
-
-/*
- * 'define_font()' - Define the specified font...
- */
-
-void
-define_font(int f)                     /* I - Font number */
-{
-  font_t       *font;                  /* Font */
-  const char   *fstring;               /* Font string - SA or SS */
-  float                xform[2][2];            /* Transform matrix */
-
-
- /*
-  * Get the correct font data...
-  */
-
-  if (f)
-  {
-    font    = &AlternateFont;
-    fstring = "SA";
-  }
-  else
-  {
-    font    = &StandardFont;
-    fstring = "SS";
-  }
-
- /*
-  * Compute the font matrix, accounting for any rotation...
-  */
-
-  switch (Rotation)
-  {
-    default :
-    case 0 :
-        xform[0][0] = font->xpitch * font->x * font->height;
-       xform[0][1] = font->xpitch * font->y * font->height;
-       xform[1][0] = -font->y * font->height;
-       xform[1][1] = font->x * font->height;
-        break;
-
-    case 90 :
-       xform[0][0] = -font->xpitch * font->y * font->height;
-        xform[0][1] = font->xpitch * font->x * font->height;
-       xform[1][0] = -font->x * font->height;
-       xform[1][1] = -font->y * font->height;
-        break;
-
-    case 180 :
-        xform[0][0] = -font->xpitch * font->x * font->height;
-       xform[0][1] = -font->xpitch * font->y * font->height;
-       xform[1][0] = font->y * font->height;
-       xform[1][1] = -font->x * font->height;
-        break;
-
-    case 270 :
-       xform[0][0] = font->xpitch * font->y * font->height;
-        xform[0][1] = -font->xpitch * font->x * font->height;
-       xform[1][0] = font->x * font->height;
-       xform[1][1] = font->y * font->height;
-        break;
-  }
-
- /*
-  * Send the font definition...
-  */
-
-  printf("/%s {\n"
-         "     /%s%s%s%s findfont\n"
-        "      [ %f %f %f %f 0.0 0.0 ] makefont\n"
-        "      setfont\n"
-        "} bind def\n",
-         fstring, font->spacing ? "Helvetica" : "Courier",
-         (font->weight > 0 || font->posture) ? "-" : "",
-         font->weight > 0 ? "Bold" : "",
-         font->posture ? "Oblique" : "",
-         xform[0][0], xform[0][1], xform[1][0], xform[1][1]);
-
-  if (f == CharFont)
-    printf("%s\n", fstring);
-}
-
-
-/*
- * 'AD_define_alternate()' - Define the alternate font.
- */
-
-void
-AD_define_alternate(int     num_params,        /* I - Number of parameters */
-                    param_t *params)   /* I - Parameters */
-{
-  int  i;                              /* Looping var */
-
-
- /*
-  * Set default font attributes...
-  */
-
-  AlternateFont.symbol_set = 277;
-  AlternateFont.spacing    = 0;
-  AlternateFont.pitch      = 9;
-  AlternateFont.height     = 11.5;
-  AlternateFont.posture    = 0;
-  AlternateFont.weight     = 0;
-  AlternateFont.typeface   = 48;
-  AlternateFont.x          = 1.0;
-  AlternateFont.y          = 0.0;
-
- /*
-  * Loop through parameter value pairs...
-  */
-
-  for (i = 0; i < (num_params - 1); i += 2)
-    switch ((int)params[i].value.number)
-    {
-      case 1 : /* Symbol Set */
-          AlternateFont.symbol_set = (int)params[i + 1].value.number;
-          break;
-      case 2 : /* Font Spacing */
-          AlternateFont.spacing = (int)params[i + 1].value.number;
-          break;
-      case 3 : /* Pitch */
-          AlternateFont.pitch = params[i + 1].value.number;
-          break;
-      case 4 : /* Height */
-          AlternateFont.height = params[i + 1].value.number;
-          break;
-      case 5 : /* Posture */
-          AlternateFont.posture = (int)params[i + 1].value.number;
-          break;
-      case 6 : /* Stroke Weight */
-          AlternateFont.weight = (int)params[i + 1].value.number;
-          break;
-      case 7 : /* Typeface */
-          AlternateFont.typeface = (int)params[i + 1].value.number;
-          break;
-    }
-
-  if (AlternateFont.spacing)
-  {
-   /*
-    * Set proportional spacing font...
-    */
-
-    AlternateFont.xpitch = 1.0f;
-  }
-  else
-  {
-   /*
-    * Set fixed-spaced font...
-    */
-
-    AlternateFont.xpitch = 0.6f * AlternateFont.height / AlternateFont.pitch;
-  }
-
- /*
-  * Define the font...
-  */
-
-  if (PageDirty)
-  {
-    printf("%% AD");
-    for (i = 0; i < num_params; i ++)
-      if (i)
-        printf(",%g", params[i].value.number);
-      else
-        printf("%g", params[i].value.number);
-    puts(";");
-
-    define_font(1);
-  }
-
-  CharHeight[1] = AlternateFont.height;
-}
-
-
-/*
- * 'CF_character_fill()' - Set whether or not to fill or outline characters.
- */
-
-void
-CF_character_fill(int     num_params,  /* I - Number of parameters */
-                  param_t *params)     /* I - Parameters */
-{
-  if (num_params == 0)
-    CharFillMode = 0;
-  else
-    CharFillMode = (int)params[0].value.number;
-
-  if (num_params == 2)
-    CharPen = (int)params[1].value.number;
-}
-
-
-/*
- * 'CP_character_plot()' - Move the current pen position for the given number
- *                         of columns and rows.
- */
-
-void
-CP_character_plot(int     num_params,
-                  param_t *params)
-{
-  if (num_params < 2)
-    return;
-
-  switch (Rotation)
-  {
-    case 0:
-       PenPosition[0] += params[0].value.number * 1.2f / CharHeight[CharFont];
-       PenPosition[1] += params[1].value.number * CharHeight[CharFont];
-       break;
-    case 90:
-       PenPosition[0] -= params[1].value.number * 1.2f / CharHeight[CharFont];
-       PenPosition[1] += params[0].value.number * CharHeight[CharFont];
-       break;
-    case 180:
-       PenPosition[0] -= params[0].value.number * 1.2f / CharHeight[CharFont];
-       PenPosition[1] -= params[1].value.number * CharHeight[CharFont];
-       break;
-    case 270:
-       PenPosition[0] += params[1].value.number * 1.2f / CharHeight[CharFont];
-       PenPosition[1] -= params[0].value.number * CharHeight[CharFont];
-       break;
-  }
-}
-
-
-/*
- * 'DI_absolute_direction()' - Set the direction vector for text.
- */
-
-void
-DI_absolute_direction(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  if (num_params != 2)
-    return;
-
-  if (CharFont)
-  {
-    AlternateFont.x = params[0].value.number;
-    AlternateFont.y = params[1].value.number;
-  }
-  else
-  {
-    StandardFont.x = params[0].value.number;
-    StandardFont.y = params[1].value.number;
-  }
-
-  if (PageDirty)
-  {
-    printf("%% DI%g,%g\n", params[0].value.number, params[1].value.number);
-
-    define_font(CharFont);
-  }
-}
-
-
-/*
- * 'DR_relative_direction()' - Set the relative direction vector for text.
- */
-
-void
-DR_relative_direction(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'DT_define_label_term()' - Set the label string terminator.
- */
-
-void
-DT_define_label_term(int     num_params,       /* I - Number of parameters */
-                     param_t *params)          /* I - Parameters */
-{
-  if (num_params == 0)
-    StringTerminator = '\003';
-  else
-    StringTerminator = params[0].value.string[0];
-}
-
-
-/*
- * 'DV_define_variable_path()' - Define a path for text.
- */
-
-void
-DV_define_variable_path(int     num_params,    /* I - Number of parameters */
-                        param_t *params)       /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'ES_extra_space()' - Set extra spacing (kerning) between characters.
- */
-
-void
-ES_extra_space(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'LB_label()' - Display a label string.
- */
-
-void
-LB_label(int     num_params,           /* I - Number of parameters */
-         param_t *params)              /* I - Parameters */
-{
-  char *s;                             /* Pointer into string */
-
-
-  if (num_params == 0)
-    return;
-
-  Outputf("gsave\n");
-  Outputf("currentmiterlimit 1.0 setmiterlimit\n");
-  Outputf("MP\n");
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-  PenValid = 1;
-
-  Outputf("(");
-  for (s = params[0].value.string; *s != '\0'; s ++)
-    if (strchr("()\\", *s) != NULL)
-      Outputf("\\%c", *s);
-    else
-      Outputf("%c", *s);
-  Outputf(") true charpath\n");
-
-  if (CharFillMode != 1)
-    Outputf("FI\n");
-  if (CharFillMode == 1 || CharFillMode == 3)
-  {
-    Outputf("%.3f %.3f %.3f %.2f SP ST\n", Pens[CharPen].rgb[0],
-           Pens[CharPen].rgb[CharPen], Pens[CharPen].rgb[2],
-           Pens[CharPen].width * PenScaling);
-    Outputf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-           Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-           Pens[PenNumber].width * PenScaling);
-  }
-
-  Outputf("setmiterlimit\n");
-  Outputf("grestore\n");
-}
-
-
-/*
- * 'LO_label_origin()' - Set the label origin.
- */
-
-void
-LO_label_origin(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SA_select_alternate()' - Select the alternate font.
- */
-
-void
-SA_select_alternate(int     num_params,        /* I - Number of parameters */
-                    param_t *params)   /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  if (PageDirty)
-    puts("SA");
-
-  CharFont = 1;
-}
-
-
-/*
- * 'SD_define_standard()' - Define the standard font...
- */
-void
-SD_define_standard(int     num_params, /* I - Number of parameters */
-                   param_t *params)    /* I - Parameters */
-{
-  int  i;                              /* Looping var */
-
-
- /*
-  * Set default font attributes...
-  */
-
-  StandardFont.symbol_set = 277;
-  StandardFont.spacing    = 0;
-  StandardFont.pitch      = 9;
-  StandardFont.height     = 11.5;
-  StandardFont.posture    = 0;
-  StandardFont.weight     = 0;
-  StandardFont.typeface   = 48;
-  StandardFont.x          = 1.0;
-  StandardFont.y          = 0.0;
-
- /*
-  * Loop through parameter value pairs...
-  */
-
-  for (i = 0; i < (num_params - 1); i += 2)
-    switch ((int)params[i].value.number)
-    {
-      case 1 : /* Symbol Set */
-          StandardFont.symbol_set = (int)params[i + 1].value.number;
-          break;
-      case 2 : /* Font Spacing */
-          StandardFont.spacing = (int)params[i + 1].value.number;
-          break;
-      case 3 : /* Pitch */
-          StandardFont.pitch = params[i + 1].value.number;
-          break;
-      case 4 : /* Height */
-          StandardFont.height = params[i + 1].value.number;
-          break;
-      case 5 : /* Posture */
-          StandardFont.posture = (int)params[i + 1].value.number;
-          break;
-      case 6 : /* Stroke Weight */
-          StandardFont.weight = (int)params[i + 1].value.number;
-          break;
-      case 7 : /* Typeface */
-          StandardFont.typeface = (int)params[i + 1].value.number;
-          break;
-    }
-
-  if (StandardFont.spacing || StandardFont.pitch <= 0.0)
-  {
-   /*
-    * Set proportional spacing font...
-    */
-
-    StandardFont.xpitch = 1.0f;
-  }
-  else
-  {
-   /*
-    * Set fixed-spaced font...
-    */
-
-    StandardFont.xpitch = 0.6f * StandardFont.height / StandardFont.pitch;
-  }
-
- /*
-  * Define the font...
-  */
-
-  if (PageDirty)
-  {
-    printf("%% SD");
-    for (i = 0; i < num_params; i ++)
-      if (i)
-        printf(",%g", params[i].value.number);
-      else
-        printf("%g", params[i].value.number);
-    puts(";");
-
-    define_font(0);
-  }
-
-  CharHeight[0] = StandardFont.height;
-}
-
-
-/*
- * 'SI_absolute_size()' - Set the absolute size of text.
- */
-
-void
-SI_absolute_size(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  float        xsize, ysize;                   /* Font size... */
-
-
-  if (num_params != 2)
-    return;
-
- /*
-  * The "SI" values are supposed to be cm, but they appear to be inches
-  * when tested on real HP devices...
-  */
-
-  xsize = params[0].value.number * 72.0f;
-  ysize = params[1].value.number * 72.0f * 0.6f;
-
-  if (CharFont)
-  {
-    AlternateFont.xpitch = xsize / ysize;
-    AlternateFont.height = ysize;
-  }
-  else
-  {
-    StandardFont.xpitch = xsize / ysize;
-    StandardFont.height = ysize;
-  }
-
-  if (PageDirty)
-  {
-    printf("%% SI%g,%g\n", params[0].value.number, params[1].value.number);
-
-    define_font(CharFont);
-  }
-}
-
-
-/*
- * 'SL_character_slant()' - Set the slant of text.
- */
-
-void
-SL_character_slant(int     num_params, /* I - Number of parameters */
-                   param_t *params)    /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SR_relative_size()' - Set the relative size of text.
- */
-
-void
-SR_relative_size(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SS_select_standard()' - Select the standard font for text.
- */
-
-void
-SS_select_standard(int     num_params, /* I - Number of parameters */
-                   param_t *params)    /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  if (PageDirty)
-    puts("SS");
-
-  CharFont = 0;
-}
-
-
-/*
- * 'TD_transparent_data()' - Send transparent print data.
- */
-
-void
-TD_transparent_data(int     num_params,        /* I - Number of parameters */
-                    param_t *params)   /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-config.c b/filter/hpgl-config.c
deleted file mode 100644 (file)
index 3db05ad..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 configuration routines for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   update_transform()  - Update the page transformation matrix as needed.
- *   BP_begin_plot()     - Start a plot...
- *   DF_default_values() - Set all state info to the default values.
- *   IN_initialize()     - Initialize the plotter.
- *   IP_input_absolute() - Set P1 and P2 values for the plot.
- *   IR_input_relative() - Update P1 and P2.
- *   IW_input_window()   - Setup an input window.
- *   PG_advance_page()   - Eject the current page.
- *   PS_plot_size()      - Set the plot size.
- *   RO_rotate()         - Rotate the plot.
- *   RP_replot()         - Replot the current page.
- *   SC_scale()          - Set user-defined scaling.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-
-#define max(a,b) ((a) < (b) ? (b) : (a))
-
-
-/*
- * 'update_transform()' - Update the page transformation matrix as needed.
- */
-
-void
-update_transform(void)
-{
-  float        page_width,     /* Actual page width */
-       page_height;    /* Actual page height */
-  float        scaling;        /* Scaling factor */
-  float        left, right,    /* Scaling window */
-       bottom, top;
-  float        width, height;  /* Scaling width and height */
-  float        iw1[2], iw2[2]; /* Clipping window */
-
-
- /*
-  * Get the page and input window sizes...
-  */
-
-  if (FitPlot)
-  {
-    page_width  = PageRight - PageLeft;
-    page_height = PageTop - PageBottom;
-  }
-  else
-  {
-    page_width  = (P2[0] - P1[0]) * 72.0f / 1016.0f;
-    page_height = (P2[1] - P1[1]) * 72.0f / 1016.0f;
-  }
-
-  fprintf(stderr, "DEBUG: page_width = %.0f, page_height = %.0f\n",
-          page_width, page_height);
-
-  if (page_width == 0 || page_height == 0)
-    return;
-
- /*
-  * Set the scaling window...
-  */
-
-  switch (ScalingType)
-  {
-    default : /* No user scaling */
-        left   = P1[0];
-       bottom = P1[1];
-       right  = P2[0];
-       top    = P2[1];
-        break;
-
-    case 0 : /* Anisotropic (non-uniform) scaling */
-        left   = Scaling1[0];
-       bottom = Scaling1[1];
-       right  = Scaling2[0];
-       top    = Scaling2[1];
-        break;
-
-    case 1 : /* Isotropic (uniform) scaling */
-        left   = Scaling1[0];
-       bottom = Scaling1[1];
-       right  = Scaling2[0];
-       top    = Scaling2[1];
-
-       width  = right - left;
-       height = top - bottom;
-        
-       if (width == 0 || height == 0)
-         return;
-
-        if ((width * page_height) != (height * page_width))
-       {
-         scaling = height * page_width / page_height;
-         if (width < scaling)
-         {
-           width = scaling;
-           left  = 0.5f * (left + right - width);
-           right = left + width;
-         }
-         else
-         {
-           height = width * page_height / page_width;
-           bottom = 0.5f * (bottom + top - height);
-           top    = bottom + height;
-         }
-       }
-        break;
-
-    case 2 :
-        left   = Scaling1[0];
-       bottom = Scaling1[1];
-       right  = left + page_width * Scaling2[0] * 1016.0f / 72.0f;
-       top    = bottom + page_height * Scaling2[1] * 1016.0f / 72.0f;
-        break;
-  }
-
-  width  = right - left;
-  height = top - bottom;
-
-  if (width == 0 || height == 0)
-    return;
-
- /*
-  * Scale the plot as needed...
-  */
-
-  if (Rotation == 0 || Rotation == 180)
-    scaling = page_width / width;
-  else
-    scaling = page_width / height;
-
-  if (FitPlot)
-    scaling *= max(page_width, page_height) / max(PlotSize[1], PlotSize[0]);
-
- /*
-  * Offset for the current P1 location...
-  */
-
-  if (FitPlot)
-  {
-    left   = 0;
-    bottom = 0;
-  }
-  else
-  {
-    left   = P1[0] * 72.0f / 1016.0f;
-    bottom = P1[1] * 72.0f / 1016.0f;
-  }
-
- /*
-  * Generate a new transformation matrix...
-  */
-
-  switch (Rotation)
-  {
-    default :
-    case 0 :
-       Transform[0][0] = scaling;
-       Transform[0][1] = 0.0;
-       Transform[0][2] = -left;
-       Transform[1][0] = 0.0;
-       Transform[1][1] = scaling;
-       Transform[1][2] = -bottom;
-       break;
-
-    case 90 :
-       Transform[0][0] = 0.0;
-       Transform[0][1] = -scaling;
-       Transform[0][2] = PageLength - left;
-       Transform[1][0] = scaling;
-       Transform[1][1] = 0.0;
-       Transform[1][2] = -bottom;
-       break;
-
-    case 180 :
-       Transform[0][0] = -scaling;
-       Transform[0][1] = 0.0;
-       Transform[0][2] = PageLength - left;
-       Transform[1][0] = 0.0;
-       Transform[1][1] = -scaling;
-       Transform[1][2] = PageWidth - bottom;
-       break;
-
-    case 270 :
-       Transform[0][0] = 0.0;
-       Transform[0][1] = scaling;
-       Transform[0][2] = -left;
-       Transform[1][0] = -scaling;
-       Transform[1][1] = 0.0;
-       Transform[1][2] = PageWidth - bottom;
-       break;
-  }
-
-  fprintf(stderr, "DEBUG: Transform = [ %.3f %.3f\n"
-                  "DEBUG:               %.3f %.3f\n"
-                  "DEBUG:               %.3f %.3f ]\n",
-          Transform[0][0], Transform[1][0], Transform[0][1],
-         Transform[1][1], Transform[0][2], Transform[1][2]);
-
-  if (FitPlot)
-  {
-    if (Rotation == 0 || Rotation == 180)
-      PenScaling = page_width / PlotSize[1];
-    else
-      PenScaling = page_width / PlotSize[0];
-  }
-  else
-    PenScaling = 1.0;
-
-  if (PenScaling < 0.0)
-    PenScaling = -PenScaling;
-
-  if (PageDirty)
-  {
-    printf("%.2f setlinewidth\n", Pens[PenNumber].width * PenScaling);
-
-    if (IW1[0] != IW2[0] && IW1[1] != IW2[1])
-    {
-      iw1[0] = IW1[0] * 72.0f / 1016.0f;
-      iw1[1] = IW1[1] * 72.0f / 1016.0f;
-      iw2[0] = IW2[0] * 72.0f / 1016.0f;
-      iw2[1] = IW2[1] * 72.0f / 1016.0f;
-
-      printf("initclip MP %.3f %.3f MO %.3f %.3f LI %.3f %.3f LI %.3f %.3f LI CP clip\n",
-            iw1[0], iw1[1], iw1[0], iw2[1], iw2[0], iw2[1], iw2[0], iw1[1]);
-    }
-  }
-}
-
-
-/*
- * 'BP_begin_plot()' - Start a plot...
- */
-
-void
-BP_begin_plot(int     num_params,      /* I - Number of parameters */
-              param_t *params)         /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'DF_default_values()' - Set all state info to the default values.
- */
-
-void
-DF_default_values(int     num_params,  /* I - Number of parameters */
-                  param_t *params)     /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  NP_number_pens(0, NULL);
-  AC_anchor_corner(0, NULL);
-  AD_define_alternate(0, NULL);
-  SD_define_standard(0, NULL);
-  CF_character_fill(0, NULL);
-  DI_absolute_direction(0, NULL);
-  DT_define_label_term(0, NULL);
-  DV_define_variable_path(0, NULL);
-  ES_extra_space(0, NULL);
-  FT_fill_type(0, NULL);
-  IW_input_window(0, NULL);
-  LA_line_attributes(0, NULL);
-  LO_label_origin(0, NULL);
-  LT_line_type(0, NULL);
-  PA_plot_absolute(0, NULL);
-  PolygonMode = 0;
-  RF_raster_fill(0, NULL);
-  SC_scale(0, NULL);
-  SM_symbol_mode(0, NULL);
-  SS_select_standard(0, NULL);
-  TD_transparent_data(0, NULL);
-  UL_user_line_type(0, NULL);
-}
-
-
-/*
- * 'IN_initialize()' - Initialize the plotter.
- */
-
-void
-IN_initialize(int     num_params,      /* I - Number of parameters */
-              param_t *params)         /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  DF_default_values(0, NULL);
-  PU_pen_up(0, NULL);
-  RO_rotate(0, NULL);
-  PS_plot_size(0, NULL);
-  WU_width_units(0, NULL);
-  PW_pen_width(0, NULL);
-
-  PenWidth = 1;
-
-  PenPosition[0] = PenPosition[1] = 0.0;
-}
-
-
-/*
- * 'IP_input_absolute()' - Set P1 and P2 values for the plot.
- */
-
-void
-IP_input_absolute(int     num_params,  /* I - Number of parameters */
-                  param_t *params)     /* I - Parameters */
-{
-  if (num_params == 0)
-  {
-    P1[0] = PageLeft / 72.0f * 1016.0f;
-    P1[1] = PageBottom / 72.0f * 1016.0f;
-    P2[0] = PageRight / 72.0f * 1016.0f;
-    P2[1] = PageTop / 72.0f * 1016.0f;
-  }
-  else if (num_params == 2)
-  {
-    P2[0] -= P1[0];
-    P2[1] -= P1[1];
-    P1[0] = params[0].value.number;
-    P1[1] = params[1].value.number;
-    P2[0] += P1[0];
-    P2[1] += P1[1];
-  }
-  else if (num_params == 4)
-  {
-    P1[0] = params[0].value.number;
-    P1[1] = params[1].value.number;
-    P2[0] = params[2].value.number;
-    P2[1] = params[3].value.number;
-  }
-
-  IW1[0] = 0.0;
-  IW1[1] = 0.0;
-  IW2[0] = 0.0;
-  IW2[1] = 0.0;
-
-  if (ScalingType < 0)
-  {
-    Scaling1[0] = P1[0];
-    Scaling1[0] = P1[1];
-    Scaling2[0] = P2[0];
-    Scaling2[1] = P2[1];
-  }
-
-  update_transform();
-}
-
-
-/*
- * 'IR_input_relative()' - Update P1 and P2.
- */
-
-void
-IR_input_relative(int     num_params,  /* I - Number of parameters */
-                  param_t *params)     /* I - Parameters */
-{
-  if (num_params == 0)
-  {
-    P1[0] = PageLeft / 72.0f * 1016.0f;
-    P1[1] = PageBottom / 72.0f * 1016.0f;
-    P2[0] = PageRight / 72.0f * 1016.0f;
-    P2[1] = PageTop / 72.0f * 1016.0f;
-  }
-  else if (num_params == 2)
-  {
-    P2[0] -= P1[0];
-    P2[1] -= P1[1];
-    P1[0] = params[0].value.number * PlotSize[0] / 72.0f * 1016.0f / 100.0f;
-    P1[1] = params[1].value.number * PlotSize[1] / 72.0f * 1016.0f / 100.0f;
-    P2[0] += P1[0];
-    P2[1] += P1[1];
-  }
-  else if (num_params == 4)
-  {
-    P1[0] = params[0].value.number * PlotSize[0] / 72.0f * 1016.0f / 100.0f;
-    P1[1] = params[1].value.number * PlotSize[1] / 72.0f * 1016.0f / 100.0f;
-    P2[0] = params[2].value.number * PlotSize[0] / 72.0f * 1016.0f / 100.0f;
-    P2[1] = params[3].value.number * PlotSize[1] / 72.0f * 1016.0f / 100.0f;
-  }
-
-  IW1[0] = 0.0;
-  IW1[1] = 0.0;
-  IW2[0] = 0.0;
-  IW2[1] = 0.0;
-
-  if (ScalingType < 0)
-  {
-    Scaling1[0] = P1[0];
-    Scaling1[0] = P1[1];
-    Scaling2[0] = P2[0];
-    Scaling2[1] = P2[1];
-  }
-
-  update_transform();
-}
-
-
-/*
- * 'IW_input_window()' - Setup an input window.
- */
-
-void
-IW_input_window(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  if (num_params == 0)
-  {
-    IW1[0] = PageLeft / 72.0f * 1016.0f;
-    IW1[1] = PageBottom / 72.0f * 1016.0f;
-    IW2[0] = PageRight / 72.0f * 1016.0f;
-    IW2[1] = PageTop / 72.0f * 1016.0f;
-  }
-  else if (num_params == 4)
-  {
-
-    if (ScalingType < 0)
-    {
-      IW1[0] = params[0].value.number;
-      IW1[1] = params[1].value.number;
-      IW2[0] = params[2].value.number;
-      IW2[1] = params[3].value.number;
-    }
-    else
-    {
-      IW1[0] = (Transform[0][0] * params[0].value.number +
-                Transform[0][1] * params[1].value.number +
-                Transform[0][2]) / 72.0f * 1016.0f;
-      IW1[1] = (Transform[1][0] * params[0].value.number +
-                Transform[1][1] * params[1].value.number +
-                Transform[1][2]) / 72.0f * 1016.0f;
-      IW2[0] = (Transform[0][0] * params[2].value.number +
-                Transform[0][1] * params[3].value.number +
-                Transform[0][2]) / 72.0f * 1016.0f;
-      IW2[1] = (Transform[1][0] * params[2].value.number +
-                Transform[1][1] * params[3].value.number +
-                Transform[1][2]) / 72.0f * 1016.0f;
-    }
-
-    fprintf(stderr, "DEBUG: IW%.0f,%.0f,%.0f,%.0f = [ %.0f %.0f %.0f %.0f ]\n",
-           params[0].value.number, params[1].value.number,
-           params[2].value.number, params[3].value.number,
-           IW1[0], IW1[1], IW2[0], IW2[1]);
-  }
-
-
-  update_transform();
-}
-
-
-/*
- * 'PG_advance_page()' - Eject the current page.
- */
-
-void
-PG_advance_page(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  if (PageDirty)
-  {
-    puts("grestore");
-    puts("showpage");
-
-    PageDirty = 0;
-  }
-}
-
-
-/*
- * 'PS_plot_size()' - Set the plot size.
- */
-
-void
-PS_plot_size(int     num_params,       /* I - Number of parameters */
-             param_t *params)          /* I - Parameters */
-{
-  switch (num_params)
-  {
-    case 0 : /* PS ; */
-        if (Rotation == 0 || Rotation == 180)
-        {
-          PlotSize[0] = PageWidth;
-          PlotSize[1] = PageLength;
-       }
-       else
-       {
-          PlotSize[0] = PageLength;
-          PlotSize[1] = PageWidth;
-       }
-
-       PlotSizeSet = 0;
-        break;
-    case 1 : /* PS length ; */
-        if (Rotation == 0 || Rotation == 180)
-        {
-          PlotSize[1] = 72.0f * params[0].value.number / 1016.0f;
-          PlotSize[0] = 0.75f * PlotSize[1];
-        }
-        else
-        {
-          PlotSize[0] = 72.0f * params[0].value.number / 1016.0f;
-          PlotSize[1] = 0.75f * PlotSize[0];
-        }
-
-       PlotSizeSet = 1;
-        break;
-    case 2 : /* PS length, width ; */
-       /*
-        * Unfortunately, it appears that NO application correctly
-       * sends a two-argument PS command as documented in the
-       * HP-GL/2 Reference Manual from HP.  Instead, applications
-       * send the width before the length, which causes all sorts
-       * of problems when scaling.
-       *
-       * Rather than fight it, we now look for them as width,length
-       * instead of length,width.
-       *
-       * Don't like it?  Send mail to the folks that make Ideas, Pro/E,
-       * AutoCAD, etc.
-       */
-
-        if (Rotation == 0 || Rotation == 180)
-        {
-          PlotSize[0] = 72.0f * params[0].value.number / 1016.0f;
-          PlotSize[1] = 72.0f * params[1].value.number / 1016.0f;
-        }
-        else
-        {
-          PlotSize[0] = 72.0f * params[1].value.number / 1016.0f;
-          PlotSize[1] = 72.0f * params[0].value.number / 1016.0f;
-        }
-
-       PlotSizeSet = 1;
-        break;
-  }
-
- /*
-  * This is required for buggy files that don't set the input window.
-  */
-
-  IP_input_absolute(0, NULL);
-}
-
-
-/*
- * 'RO_rotate()' - Rotate the plot.
- */
-
-void
-RO_rotate(int     num_params,  /* I - Number of parameters */
-          param_t *params)     /* I - Parameters */
-{
-  if (num_params == 0)
-    Rotation = 0;
-  else
-    Rotation = (int)params[0].value.number;
-
-  update_transform();
-}
-
-
-/*
- * 'RP_replot()' - Replot the current page.
- */
-
-void
-RP_replot(int     num_params,  /* I - Number of parameters */
-          param_t *params)     /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-}
-
-
-/*
- * 'SC_scale()' - Set user-defined scaling.
- */
-
-void
-SC_scale(int     num_params,   /* I - Number of parameters */
-         param_t *params)      /* I - Parameters */
-{
-  if (num_params == 0)
-  {
-    ScalingType = -1;
-    Scaling1[0] = P1[0];
-    Scaling1[0] = P1[1];
-    Scaling2[0] = P2[0];
-    Scaling2[1] = P2[1];
-  }
-  else if (num_params > 3)
-  {
-    Scaling1[0] = params[0].value.number;
-    Scaling2[0] = params[1].value.number;
-    Scaling1[1] = params[2].value.number;
-    Scaling2[1] = params[3].value.number;
-
-    if (num_params > 4)
-      ScalingType = (int)params[4].value.number;
-    else
-      ScalingType = 1;
-  }
-
-  update_transform();
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-input.c b/filter/hpgl-input.c
deleted file mode 100644 (file)
index 4d80998..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 input processing for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007-2009 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   ParseCommand()   - Parse an HPGL/2 command.
- *   FreeParameters() - Free all string parameter values.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-#include <ctype.h>
-#include <cups/i18n.h>
-
-#define MAX_PARAMS 16384
-
-
-/*
- * 'ParseCommand()' - Parse an HPGL/2 command.
- *
- * Returns the number of parameters seen or -1 on EOF.
- */
-
-int                            /* O - -1 on EOF, # params otherwise */
-ParseCommand(FILE    *fp,      /* I - File to read from */
-             char    *name,    /* O - Name of command */
-             param_t **params) /* O - Parameter list */
-{
-  int          num_params,     /* Number of parameters seen */
-               ch,             /* Current char */
-               done,           /* Non-zero when the current command is read */
-               i;              /* Looping var */
-  char         buf[262144],    /* String buffer */
-               *bufptr;        /* Pointer into buffer */
-  float                temp;           /* Temporary parameter value */
-  static param_t p[MAX_PARAMS];        /* Parameter buffer */
-
-
-  num_params = 0;
-  done       = 0;
-
-  do
-  {
-    while ((ch = getc(fp)) != EOF)
-      if (strchr(" \t\r\n,;", ch) == NULL)
-        break;
-
-    if (ch == EOF)
-    {
-      return (-1);
-    }
-
-    if (ch == 0x1b)
-      switch (getc(fp))
-      {
-        case '.' : /* HP-GL/2 job control */
-            i = getc(fp);
-
-            if (strchr(")Z", i) != NULL)
-            {
-             /*
-              * 'Printer Off' command - look for next 'Printer On' command...
-              */
-
-              for (;;)
-              {
-                while ((i = getc(fp)) != EOF && i != 0x1b);
-
-                if (i == EOF)
-                  return (-1);
-
-                if (getc(fp) != '.')
-                  continue;
-
-                if ((i = getc(fp)) == '(' ||
-                    i == 'Y')
-                  break;
-              }
-            }
-            else if (strchr("@HIMNTI\003", i) != NULL)
-            {
-              while ((i = getc(fp)) != EOF && i != ':');
-            }
-            break;
-
-        case '%' : /* PJL command? */
-            if ((i = getc(fp)) == '-')
-             if ((i = getc(fp)) == '1')
-               if ((i = getc(fp)) == '2')
-               {
-                /*
-                 * Yes, dump everything up to the "ENTER LANGUAGE" line...
-                 */
-
-                 while (fgets(buf, sizeof(buf), fp) != NULL)
-                   if (strstr(buf, "ENTER") && strstr(buf, "LANGUAGE"))
-                     break;
-                 break;
-               }
-
-            ungetc(i, fp);
-
-        default : /* HP RTL/PCL control */
-            while ((i = getc(fp)) != EOF && !isupper(i & 255));
-
-           if (i == EOF)
-             return (-1);
-            break;
-      }
-  } while (ch < ' ');
-
-  name[0] = ch;
-  name[1] = getc(fp);
-  name[2] = '\0';
-
-  if (name[1] < ' ')
-  {
-   /*
-    * If we get here, then more than likely we are faced with a raw PCL
-    * file which we can't handle - abort!
-    */
-
-    fputs(_("ERROR: Invalid HP-GL/2 command seen, unable to print file\n"),
-          stderr);
-    return (-1);
-  }
-
-  if (!strcasecmp(name, "LB"))
-  {
-    bufptr = buf;
-    while ((ch = getc(fp)) != StringTerminator && ch != EOF)
-      if (bufptr < (buf + sizeof(buf) - 1))
-        *bufptr++ = ch;
-    *bufptr = '\0';
-
-    p[num_params].type         = PARAM_STRING;
-    p[num_params].value.string = strdup(buf);
-    num_params ++;
-  }
-  else if (!strcasecmp(name, "SM"))
-  {
-    buf[0] = getc(fp);
-    buf[1] = '\0';
-    p[num_params].type         = PARAM_STRING;
-    p[num_params].value.string = strdup(buf);
-    num_params ++;
-  }
-  else if (!strcasecmp(name, "DT"))
-  {
-    if ((buf[0] = getc(fp)) != ';')
-    {
-      buf[1] = '\0';
-      p[num_params].type         = PARAM_STRING;
-      p[num_params].value.string = strdup(buf);
-      num_params ++;
-    }
-  }
-  else if (!strcasecmp(name, "PE"))
-  {
-    bufptr = buf;
-    while ((ch = getc(fp)) != ';')
-      if (ch == EOF)
-        break;
-      else if (bufptr < (buf + sizeof(buf) - 1))
-        *bufptr++ = ch;
-    *bufptr = '\0';
-
-    p[num_params].type         = PARAM_STRING;
-    p[num_params].value.string = strdup(buf);
-    num_params ++;
-  }
-
-  while (!done)
-    switch (ch = getc(fp))
-    {
-      case EOF :
-          done = 1;
-          break;
-
-      case ',' :
-      case ' ' :
-      case '\n' :
-      case '\r' :
-      case '\t' :
-          break;
-
-      case '\"' :
-          fscanf(fp, "%262143[^\"]\"", buf);
-          if (num_params < MAX_PARAMS)
-          {
-            p[num_params].type         = PARAM_STRING;
-            p[num_params].value.string = strdup(buf);
-            num_params ++;
-          };
-          break;
-
-      case '-' :
-      case '+' :
-          ungetc(ch, fp);
-          if (fscanf(fp, "%f", &temp) == 1 && num_params < MAX_PARAMS)
-          {
-            p[num_params].type         = PARAM_RELATIVE;
-            p[num_params].value.number = temp;
-            num_params ++;
-          }
-          break;
-      case '0' :
-      case '1' :
-      case '2' :
-      case '3' :
-      case '4' :
-      case '5' :
-      case '6' :
-      case '7' :
-      case '8' :
-      case '9' :
-      case '.' :
-          ungetc(ch, fp);
-          if (fscanf(fp, "%f", &temp) == 1 && num_params < MAX_PARAMS)
-          {
-            p[num_params].type         = PARAM_ABSOLUTE;
-            p[num_params].value.number = temp;
-            num_params ++;
-          }
-          break;
-      default :
-          ungetc(ch, fp);
-          done = 1;
-          break;
-    }
-
-  *params = p;
-  return (num_params);
-}
-
-
-/*
- * 'FreeParameters()' - Free all string parameter values.
- */
-
-void
-FreeParameters(int     num_params,     /* I - Number of parameters */
-               param_t *params)                /* I - Parameter values */
-{
-  int  i;                              /* Looping var */
-
-
-  for (i = 0; i < num_params; i ++)
-    if (params[i].type == PARAM_STRING)
-      free(params[i].value.string);
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-main.c b/filter/hpgl-main.c
deleted file mode 100644 (file)
index 7750c4d..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 filter main entry for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007-2008 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()          - Main entry for HP-GL/2 filter.
- *   compare_names() - Compare two command names.
- */
-
-/*
- * Include necessary headers...
- */
-
-/*#define DEBUG*/
-#define _HPGL_MAIN_C_
-#include "hpgltops.h"
-#include <cups/i18n.h>
-
-
-/*
- * HP-GL/2 command table...
- */
-
-typedef struct
-{
-  char name[4];                        /* Name of command */
-  void (*func)(int, param_t *);        /* Function to call */
-} name_t;
-
-static name_t commands[] =
-{
-  { "BP", BP_begin_plot },
-  { "DF", DF_default_values },
-  { "IN", IN_initialize },
-  { "IP", IP_input_absolute },
-  { "IR", IR_input_relative },
-  { "IW", IW_input_window },
-  { "PG", PG_advance_page },
-  { "RO", RO_rotate },
-  { "RP", RP_replot },
-  { "SC", SC_scale },
-  { "AA", AA_arc_absolute },
-  { "AR", AR_arc_relative },
-  { "AT", AT_arc_absolute3 },
-  { "CI", CI_circle },
-  { "PA", PA_plot_absolute },
-  { "PD", PD_pen_down },
-  { "PE", PE_polyline_encoded },
-  { "PR", PR_plot_relative },
-  { "PS", PS_plot_size },
-  { "PU", PU_pen_up },
-  { "RT", RT_arc_relative3 },
-  { "EA", EA_edge_rect_absolute },
-  { "EP", EP_edge_polygon },
-  { "ER", ER_edge_rect_relative },
-  { "EW", EW_edge_wedge },
-  { "FP", FP_fill_polygon },
-  { "PM", PM_polygon_mode },
-  { "RA", RA_fill_rect_absolute },
-  { "RR", RR_fill_rect_relative },
-  { "WG", WG_fill_wedge },
-  { "AD", AD_define_alternate },
-  { "CF", CF_character_fill },
-  { "CP", CP_character_plot },
-  { "DI", DI_absolute_direction },
-  { "DR", DR_relative_direction },
-  { "DT", DT_define_label_term },
-  { "DV", DV_define_variable_path },
-  { "ES", ES_extra_space },
-  { "LB", LB_label },
-  { "LO", LO_label_origin },
-  { "SA", SA_select_alternate },
-  { "SD", SD_define_standard },
-  { "SI", SI_absolute_size },
-  { "SL", SL_character_slant },
-  { "SR", SR_relative_size },
-  { "SS", SS_select_standard },
-  { "TD", TD_transparent_data },
-  { "AC", AC_anchor_corner },
-  { "FT", FT_fill_type },
-  { "LA", LA_line_attributes },
-  { "LT", LT_line_type },
-  { "NP", NP_number_pens },
-  { "PC", PC_pen_color },
-  { "CR", CR_color_range },
-  { "PW", PW_pen_width },
-  { "RF", RF_raster_fill },
-  { "SM", SM_symbol_mode },
-  { "SP", SP_select_pen },
-  { "UL", UL_user_line_type },
-  { "WU", WU_width_units }
-};
-#define NUM_COMMANDS (sizeof(commands) / sizeof(name_t))
-
-
-/*
- * Local functions...
- */
-
-static int     compare_names(const void *p1, const void *p2);
-
-
-/*
- * 'main()' - Main entry for HP-GL/2 filter.
- */
-
-int                    /* O - Exit status */
-main(int  argc,                /* I - Number of command-line arguments */
-     char *argv[])     /* I - Command-line arguments */
-{
-  FILE         *fp;            /* Input file */
-  int          num_params;     /* Number of parameters */
-  param_t      *params;        /* Command parameters */
-  name_t       *command,       /* Command */
-               name;           /* Name of command */
-  int          num_options;    /* Number of print options */
-  cups_option_t        *options;       /* Print options */
-  const char   *val;           /* Option value */
-  int          shading;        /* -1 = black, 0 = grey, 1 = color */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stdout, NULL);
-  setbuf(stderr, NULL);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    fprintf(stderr, _("Usage: %s job-id user title copies options [file]\n"),
-            argv[0]);
-    return (1);
-  }
-
- /*
-  * If we have 7 arguments, print the file named on the command-line.
-  * Otherwise, send stdin instead...
-  */
-
-  if (argc == 6)
-    fp = stdin;
-  else
-  {
-   /*
-    * Try to open the print file...
-    */
-
-    if ((fp = fopen(argv[6], "rb")) == NULL)
-    {
-      perror("DEBUG: unable to open print file - ");
-      return (1);
-    }
-  }
-
- /*
-  * Process command-line options and write the prolog...
-  */
-
-  options     = NULL;
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
-  PPD = SetCommonOptions(num_options, options, 1);
-
-  PlotSize[0] = PageWidth;
-  PlotSize[1] = PageLength;
-
-  shading  = 1;
-  PenWidth = 1.0;
-
-  if ((val = cupsGetOption("blackplot", num_options, options)) != NULL &&
-      strcasecmp(val, "no") && strcasecmp(val, "off") &&
-      strcasecmp(val, "false"))
-    shading = 0;
-
-  if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
-      !strcasecmp(val, "true"))
-    FitPlot = 1;
-  else if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
-      !strcasecmp(val, "true"))
-    FitPlot = 1;
-
-  if ((val = cupsGetOption("penwidth", num_options, options)) != NULL)
-    PenWidth = (float)atoi(val) * 0.001f;
-
- /*
-  * Write the PostScript prolog and initialize the plotting "engine"...
-  */
-
-  OutputProlog(argv[3], argv[2], shading);
-
-  IP_input_absolute(0, NULL);
-
- /*
-  * Sort the command array...
-  */
-
-  qsort(commands, NUM_COMMANDS, sizeof(name_t),
-        (int (*)(const void *, const void *))compare_names);
-
- /*
-  * Read commands until we reach the end of file.
-  */
-
-  while ((num_params = ParseCommand(fp, name.name, &params)) >= 0)
-  {
-    Outputf("%% %s(%d)\n", name.name, num_params);
-
-#ifdef DEBUG
-    {
-      int i;
-      fprintf(stderr, "DEBUG: %s(%d)", name.name, num_params);
-      for (i = 0; i < num_params; i ++)
-       if (params[i].type == PARAM_STRING)
-          fprintf(stderr, " \'%s\'", params[i].value.string);
-       else
-          fprintf(stderr, " %f", params[i].value.number);
-      fputs("\n", stderr);
-    }
-#endif /* DEBUG */
-
-    if ((command = bsearch(&name, commands, NUM_COMMANDS, sizeof(name_t),
-                           (int (*)(const void *, const void *))compare_names)) != NULL)
-      (*command->func)(num_params, params);
-
-    FreeParameters(num_params, params);
-  }
-
-  OutputTrailer();
-
-  if (fp != stdin)
-    fclose(fp);
-
-  return (0);
-}
-
-
-/*
- * 'compare_names()' - Compare two command names.
- */
-
-static int                     /* O - Result of strcasecmp() on names */
-compare_names(const void *p1,  /* I - First name */
-              const void *p2)  /* I - Second name */
-{
-  return (strcasecmp(((name_t *)p1)->name, ((name_t *)p2)->name));
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-polygon.c b/filter/hpgl-polygon.c
deleted file mode 100644 (file)
index 8bcd470..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 polygon routines for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   EA_edge_rect_absolute() - Draw a rectangle.
- *   EP_edge_polygon()       - Stroke the edges of a polygon.
- *   ER_edge_rect_relative() - Draw a rectangle relative to the current
- *   EW_edge_wedge()         - Draw a pie wedge.
- *   FP_fill_polygon()       - Fill a polygon.
- *   PM_polygon_mode()       - Set the polygon drawing mode.
- *   RA_fill_rect_absolute() - Fill a rectangle.
- *   RR_fill_rect_relative() - Fill a rectangle relative to the current
- *   WG_fill_wedge()         - Fill a pie wedge.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-
-
-/*
- * 'EA_edge_rect_absolute()' - Draw a rectangle.
- */
-
-void
-EA_edge_rect_absolute(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  float        x, y;           /* Transformed coordinates */
-
-
-  if (num_params < 2)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      Transform[0][2];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      Transform[1][2];
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-  Outputf("%.3f %.3f LI\n", PenPosition[0], y);
-  Outputf("%.3f %.3f LI\n", x, y);
-  Outputf("%.3f %.3f LI\n", x, PenPosition[1]);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("ST\n");
-}
-
-
-/*
- * 'EP_edge_polygon()' - Stroke the edges of a polygon.
- */
-
-void
-EP_edge_polygon(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  Outputf("ST\n");
-}
-
-
-/*
- * 'ER_edge_rect_relative()' - Draw a rectangle relative to the current
- *                             pen position.
- */
-
-void
-ER_edge_rect_relative(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  float x, y;          /* Transformed coordinates */
-
-
-  if (num_params < 2)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      PenPosition[0];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      PenPosition[1];
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-  Outputf("%.3f %.3f LI\n", PenPosition[0], y);
-  Outputf("%.3f %.3f LI\n", x, y);
-  Outputf("%.3f %.3f LI\n", x, PenPosition[1]);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("ST\n");
-}
-
-
-/*
- * 'EW_edge_wedge()' - Draw a pie wedge.
- */
-
-void
-EW_edge_wedge(int     num_params,      /* I - Number of parameters */
-              param_t *params)         /* I - Parameters */
-{
-  float x, y;                          /* Transformed coordinates */
-  float start, end,                    /* Start and end of arc */
-       theta,                          /* Current angle */
-       dt,                             /* Step between points */
-       radius;                         /* Radius of arc */
-
-
-  if (num_params < 3)
-    return;
-
-  radius = params[0].value.number;
-  start  = params[1].value.number;
-  end    = start + params[2].value.number;
-
-  if (num_params > 3)
-    dt = (float)fabs(params[3].value.number);
-  else
-    dt = 5.0f;
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-  if (start < end)
-    for (theta = start + dt; theta < end; theta += dt)
-    {
-      x = (float)(PenPosition[0] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[0][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[0][1]);
-      y = (float)(PenPosition[1] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[1][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[1][1]);
-
-      Outputf("%.3f %.3f LI\n", x, y);
-    }
-  else
-    for (theta = start - dt; theta > end; theta -= dt)
-    {
-      x = (float)(PenPosition[0] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[0][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[0][1]);
-      y = (float)(PenPosition[1] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[1][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[1][1]);
-
-      Outputf("%.3f %.3f LI\n", x, y);
-    }
-
-  x = (float)(PenPosition[0] +
-              radius * cos(M_PI * end / 180.0) * Transform[0][0] +
-              radius * sin(M_PI * end / 180.0) * Transform[0][1]);
-  y = (float)(PenPosition[1] +
-              radius * cos(M_PI * end / 180.0) * Transform[1][0] +
-              radius * sin(M_PI * end / 180.0) * Transform[1][1]);
-  Outputf("%.3f %.3f LI\n", x, y);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("ST\n");
-}
-
-
-/*
- * 'FP_fill_polygon()' - Fill a polygon.
- */
-
-void
-FP_fill_polygon(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  (void)num_params;
-  (void)params;
-
-  Outputf("FI\n");
-}
-
-
-/*
- * 'PM_polygon_mode()' - Set the polygon drawing mode.
- */
-
-void
-PM_polygon_mode(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  if (num_params == 0 ||
-      params[0].value.number == 0)
-  {
-    Outputf("MP\n");
-    PenValid    = 0;
-    PolygonMode = 1;
-  }
-  else if (params[0].value.number == 2)
-    PolygonMode = 0;
-}
-
-
-/*
- * 'RA_fill_rect_absolute()' - Fill a rectangle.
- */
-
-void
-RA_fill_rect_absolute(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  float x, y;                  /* Transformed coordinates */
-
-
-  if (num_params < 2)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      Transform[0][2];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      Transform[1][2];
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-  Outputf("%.3f %.3f LI\n", PenPosition[0], y);
-  Outputf("%.3f %.3f LI\n", x, y);
-  Outputf("%.3f %.3f LI\n", x, PenPosition[1]);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("FI\n");
-}
-
-
-/*
- * 'RR_fill_rect_relative()' - Fill a rectangle relative to the current
- *                             pen position.
- */
-
-void
-RR_fill_rect_relative(int     num_params,      /* I - Number of parameters */
-                      param_t *params)         /* I - Parameters */
-{
-  float x, y;                  /* Transformed coordinates */
-
-
-  if (num_params < 2)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      PenPosition[0];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      PenPosition[1];
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-  Outputf("%.3f %.3f LI\n", PenPosition[0], y);
-  Outputf("%.3f %.3f LI\n", x, y);
-  Outputf("%.3f %.3f LI\n", x, PenPosition[1]);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("FI\n");
-}
-
-
-/*
- * 'WG_fill_wedge()' - Fill a pie wedge.
- */
-
-void
-WG_fill_wedge(int     num_params,      /* I - Number of parameters */
-              param_t *params)         /* I - Parameters */
-{
-  float x, y;                          /* Transformed coordinates */
-  float start, end,                    /* Start and end angles */
-       theta,                          /* Current angle */
-       dt,                             /* Step between points */
-       radius;                         /* Radius of arc */
-
-
-  if (num_params < 3)
-    return;
-
-  radius = params[0].value.number;
-  start  = params[1].value.number;
-  end    = start + params[2].value.number;
-
-  if (num_params > 3)
-    dt = (float)fabs(params[3].value.number);
-  else
-    dt = 5.0;
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-  if (start < end)
-    for (theta = start + dt; theta < end; theta += dt)
-    {
-      x = (float)(PenPosition[0] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[0][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[0][1]);
-      y = (float)(PenPosition[1] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[1][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[1][1]);
-
-      Outputf("%.3f %.3f LI\n", x, y);
-    }
-  else
-    for (theta = start - dt; theta > end; theta -= dt)
-    {
-      x = (float)(PenPosition[0] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[0][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[0][1]);
-      y = (float)(PenPosition[1] +
-                  radius * cos(M_PI * theta / 180.0) * Transform[1][0] +
-                  radius * sin(M_PI * theta / 180.0) * Transform[1][1]);
-
-      Outputf("%.3f %.3f LI\n", x, y);
-    }
-
-  x = (float)(PenPosition[0] +
-              radius * cos(M_PI * end / 180.0) * Transform[0][0] +
-              radius * sin(M_PI * end / 180.0) * Transform[0][1]);
-  y = (float)(PenPosition[1] +
-              radius * cos(M_PI * end / 180.0) * Transform[1][0] +
-              radius * sin(M_PI * end / 180.0) * Transform[1][1]);
-  Outputf("%.3f %.3f LI\n", x, y);
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("FI\n");
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-prolog.c b/filter/hpgl-prolog.c
deleted file mode 100644 (file)
index dd6edf8..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 prolog routines for for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *  OutputProlog()  - Output the PostScript prolog...
- *  OutputTrailer() - Output the PostScript trailer...
- *  Outputf()       - Write a formatted string to the output file, creating the
- *                    page header as needed...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-#include <stdarg.h>
-
-
-/*
- * 'OutputProlog()' - Output the PostScript prolog...
- */
-
-void
-OutputProlog(char  *title,     /* I - Job title */
-             char  *user,      /* I - Username */
-             int   shading)    /* I - Type of shading */
-{
-  FILE         *prolog;        /* Prolog file */
-  char         line[255];      /* Line from prolog file */
-  const char   *datadir;       /* CUPS_DATADIR environment variable */
-  char         filename[1024]; /* Name of prolog file */
-  time_t       curtime;        /* Current time */
-  struct tm    *curtm;         /* Current date */
-
-
-  curtime = time(NULL);
-  curtm   = localtime(&curtime);
-
-  puts("%!PS-Adobe-3.0");
-  printf("%%%%BoundingBox: %.0f %.0f %.0f %.0f\n",
-         PageLeft, PageBottom, PageRight, PageTop);
-  puts("%%Pages: (atend)");
-  printf("%%%%LanguageLevel: %d\n", LanguageLevel);
-  puts("%%DocumentData: Clean7Bit");
-  puts("%%DocumentSuppliedResources: procset hpgltops 1.1 0");
-  puts("%%DocumentNeededResources: font Courier Helvetica");
-  puts("%%Creator: hpgltops/" CUPS_SVERSION);
-  strftime(line, sizeof(line), "%c", curtm);
-  printf("%%%%CreationDate: %s\n", line);
-  WriteTextComment("Title", title);
-  WriteTextComment("For", user);
-  printf("%%cupsRotation: %d\n", (Orientation & 3) * 90);
-  puts("%%EndComments");
-  puts("%%BeginProlog");
-  printf("/DefaultPenWidth %.2f def\n", PenWidth * 72.0 / 25.4);
-  if (!shading)                        /* Black only */
-    puts("/setrgbcolor { pop pop pop } bind def");
-  else if (!ColorDevice)       /* Greyscale */
-    puts("/setrgbcolor { 0.08 mul exch 0.61 mul add exch 0.31 mul add setgray } bind def\n");
-
-  if ((datadir = getenv("CUPS_DATADIR")) == NULL)
-    datadir = CUPS_DATADIR;
-
-  snprintf(filename, sizeof(filename), "%s/data/HPGLprolog", datadir);
-
-  if ((prolog = fopen(filename, "r")) == NULL)
-  {
-    fprintf(stderr,
-            "DEBUG: Unable to open HPGL prolog \"%s\" for reading - %s\n",
-            filename, strerror(errno));
-    exit(1);
-  }
-
-  while (fgets(line, sizeof(line), prolog) != NULL)
-    fputs(line, stdout);
-
-  fclose(prolog);
-
-  puts("%%EndProlog");
-
-  IN_initialize(0, NULL);
-}
-
-
-/*
- * 'OutputTrailer()' - Output the PostScript trailer...
- */
-
-void
-OutputTrailer(void)
-{
-  if (PageDirty)
-    PG_advance_page(0, NULL);
-
-  puts("%%Trailer");
-  printf("%%%%Pages: %d\n", PageCount);
-  puts("%%EOF");
-}
-
-
-/*
- * 'Outputf()' - Write a formatted string to the output file, creating the
- *               page header as needed...
- */
-
-int                            /* O - Number of bytes written */
-Outputf(const char *format,    /* I - Printf-style string */
-        ...)                   /* I - Additional args as needed */
-{
-  va_list      ap;             /* Argument pointer */
-  int          bytes;          /* Number of bytes written */
-  float                iw1[2], iw2[2]; /* Clipping window */
-  int          i;              /* Looping var */
-  ppd_size_t   *size;          /* Page size */
-  ppd_option_t *option;        /* Page size option */
-  ppd_choice_t *choice;        /* Page size choice */
-  float                width, length;  /* Page dimensions */
-  int          landscape;      /* Rotate for landscape orientation? */
-
-
- /*
-  * Write the page header as needed...
-  */
-
-  if (!PageDirty)
-  {
-    PageDirty = 1;
-    PageCount ++;
-
-    printf("%%%%Page: %d %d\n", PageCount, PageCount);
-
-    landscape = 0;
-
-    if (!FitPlot && PlotSizeSet)
-    {
-     /*
-      * Set the page size for this page...
-      */
-
-      if (PageRotation == 0 || PageRotation == 180)
-      {
-       width  = PlotSize[0];
-       length = PlotSize[1];
-      }
-      else
-      {
-       width  = PlotSize[1];
-       length = PlotSize[0];
-      }
-
-      fprintf(stderr, "DEBUG: hpgltops setting page size (%.0f x %.0f)\n",
-              width, length);
-
-      if (PPD != NULL)
-      {
-        fputs("DEBUG: hpgltops has a PPD file!\n", stderr);
-
-       /*
-       * Lookup the closest PageSize and set it...
-       */
-
-       for (i = PPD->num_sizes, size = PPD->sizes; i > 0; i --, size ++)
-         if ((fabs(length - size->length) < 36.0 && size->width >= width) ||
-              (fabs(length - size->width) < 36.0 && size->length >= width))
-           break;
-
-       if (i == 0 && PPD->variable_sizes)
-       {
-          for (i = PPD->num_sizes, size = PPD->sizes; i > 0; i --, size ++)
-           if (strcasecmp(size->name, "custom") == 0)
-             break;
-       } 
-
-       if (i > 0)
-       {
-        /*
-         * Found a matching size...
-         */
-
-         option = ppdFindOption(PPD, "PageSize");
-         choice = ppdFindChoice(option, size->name);
-
-          puts("%%BeginPageSetup");
-          printf("%%%%BeginFeature: PageSize %s\n", size->name);
-
-          if (strcasecmp(size->name, "custom") == 0)
-         {
-           PageLeft   = PPD->custom_margins[0];
-           PageRight  = width - PPD->custom_margins[2];
-           PageWidth  = width;
-           PageBottom = PPD->custom_margins[1];
-           PageTop    = length - PPD->custom_margins[3];
-           PageLength = length;
-
-            printf("%.0f %.0f 0 0 0\n", width, length);
-
-           if (choice->code == NULL)
-           {
-            /*
-             * This can happen with certain buggy PPD files that don't include
-             * a CustomPageSize command sequence...  We just use a generic
-             * Level 2 command sequence...
-             */
-
-             puts("pop pop pop");
-             puts("<</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice\n");
-           }
-            else
-           {
-            /*
-             * Use the vendor-supplied command...
-             */
-
-             printf("%s\n", choice->code);
-           }
-         }
-         else
-         {
-           if (choice->code)
-              printf("%s\n", choice->code);
-
-           if (fabs(length - size->width) < 36.0)
-           {
-            /*
-              * Do landscape orientation...
-             */
-
-             PageLeft   = size->bottom;
-             PageRight  = size->top;
-             PageWidth  = size->length;
-             PageBottom = size->left;
-             PageTop    = size->right;
-             PageLength = size->width;
-
-              landscape = 1;
-           }
-           else
-           {
-            /*
-              * Do portrait orientation...
-             */
-
-             PageLeft   = size->left;
-             PageRight  = size->right;
-             PageWidth  = size->width;
-             PageBottom = size->bottom;
-             PageTop    = size->top;
-             PageLength = size->length;
-           }
-         }
-
-         puts("%%EndFeature");
-         puts("%%EndPageSetup");
-       }
-      }
-      else
-      {
-        fputs("DEBUG: hpgltops does not have a PPD file!\n", stderr);
-
-        puts("%%BeginPageSetup");
-        printf("%%%%BeginFeature: PageSize w%.0fh%.0f\n", width, length);
-       printf("<</PageSize[%.0f %.0f]/ImageBBox null>>setpagedevice\n",
-              width, length);
-       puts("%%EndFeature");
-       puts("%%EndPageSetup");
-
-       PageLeft   = 0.0;
-       PageRight  = width;
-       PageWidth  = width;
-       PageBottom = 0.0;
-       PageTop    = length;
-       PageLength = length;
-      }
-    }
-
-    define_font(0);
-    define_font(1);
-
-    printf("%.1f setmiterlimit\n", MiterLimit);
-    printf("%d setlinecap\n", LineCap);
-    printf("%d setlinejoin\n", LineJoin);
-
-    printf("%.3f %.3f %.3f %.2f SP\n", Pens[1].rgb[0], Pens[1].rgb[1],
-           Pens[1].rgb[2], Pens[1].width * PenScaling);
-
-    puts("gsave");
-
-    if (Duplex && (PageCount & 1) == 0)
-      switch ((PageRotation / 90 + landscape) & 3)
-      {
-       case 0 :
-            printf("%.1f %.1f translate\n", PageWidth - PageRight, PageBottom);
-           break;
-       case 1 :
-            printf("%.0f 0 translate 90 rotate\n", PageLength);
-            printf("%.1f %.1f translate\n", PageLength - PageTop,
-                  PageWidth - PageRight);
-           break;
-       case 2 :
-            printf("%.0f %.0f translate 180 rotate\n", PageWidth, PageLength);
-            printf("%.1f %.1f translate\n", PageLeft, PageLength - PageTop);
-           break;
-       case 3 :
-            printf("0 %.0f translate -90 rotate\n", PageWidth);
-            printf("%.1f %.1f translate\n", PageBottom, PageLeft);
-           break;
-      }
-    else
-      switch ((PageRotation / 90 + landscape) & 3)
-      {
-       case 0 :
-            printf("%.1f %.1f translate\n", PageLeft, PageBottom);
-           break;
-       case 1 :
-            printf("%.0f 0 translate 90 rotate\n", PageLength);
-            printf("%.1f %.1f translate\n", PageBottom, PageWidth - PageRight);
-           break;
-       case 2 :
-            printf("%.0f %.0f translate 180 rotate\n", PageWidth, PageLength);
-            printf("%.1f %.1f translate\n", PageWidth - PageRight,
-                   PageLength - PageTop);
-           break;
-       case 3 :
-            printf("0 %.0f translate -90 rotate\n", PageWidth);
-            printf("%.1f %.1f translate\n", PageLength - PageTop, PageLeft);
-           break;
-      }
-
-    if (IW1[0] != IW2[0] && IW1[1] != IW2[1])
-    {
-      iw1[0] = IW1[0] * 72.0f / 1016.0f;
-      iw1[1] = IW1[1] * 72.0f / 1016.0f;
-      iw2[0] = IW2[0] * 72.0f / 1016.0f;
-      iw2[1] = IW2[1] * 72.0f / 1016.0f;
-
-      printf("initclip MP %.3f %.3f MO %.3f %.3f LI %.3f %.3f LI %.3f %.3f LI CP clip\n",
-            iw1[0], iw1[1], iw1[0], iw2[1], iw2[0], iw2[1], iw2[0], iw1[1]);
-    }
-  }
-
- /*
-  * Write the string to the output file...
-  */
-
-  va_start(ap, format);
-  bytes = vprintf(format, ap);
-  va_end(ap);
-
-  return (bytes);
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgl-vector.c b/filter/hpgl-vector.c
deleted file mode 100644 (file)
index f5d1bc0..0000000
+++ /dev/null
@@ -1,773 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 vector routines for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007-2008 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   AA_arc_absolute()    - Draw an arc.
- *   AR_arc_relative()    - Draw an arc relative to the current pen
- *   AT_arc_absolute3()   - Draw an arc using 3 points.
- *   CI_circle()          - Draw a circle.
- *   PA_plot_absolute()   - Plot a line using absolute coordinates.
- *   PD_pen_down()        - Start drawing.
- *   PE_polygon_encoded() - Draw an encoded polyline.
- *   PR_plot_relative()   - Plot a line using relative coordinates.
- *   PU_pen_up()          - Stop drawing.
- *   RT_arc_relative3()   - Draw an arc through 3 points relative to the
- *   decode_number()      - Decode an encoded number.
- *   plot_points()        - Plot the specified points.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "hpgltops.h"
-
-
-/*
- * Local functions...
- */
-
-static double  decode_number(unsigned char **, int, double);
-static void    plot_points(int, param_t *);
-
-
-/*
- * 'AA_arc_absolute()' - Draw an arc.
- */
-
-void
-AA_arc_absolute(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  float x, y,                          /* Transformed coordinates */
-       dx, dy;                         /* Distance from current pen */
-  float start, end,                    /* Start and end angles */
-       theta,                          /* Current angle */
-       dt,                             /* Step between points */
-       radius;                         /* Radius of arc */
-
-
-  if (num_params < 3)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      Transform[0][2];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      Transform[1][2];
-
-  dx = PenPosition[0] - x;
-  dy = PenPosition[1] - y;
-
-  start = (float)(180.0 * atan2(dy, dx) / M_PI);
-  if (start < 0.0)
-    start += 360.0f;
-
-  end    = start + params[2].value.number;
-  radius = (float)hypot(dx, dy);
-
-  if (PenDown)
-  {
-    if (num_params > 3 && params[3].value.number > 0.0)
-      dt = (float)fabs(params[3].value.number);
-    else
-      dt = 5.0;
-
-    if (!PolygonMode)
-      Outputf("MP\n");
-
-    PenValid = 1;
-
-    Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-    if (start < end)
-      for (theta = start + dt; theta < end; theta += dt)
-      {
-       PenPosition[0] = (float)(x + radius * cos(M_PI * theta / 180.0));
-       PenPosition[1] = (float)(y + radius * sin(M_PI * theta / 180.0));
-
-       Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-      }
-    else
-      for (theta = start - dt; theta > end; theta -= dt)
-      {
-       PenPosition[0] = (float)(x + radius * cos(M_PI * theta / 180.0));
-       PenPosition[1] = (float)(y + radius * sin(M_PI * theta / 180.0));
-
-       Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-      }
-  }
-
-  PenPosition[0] = (float)(x + radius * cos(M_PI * end / 180.0));
-  PenPosition[1] = (float)(y + radius * sin(M_PI * end / 180.0));
-
-  if (PenDown)
-  {
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-
-    if (!PolygonMode)
-      Outputf("ST\n");
-  }
-}
-
-
-/*
- * 'AR_arc_relative()' - Draw an arc relative to the current pen
- *                       position.
- */
-
-void
-AR_arc_relative(int     num_params,    /* I - Number of parameters */
-                param_t *params)       /* I - Parameters */
-{
-  float x, y,                          /* Transformed coordinates */
-       dx, dy;                         /* Distance from current pen */
-  float start, end,                    /* Start and end angles */
-       theta,                          /* Current angle */
-       dt,                             /* Step between points */
-       radius;                         /* Radius of arc */
-
-
-  if (num_params < 3)
-    return;
-
-  x = Transform[0][0] * params[0].value.number +
-      Transform[0][1] * params[1].value.number +
-      PenPosition[0];
-  y = Transform[1][0] * params[0].value.number +
-      Transform[1][1] * params[1].value.number +
-      PenPosition[1];
-
-  dx = PenPosition[0] - x;
-  dy = PenPosition[1] - y;
-
-  start = (float)(180.0 * atan2(dy, dx) / M_PI);
-  if (start < 0.0)
-    start += 360.0f;
-
-  end    = start + params[2].value.number;
-  radius = (float)hypot(dx, dy);
-
-  if (PenDown)
-  {
-    if (num_params > 3 && params[3].value.number > 0.0)
-      dt = (float)fabs(params[3].value.number);
-    else
-      dt = 5.0;
-
-    if (!PolygonMode)
-      Outputf("MP\n");
-
-    PenValid = 1;
-
-    Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-    if (start < end)
-      for (theta = start + dt; theta < end; theta += dt)
-      {
-       PenPosition[0] = (float)(x + radius * cos(M_PI * theta / 180.0));
-       PenPosition[1] = (float)(y + radius * sin(M_PI * theta / 180.0));
-
-       Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-      }
-    else
-      for (theta = start - dt; theta > end; theta -= dt)
-      {
-       PenPosition[0] = (float)(x + radius * cos(M_PI * theta / 180.0));
-       PenPosition[1] = (float)(y + radius * sin(M_PI * theta / 180.0));
-
-       Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-      }
-  }
-
-  PenPosition[0] = (float)(x + radius * cos(M_PI * end / 180.0));
-  PenPosition[1] = (float)(y + radius * sin(M_PI * end / 180.0));
-
-  if (PenDown)
-  {
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-
-    if (!PolygonMode)
-      Outputf("ST\n");
-  }
-}
-
-
-/*
- * 'AT_arc_absolute3()' - Draw an arc using 3 points.
- *
- * Note:
- *
- *   Currently this only draws two line segments through the
- *   specified points.
- */
-
-void
-AT_arc_absolute3(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  if (num_params < 4)
-    return;
-
-  if (PenDown)
-  {
-    if (!PolygonMode)
-      Outputf("MP\n");
-
-    PenValid = 1;
-
-    Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-    PenPosition[0] = Transform[0][0] * params[0].value.number +
-                     Transform[0][1] * params[1].value.number +
-                     Transform[0][2];
-    PenPosition[1] = Transform[1][0] * params[0].value.number +
-                     Transform[1][1] * params[1].value.number +
-                     Transform[1][2];
-
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-  }
-
-  PenPosition[0] = Transform[0][0] * params[2].value.number +
-                   Transform[0][1] * params[3].value.number +
-                   Transform[0][2];
-  PenPosition[1] = Transform[1][0] * params[2].value.number +
-                   Transform[1][1] * params[3].value.number +
-                   Transform[1][2];
-
-  if (PenDown)
-  {
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-
-    if (!PolygonMode)
-      Outputf("ST\n");
-  }
-}
-
-
-/*
- * 'CI_circle()' - Draw a circle.
- */
-
-void
-CI_circle(int     num_params,  /* I - Number of parameters */
-          param_t *params)     /* I - Parameters */
-{
-  float x, y;                  /* Transformed coordinates */
-  float theta,                 /* Current angle */
-       dt,                     /* Step between points */
-       radius;                 /* Radius of circle */
-
-
-  if (num_params < 1)
-    return;
-
-  if (!PenDown)
-    return;
-
-  radius = params[0].value.number;
-
-  if (num_params > 1)
-    dt = (float)fabs(params[1].value.number);
-  else
-    dt = 5.0;
-
-  if (!PolygonMode)
-    Outputf("MP\n");
-
-  PenValid = 1;
-
-  for (theta = 0.0; theta < 360.0; theta += dt)
-  {
-    x = (float)(PenPosition[0] +
-                radius * cos(M_PI * theta / 180.0) * Transform[0][0] +
-                radius * sin(M_PI * theta / 180.0) * Transform[0][1]);
-    y = (float)(PenPosition[1] +
-                radius * cos(M_PI * theta / 180.0) * Transform[1][0] +
-                radius * sin(M_PI * theta / 180.0) * Transform[1][1]);
-
-    Outputf("%.3f %.3f %s\n", x, y, theta == 0.0 ? "MO" : "LI");
-  }
-
-  Outputf("CP\n");
-  if (!PolygonMode)
-    Outputf("ST\n");
-}
-
-
-/*
- * 'PA_plot_absolute()' - Plot a line using absolute coordinates.
- */
-
-void
-PA_plot_absolute(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  PenMotion = 0;
-
-  if (num_params > 1)
-    plot_points(num_params, params);
-}
-
-
-/*
- * 'PD_pen_down()' - Start drawing.
- */
-
-void
-PD_pen_down(int     num_params,                /* I - Number of parameters */
-            param_t *params)           /* I - Parameters */
-{
-  PenDown = 1;
-
-  if (num_params > 1)
-    plot_points(num_params, params);
-}
-
-
-/*
- * 'PE_polygon_encoded()' - Draw an encoded polyline.
- */
-
-void
-PE_polyline_encoded(int     num_params,        /* I - Number of parameters */
-                    param_t *params)   /* I - Parameters */
-{
-  unsigned char        *s;                     /* Pointer into string */
-  int          temp,                   /* Temporary value */
-               base_bits,              /* Data bits per byte */
-               draw,                   /* Draw or move */
-               abscoords;              /* Use absolute coordinates */
-  double       tx, ty,                 /* Transformed coordinates */
-               x, y,                   /* Raw coordinates */
-               frac_bits;              /* Multiplier for encoded number */
-
-
-  base_bits = 6;
-  frac_bits = 1.0;
-  draw      = PenDown;
-  abscoords = 0;
-
-  if (num_params == 0)
-    return;
-
-  if (!PolygonMode)
-  {
-    Outputf("MP\n");
-    PenValid = 0;
-  }
-
-  if (!PenValid)
-  {
-    Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-    PenValid = 1;
-  }
-
-  for (s = (unsigned char *)params[0].value.string; *s != '\0';)
-    switch (*s)
-    {
-      case '7' :
-          s ++;
-          base_bits = 5;
-
-#ifdef DEBUG
-          fputs("DEBUG:     7-bit\n", stderr);
-#endif /* DEBUG */
-
-          Outputf("%% PE: 7-bit\n");
-          break;
-      case ':' :       /* Select pen */
-          s ++;
-          temp = (int)decode_number(&s, base_bits, 1.0) - 1;
-         if (temp < 0 || temp >= PenCount)
-         {
-           fprintf(stderr, "DEBUG: Bad pen number %d in PE\n", temp + 1);
-           return;
-         }
-
-          PenNumber = temp;
-
-#ifdef DEBUG
-          fprintf(stderr, "DEBUG:     set pen #%d\n", PenNumber + 1);
-#endif /* DEBUG */
-
-          Outputf("%% PE: set pen #%d\n", PenNumber + 1);
-
-         if (PageDirty)
-           printf("%.3f %.3f %.3f %.2f SP\n", Pens[PenNumber].rgb[0],
-                  Pens[PenNumber].rgb[1], Pens[PenNumber].rgb[2],
-                  Pens[PenNumber].width * PenScaling);
-          break;
-      case '<' :       /* Next coords are a move-to */
-          draw = 0;
-          s ++;
-
-#ifdef DEBUG
-          fputs("DEBUG:     moveto\n", stderr);
-#endif /* DEBUG */
-
-         Outputf("%% PE: moveto\n");
-          break;
-      case '>' :       /* Set fractional bits */
-          s ++;
-          temp      = (int)decode_number(&s, base_bits, 1.0);
-          frac_bits = 1.0 / (1 << temp);
-
-#ifdef DEBUG
-          fprintf(stderr, "DEBUG:     set fractional bits %d\n", temp);
-#endif /* DEBUG */
-
-          Outputf("%% PE: set fractional bits %d\n", temp);
-          break;
-      case '=' :       /* Next coords are absolute */
-          s ++;
-          abscoords = 1;
-
-#ifdef DEBUG
-          fputs("DEBUG:     absolute\n", stderr);
-#endif /* DEBUG */
-
-          Outputf("%% PE: absolute\n");
-          break;
-      default :
-          if (*s >= 63)
-          {
-           /*
-            * Coordinate...
-            */
-
-            x = decode_number(&s, base_bits, frac_bits);
-            y = decode_number(&s, base_bits, frac_bits);
-
-#ifdef DEBUG
-            fprintf(stderr, "DEBUG:     coords %.3f %.3f\n", x, y);
-#endif /* DEBUG */
-
-            Outputf("%% PE: coords %.3f %.3f\n", x, y);
-
-            if (abscoords)
-            {
-             tx = Transform[0][0] * x + Transform[0][1] * y +
-                  Transform[0][2];
-             ty = Transform[1][0] * x + Transform[1][1] * y +
-                  Transform[1][2];
-           }
-           else if (x == 0.0 && y == 0.0)
-           {
-             draw = 1;
-             continue;
-           }
-           else
-           {
-             tx = Transform[0][0] * x + Transform[0][1] * y +
-                  PenPosition[0];
-             ty = Transform[1][0] * x + Transform[1][1] * y +
-                  PenPosition[1];
-           }
-
-            if (draw)
-           {
-             if (fabs(PenPosition[0] - tx) > 0.001 ||
-                 fabs(PenPosition[1] - ty) > 0.001)
-               Outputf("%.3f %.3f LI\n", tx, ty);
-            }
-           else
-              Outputf("%.3f %.3f MO\n", tx, ty);
-
-           PenPosition[0] = (float)tx;
-           PenPosition[1] = (float)ty;
-
-           draw           = 1;
-           abscoords      = 0;
-          }
-          else
-          {
-           /*
-            * Junk - ignore...
-            */
-
-            if (*s != '\n' && *s != '\r')
-              fprintf(stderr, "WARNING: ignoring illegal PE char \'%c\'...\n", *s);
-            s ++;
-          }
-          break;
-    }
-
-  if (!PolygonMode)
-    Outputf("ST\n");
-}
-
-
-/*
- * 'PR_plot_relative()' - Plot a line using relative coordinates.
- */
-
-void
-PR_plot_relative(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  PenMotion = 1;
-
-  if (num_params > 1)
-    plot_points(num_params, params);
-}
-
-
-/*
- * 'PU_pen_up()' - Stop drawing.
- */
-
-void
-PU_pen_up(int     num_params,  /* I - Number of parameters */
-          param_t *params)     /* I - Parameters */
-{
-  PenDown = 0;
-
-  if (num_params > 1)
-    plot_points(num_params, params);
-}
-
-
-/*
- * 'RT_arc_relative3()' - Draw an arc through 3 points relative to the
- *                        current pen position.
- *
- * Note:
- *
- *   This currently only draws two line segments through the specified
- *   points.
- */
-
-void
-RT_arc_relative3(int     num_params,   /* I - Number of parameters */
-                 param_t *params)      /* I - Parameters */
-{
-  if (num_params < 4)
-    return;
-
-  if (PenDown)
-  {
-    if (!PolygonMode)
-      Outputf("MP\n");
-
-    PenValid = 1;
-
-    Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-    PenPosition[0] = Transform[0][0] * params[0].value.number +
-                     Transform[0][1] * params[1].value.number +
-                     PenPosition[0];
-    PenPosition[1] = Transform[1][0] * params[0].value.number +
-                     Transform[1][1] * params[1].value.number +
-                     PenPosition[1];
-
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-  }
-
-  PenPosition[0] = Transform[0][0] * params[2].value.number +
-                   Transform[0][1] * params[3].value.number +
-                   PenPosition[0];
-  PenPosition[1] = Transform[1][0] * params[2].value.number +
-                   Transform[1][1] * params[3].value.number +
-                   PenPosition[1];
-
-  if (PenDown)
-  {
-    Outputf("%.3f %.3f LI\n", PenPosition[0], PenPosition[1]);
-
-    if (!PolygonMode)
-      Outputf("ST\n");
-  }
-}
-
-
-/*
- * 'decode_number()' - Decode an encoded number.
- */
-
-static double                          /* O - Value */
-decode_number(unsigned char **s,       /* IO - String to decode */
-              int           base_bits, /* I - Number of data bits per byte */
-             double        frac_bits)  /* I - Multiplier for fractional data */
-{
-  double       temp,           /* Current value */
-               shift;          /* Multiplier */
-  int          sign;           /* Sign of result */
-
-
-  sign = 0;
-
-  if (base_bits == 5)
-  {
-    for (temp = 0.0, shift = frac_bits * 0.5; **s != '\0'; (*s) ++)
-      if (**s >= 95 && **s < 127)
-      {
-        if (sign == 0)
-        {
-          if ((**s - 95) & 1)
-            sign = -1;
-          else
-            sign = 1;
-
-          temp += ((**s - 95) & ~1) * shift;
-        }
-        else
-          temp += (**s - 95) * shift;
-        break;
-      }
-      else if (**s < 63)
-      {
-        if (**s != '\r' && **s != '\n')
-          fprintf(stderr, "DEBUG: Bad PE character 0x%02X!\n", **s);
-
-        continue;
-      }
-      else
-      {
-        if (sign == 0)
-        {
-          if ((**s - 63) & 1)
-            sign = -1;
-          else
-            sign = 1;
-
-          temp += ((**s - 63) & ~1) * shift;
-        }
-        else
-          temp += (**s - 63) * shift;
-
-       shift *= 32.0;
-      }
-  }
-  else
-  {
-    for (temp = 0.0, shift = frac_bits * 0.5; **s != '\0'; (*s) ++)
-      if (**s >= 191 && **s < 255)
-      {
-        if (sign == 0)
-        {
-          if ((**s - 191) & 1)
-            sign = -1;
-          else
-            sign = 1;
-
-          temp += ((**s - 191) & ~1) * shift;
-        }
-        else
-          temp += (**s - 191) * shift;
-        break;
-      }
-      else if (**s < 63)
-      {
-        if (**s != '\r' && **s != '\n')
-          fprintf(stderr, "DEBUG: Bad PE character 0x%02X!\n", **s);
-
-        continue;
-      }
-      else
-      {
-        if (sign == 0)
-        {
-          if ((**s - 63) & 1)
-            sign = -1;
-          else
-            sign = 1;
-
-          temp += ((**s - 63) & ~1) * shift;
-        }
-        else
-          temp += (**s - 63) * shift;
-
-        shift *= 64.0;
-      }
-  }
-
-  (*s) ++;
-
-  return (temp * sign);
-}
-
-
-/*
- * 'plot_points()' - Plot the specified points.
- */
-
-static void
-plot_points(int     num_params,        /* I - Number of parameters */
-            param_t *params)   /* I - Parameters */
-{
-  int  i;                      /* Looping var */
-  float        x, y;                   /* Transformed coordinates */
-
-
-  if (PenDown)
-  {
-    if (!PolygonMode)
-    {
-      Outputf("MP\n");
-      Outputf("%.3f %.3f MO\n", PenPosition[0], PenPosition[1]);
-
-      PenValid = 1;
-    }
-  }
-
-  for (i = 0; i < num_params; i += 2)
-  {
-    if (PenMotion == 0)
-    {
-      x = Transform[0][0] * params[i + 0].value.number +
-          Transform[0][1] * params[i + 1].value.number +
-          Transform[0][2];
-      y = Transform[1][0] * params[i + 0].value.number +
-          Transform[1][1] * params[i + 1].value.number +
-          Transform[1][2];
-    }
-    else
-    {
-      x = Transform[0][0] * params[i + 0].value.number +
-          Transform[0][1] * params[i + 1].value.number +
-          PenPosition[0];
-      y = Transform[1][0] * params[i + 0].value.number +
-          Transform[1][1] * params[i + 1].value.number +
-          PenPosition[1];
-    }
-
-    if (PenDown)
-    {
-      if (PolygonMode && i == 0)
-        Outputf("%.3f %.3f MO\n", x, y);
-      else if (fabs(PenPosition[0] - x) > 0.001 ||
-               fabs(PenPosition[1] - y) > 0.001)
-        Outputf("%.3f %.3f LI\n", x, y);
-    }
-
-    PenPosition[0] = x;
-    PenPosition[1] = y;
-  }
-
-  if (PenDown)
-  {
-    if (!PolygonMode)
-      Outputf("ST\n");
-  }
-}
-
-
-/*
- * End of "$Id$".
- */
diff --git a/filter/hpgltops.h b/filter/hpgltops.h
deleted file mode 100644 (file)
index e262975..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * "$Id$"
- *
- *   HP-GL/2 to PostScript filter for the Common UNIX Printing System (CUPS).
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-#include <math.h>
-
-#ifndef M_PI
-#  define M_PI 3.14159265358979323846
-#endif /* M_PI */
-
-
-/*
- * Maximum number of pens we emulate...
- */
-
-#define MAX_PENS       1024
-
-
-/*
- * Parameter value structure...
- */
-
-typedef struct
-{
-  int  type;
-  union
-  {
-    float      number;
-    char       *string;
-  }    value;
-} param_t;
-
-#define PARAM_ABSOLUTE 0
-#define PARAM_RELATIVE 1
-#define PARAM_STRING   2
-
-
-/*
- * Font information...
- */
-
-typedef struct
-{
-  int  symbol_set,     /* Symbol set */
-       spacing,        /* Spacing (0 = fixed, 1 = proportional) */
-       posture,        /* Posture number */
-       weight,         /* Weight number */
-       typeface;       /* Typeface number */
-  float        pitch,          /* Characters per inch */
-       height,         /* Height/size of font */
-       xpitch;         /* X pitch scaling value */
-  float        x, y;           /* X and Y direction/scaling */
-} font_t;
-
-
-/*
- * Pen information...
- */
-
-typedef struct
-{
-  float        rgb[3];         /* Pen color */
-  float        width;          /* Pen width */
-} pen_t;
-
-
-/*
- * Globals...
- */
-
-#ifdef _HPGL_MAIN_C_
-#  define VAR
-#  define VALUE(x) =x
-#  define VALUE2(x,y) ={x,y}
-#else
-#  define VAR extern
-#  define VALUE(x)
-#  define VALUE2(x,y)
-#endif /* _HPGL_MAIN_C_ */
-
-VAR ppd_file_t *PPD VALUE(NULL);               /* PPD file */
-
-VAR float      P1[2],                          /* Lower-lefthand physical limit */
-               P2[2],                          /* Upper-righthand physical limit */
-               IW1[2],                         /* Window lower-lefthand limit */
-               IW2[2];                         /* Window upper-righthand limit */
-VAR int                Rotation        VALUE(0);       /* Page rotation */
-VAR int                ScalingType     VALUE(-1);      /* Type of scaling (-1 for none) */
-VAR float      Scaling1[2],                    /* Lower-lefthand user limit */
-               Scaling2[2];                    /* Upper-righthand user limit */
-VAR float      Transform[2][3];                /* Transform matrix */
-VAR int                PageRotation    VALUE(0);       /* Page/plot rotation */
-
-VAR char       StringTerminator VALUE('\003'); /* Terminator for labels */
-VAR font_t     StandardFont,                   /* Standard font */
-               AlternateFont;                  /* Alternate font */
-VAR float      PenPosition[2]  VALUE2(0.0f, 0.0f),
-                                               /* Current pen position */
-               PenScaling      VALUE(1.0f),    /* Pen width scaling factor */
-               PenWidth        VALUE(1.0f);    /* Default pen width */
-VAR pen_t      Pens[MAX_PENS];                 /* State of each pen */
-VAR int                PenMotion       VALUE(0),       /* 0 = absolute, 1 = relative */
-               PenValid        VALUE(0),       /* 1 = valid position, 0 = undefined */
-               PenNumber       VALUE(0),       /* Current pen number */
-               PenCount        VALUE(8),       /* Number of pens */
-               PenDown         VALUE(0),       /* 0 = pen up, 1 = pen down */
-               PolygonMode     VALUE(0),       /* Drawing polygons? */
-               PageCount       VALUE(0),       /* Number of pages in plot */
-               PageDirty       VALUE(0),       /* Current page written on? */
-               WidthUnits      VALUE(0);       /* 0 = mm, 1 = proportionate */
-VAR float      PlotSize[2]     VALUE2(2592.0f, 3456.0f);
-                                               /* Plot size */
-VAR int                PlotSizeSet     VALUE(0);       /* Plot size set? */
-VAR int                CharFillMode    VALUE(0),       /* Where to draw labels */
-               CharPen         VALUE(0),       /* Pen to use for labels */
-               CharFont        VALUE(0);       /* Font to use for labels */
-VAR float      CharHeight[2]   VALUE2(11.5f,11.5f);
-                                               /* Size of font for labels */
-VAR int                FitPlot         VALUE(0);       /* 1 = fit to page */
-VAR float      ColorRange[3][2]                /* Range of color values */
-#ifdef _HPGL_MAIN_C_
-               = {
-                 { 0.0, 255.0 },
-                 { 0.0, 255.0 },
-                 { 0.0, 255.0 }
-               }
-#endif /* _HPGL_MAIN_C_ */
-;
-
-VAR int                LineCap         VALUE(0);       /* Line capping */
-VAR int                LineJoin        VALUE(0);       /* Line joining */
-VAR float      MiterLimit      VALUE(3.0f);    /* Miter limit at joints */
-
-
-/*
- * Prototypes...
- */
-
-/* hpgl-input.c */
-extern int     ParseCommand(FILE *fp, char *name, param_t **params);
-extern void    FreeParameters(int num_params, param_t *params);
-
-/* hpgl-config.c */
-extern void    update_transform(void);
-extern void    BP_begin_plot(int num_params, param_t *params);
-extern void    DF_default_values(int num_params, param_t *params);
-extern void    IN_initialize(int num_params, param_t *params);
-extern void    IP_input_absolute(int num_params, param_t *params);
-extern void    IR_input_relative(int num_params, param_t *params);
-extern void    IW_input_window(int num_params, param_t *params);
-extern void    PG_advance_page(int num_params, param_t *params);
-extern void    PS_plot_size(int num_params, param_t *params);
-extern void    RO_rotate(int num_params, param_t *params);
-extern void    RP_replot(int num_params, param_t *params);
-extern void    SC_scale(int num_params, param_t *params);
-
-/* hpgl-vector.c */
-extern void    AA_arc_absolute(int num_params, param_t *params);
-extern void    AR_arc_relative(int num_params, param_t *params);
-extern void    AT_arc_absolute3(int num_params, param_t *params);
-extern void    CI_circle(int num_params, param_t *params);
-extern void    PA_plot_absolute(int num_params, param_t *params);
-extern void    PD_pen_down(int num_params, param_t *params);
-extern void    PE_polyline_encoded(int num_params, param_t *params);
-extern void    PR_plot_relative(int num_params, param_t *params);
-extern void    PU_pen_up(int num_params, param_t *params);
-extern void    RT_arc_relative3(int num_params, param_t *params);
-
-/* hpgl-polygon.c */
-extern void    EA_edge_rect_absolute(int num_params, param_t *params);
-extern void    EP_edge_polygon(int num_params, param_t *params);
-extern void    ER_edge_rect_relative(int num_params, param_t *params);
-extern void    EW_edge_wedge(int num_params, param_t *params);
-extern void    FP_fill_polygon(int num_params, param_t *params);
-extern void    PM_polygon_mode(int num_params, param_t *params);
-extern void    RA_fill_rect_absolute(int num_params, param_t *params);
-extern void    RR_fill_rect_relative(int num_params, param_t *params);
-extern void    WG_fill_wedge(int num_params, param_t *params);
-
-/* hpgl-char.c */
-extern void    define_font(int f);
-extern void    AD_define_alternate(int num_params, param_t *params);
-extern void    CF_character_fill(int num_params, param_t *params);
-extern void    CP_character_plot(int num_params, param_t *params);
-extern void    DI_absolute_direction(int num_params, param_t *params);
-extern void    DR_relative_direction(int num_params, param_t *params);
-extern void    DT_define_label_term(int num_params, param_t *params);
-extern void    DV_define_variable_path(int num_params, param_t *params);
-extern void    ES_extra_space(int num_params, param_t *params);
-extern void    LB_label(int num_params, param_t *params);
-extern void    LO_label_origin(int num_params, param_t *params);
-extern void    SA_select_alternate(int num_params, param_t *params);
-extern void    SD_define_standard(int num_params, param_t *params);
-extern void    SI_absolute_size(int num_params, param_t *params);
-extern void    SL_character_slant(int num_params, param_t *params);
-extern void    SR_relative_size(int num_params, param_t *params);
-extern void    SS_select_standard(int num_params, param_t *params);
-extern void    TD_transparent_data(int num_params, param_t *params);
-
-/* hpgl-attr.c */
-extern void    AC_anchor_corner(int num_params, param_t *params);
-extern void    CR_color_range(int num_params, param_t *params);
-extern void    FT_fill_type(int num_params, param_t *params);
-extern void    LA_line_attributes(int num_params, param_t *params);
-extern void    LT_line_type(int num_params, param_t *params);
-extern void    NP_number_pens(int num_params, param_t *params);
-extern void    PC_pen_color(int num_params, param_t *params);
-extern void    PW_pen_width(int num_params, param_t *params);
-extern void    RF_raster_fill(int num_params, param_t *params);
-extern void    SM_symbol_mode(int num_params, param_t *params);
-extern void    SP_select_pen(int num_params, param_t *params);
-extern void    UL_user_line_type(int num_params, param_t *params);
-extern void    WU_width_units(int num_params, param_t *params);
-
-/* hpgl-prolog.c */
-extern void    OutputProlog(char *title, char *user, int shading);
-extern void    OutputTrailer(void);
-extern int     Outputf(const char *format, ...);
-
-/*
- * End of "$Id$".
- */
index 5a6de86f52d442e8afd3502703ff063e46b60ebd..38ec3f33e0181995583ed587aa9a277c5925e60c 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   ESP Package Manager (EPM) file list for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 # Product information
 %product CUPS
-%copyright 2007-2009 by Apple Inc.
+%copyright 2007-2010 by Apple Inc.
 %vendor Apple Inc.
 #%license LICENSE.txt
 %readme LICENSE.txt
@@ -296,7 +296,6 @@ f 0555 root sys $SERVERBIN/filter/commandtoespcx driver/commandtoescpx
 f 0555 root sys $SERVERBIN/filter/commandtopclx driver/commandtopclx
 f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
 f 0555 root sys $SERVERBIN/filter/gziptoany filter/gziptoany
-f 0555 root sys $SERVERBIN/filter/hpgltops filter/hpgltops
 %if IMGFILTERS
 f 0555 root sys $SERVERBIN/filter/imagetops filter/imagetops
 f 0555 root sys $SERVERBIN/filter/imagetoraster filter/imagetoraster
@@ -503,7 +502,6 @@ d 0755 root sys $DATADIR/charsets -
 f 0444 root sys $DATADIR/charsets/utf-8 data/utf-8
 
 d 0755 root sys $DATADIR/data -
-f 0444 root sys $DATADIR/data/HPGLprolog data/HPGLprolog
 f 0444 root sys $DATADIR/data/psglyphs data/psglyphs
 f 0444 root sys $DATADIR/data/testprint data/testprint