summaryrefslogtreecommitdiff
path: root/Build/source/texk/windvi/squeeze.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/windvi/squeeze.c')
-rw-r--r--Build/source/texk/windvi/squeeze.c195
1 files changed, 0 insertions, 195 deletions
diff --git a/Build/source/texk/windvi/squeeze.c b/Build/source/texk/windvi/squeeze.c
deleted file mode 100644
index 247ce82e9ca..00000000000
--- a/Build/source/texk/windvi/squeeze.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*========================================================================*\
-
-Copyright (c) 1994-1999 Paul Vojta
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-PAUL VOJTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-NOTE:
- This routine is adapted from the squeeze.c that comes with dvips;
- it bears the message:
- This software is Copyright 1988 by Radical Eye Software.
- Used with permission.
-
-\*========================================================================*/
-
-/*
- * This routine squeezes a PostScript file down to its
- * minimum. We parse and then output it.
- * Adapted for xdvi 1/94. Writes a C program that contains the PS file
- * as a constant string.
- */
-#include <stdio.h>
-#include <kpathsea/c-auto.h>
-#include <kpathsea/c-memstr.h>
-#define LINELENGTH (72)
-#define BUFLENGTH (1000)
-#undef putchar
-#define putchar(a) (void)putc(a, out) ;
-FILE *in, *out ;
-static int linepos = 0 ;
-static int lastspecial = 1 ;
-static int stringlen = 0;
-#ifdef WIN32
-#include <stdlib.h>
-#include <string.h>
-#else
-extern int strlen() ;
-extern void exit() ;
-#endif
-/*
- * This next routine writes out a `special' character. In this case,
- * we simply put it out, since any special character terminates the
- * preceding token.
- */
-void specialout(c)
-char c ;
-{
- if (linepos + 1 > LINELENGTH) {
- (void)fputs("\\n\\\n", out);
- stringlen += linepos + 1;
- linepos = 0 ;
- }
- putchar(c) ;
- linepos++ ;
- lastspecial = 1 ;
-}
-void strout(s)
-char *s ;
-{
- if (linepos + strlen(s) > LINELENGTH) {
- (void)fputs("\\n\\\n", out);
- stringlen += linepos + 1;
- linepos = 0 ;
- }
- linepos += strlen(s) ;
- while (*s != 0)
- putchar(*s++) ;
- lastspecial = 1 ;
-}
-void cmdout(s)
-char *s ;
-{
- int l ;
-
- l = strlen(s) ;
- if (linepos + l + 1 > LINELENGTH) {
- (void)fputs("\\n\\\n", out);
- stringlen += linepos + 1;
- linepos = 0 ;
- lastspecial = 1 ;
- }
- if (! lastspecial) {
- putchar(' ') ;
- linepos++ ;
- }
- while (*s != 0) {
- putchar(*s++) ;
- }
- linepos += l ;
- lastspecial = 0 ;
-}
-char buf[BUFLENGTH] ;
-#ifndef VMS
-int
-#endif
-main(argc, argv)
-int argc ;
-char *argv[] ;
-{
- int c ;
- char *b ;
- char seeking ;
-
- if (argc > 3 || (in=(argc < 2 ? stdin : fopen(argv[1], "r")))==NULL ||
- (out=(argc < 3 ? stdout : fopen(argv[2], "w")))==NULL) {
- (void)fprintf(stderr, "Usage: squeeze [infile [outfile]]\n") ;
- exit(1) ;
- }
- (void)fputs("/*\n\
- * DO NOT EDIT THIS FILE!\n\
- * It was created by squeeze.c from another file (see the Makefile).\n\
- */\n\n\
-#ifndef _Xconst\n\
-#if __STDC__\n\
-#define _Xconst const\n\
-#else\n\
-#define _Xconst\n\
-#endif\n\
-#endif\n\n\
-_Xconst char psheader[] = \"\\\n", out);
- while (1) {
- c = getc(in) ;
- if (c==EOF)
- break ;
- if (c=='%') {
- while ((c=getc(in))!='\n') ;
- }
- if (c <= ' ')
- continue ;
- switch (c) {
-case '{' :
-case '}' :
-case '[' :
-case ']' :
- specialout(c) ;
- break ;
-case '<' :
-case '(' :
- if (c=='(')
- seeking = ')' ;
- else
- seeking = '>' ;
- b = buf ;
- *b++ = c ;
- do {
- c = getc(in) ;
- if (b > buf + BUFLENGTH-2) {
- (void)fprintf(stderr, "Overran buffer seeking %c", seeking) ;
- exit(1) ;
- }
- *b++ = c ;
- if (c=='\\')
- *b++ = getc(in) ;
- } while (c != seeking) ;
- *b++ = 0 ;
- strout(buf) ;
- break ;
-default:
- b = buf ;
- while ((c>='A'&&c<='Z')||(c>='a'&&c<='z')||
- (c>='0'&&c<='9')||(c=='/')||(c=='@')||
- (c=='!')||(c=='"')||(c=='&')||(c=='*')||(c==':')||
- (c==',')||(c==';')||(c=='?')||(c=='^')||(c=='~')||
- (c=='-')||(c=='.')||(c=='#')||(c=='|')||(c=='_')||
- (c=='=')||(c=='$')||(c=='+')) {
- *b++ = c ;
- c = getc(in) ;
- }
- if (b == buf) {
- (void)fprintf(stderr, "Oops! Missed a case: %c.\n", c) ;
- exit(1) ;
- }
- *b++ = 0 ;
- (void)ungetc(c, in) ;
- cmdout(buf) ;
- }
- }
- (void)fprintf(out, "\\n\";\n\n\
-int\tpsheaderlen\t= %d;\n", stringlen + linepos + 1);
- return 0;
-}