PD plot(4) librarys (and hercules driver for interactive 386) part 5 of 9
Roland van Hout
hot at integow.uucp
Sun Oct 28 14:57:12 AEST 1990
#!/bin/sh
# This is part 05 of a multipart archive
if touch 2>&1 | fgrep '[-amc]' > /dev/null
then TOUCH=touch
else TOUCH=true
fi
# ============= libplot/lp/move.c ==============
echo "x - extracting libplot/lp/move.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/move.c &&
X/*
X * do_px.c
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X */
X
X#include <stdio.h>
X#include "plotlp.h"
X#ifdef TESTVER
X#include "dbgvars.h"
X#endif
X
Xmove(x,y)
Xint x,y;
X{
X int xo,yo;
X float x_coor,
X y_coor;
X POINT icoor,
X t;
X pen_up = TRUE;
X plot_abs = TRUE;
X x_coor=x*gxscrunch;y_coor=y*gyscrunch;
X x_coor += offx; y_coor += offy;
X if (scaling) {
X icoor.x = (int) (x_coor * x_scaler);
X icoor.y = (int) (y_coor * y_scaler);
X if (icoor.x < 0)
X icoor.x -= 1;
X if (icoor.y < 0)
X icoor.y -= 1;
X } else {
X icoor.x = (int) x_coor;
X icoor.y = (int) y_coor;
X }
X
X current = icoor;
X
X if (symbol_mode) put_symbol(current);
X
X}
X
Xcont(x,y)
Xint x,y;
X{
X int xo,yo;
X float x_coor,
X y_coor;
X POINT icoor,
X t;
X x_coor=x*gxscrunch;y_coor=y*gyscrunch;
X plot_abs = TRUE;
X pen_up = FALSE;
X x_coor += offx; y_coor += offy;
X
X if (scaling) {
X icoor.x = (int) (x_coor * x_scaler);
X icoor.y = (int) (y_coor * y_scaler);
X if (icoor.x < 0)
X icoor.x -= 1;
X if (icoor.y < 0)
X icoor.y -= 1;
X } else {
X icoor.x = (int) x_coor;
X icoor.y = (int) y_coor;
X }
X
X put_seg(current, icoor);
X
X if (plot_abs) current = icoor;
X
X if (symbol_mode) put_symbol(current);
X
X}
X
X/*
Xdo_Px(selector)
X int selector;
X{
X float x_coor,
X y_coor;
X POINT icoor,
X t;
X
X#ifdef TESTVER
X int xwas_on; /* for debugging
X
X /* turn debug2x off, if necessary, for the duration of do_Px()
X if (debug2x) {
X xwas_on = TRUE;
X debug2x = FALSE;
X } else {
X xwas_on = FALSE;
X }
X#endif
X
X/* plot_abs = TRUE; /* [hot at mh.nl]
X
X switch (selector) {
X case PA:
X plot_abs = TRUE;
X break;
X case PR:
X plot_abs = FALSE;
X break;
X case PU:
X pen_up = TRUE;
X break;
X case PD:
X pen_up = FALSE;
X break;
X default:
X fprintf(stderr, "Bad selector for Px %d\n", selector);
X exit(4);
X }
X
X if ((c = getchar()) == ';') {
X#ifdef TESTVER /* reset debug2x if necessary
X if (xwas_on) {
X debug2x = TRUE;
X }
X#endif
X return;
X } else {
X ungetc(c, stdin);
X }
X#ifdef TESTVER
X fprintf(errfp,"do_Px(coordinates):%f,%f\n", x_coor, y_coor);
X fflush(errfp);
X#endif
X
X for (;;) {
X if (scanf("%f,%f", &x_coor, &y_coor) != 2) {
X fprintf(stderr, "Odd number of coordinate\n");
X exit(4);
X }
X if (scaling) {
X icoor.x = (int) (x_coor * x_scaler);
X icoor.y = (int) (y_coor * y_scaler);
X if (icoor.x < 0)
X icoor.x -= 1;
X if (icoor.y < 0)
X icoor.y -= 1;
X } else {
X icoor.x = (int) x_coor;
X icoor.y = (int) y_coor;
X }
X
X if (!pen_up) {
X if (plot_abs) {
X put_seg(current, icoor);
X } else {
X t.x = current.x + icoor.x;
X t.y = current.y + icoor.y;
X put_seg(current, t);
X*/
SHAR_EOF
$TOUCH -am 1011090488 libplot/lp/move.c &&
chmod 0644 libplot/lp/move.c ||
echo "restore of libplot/lp/move.c failed"
set `wc -c libplot/lp/move.c`;Wc_c=$1
if test "$Wc_c" != "2718"; then
echo original size 2718, current size $Wc_c
fi
# ============= libplot/lp/openpl.c ==============
echo "x - extracting libplot/lp/openpl.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/openpl.c &&
X/*
X * do_df.c
X *
X * copyright (c) 1988 environmental defense fund, inc.
X */
X
X#include <stdio.h>
X#include "plotlp.h"
X
X/* global variables */
Xshort int
X plot_abs,
X line_type,
X symbol_mode,
X stand_char_set,
X alt_char_set,
X stand_set_sel,
X set_standard[NUM_CHAR][CHAR_ELEM],
X set_alternate[NUM_CHAR][CHAR_ELEM],
X char_slant,
X scaling,
X label_terminator,
X chord_angle,
X fill_type,
X fill_spacing,
X fill_angle,
X pen_up;
Xint printer; /* printer model */
Xchar symbol_char;
Xshort int first_fill;
XPOINT current;
XPOINT P1,
X P2;
XPOINT LL,
X UR;
Xfloat x_scaler,
X y_scaler;
Xfloat line_pattern_length;
Xfloat char_width,
X char_height;
Xfloat pen_thickness;
Xchar c;
X
Xopenpl()
X{
X FILE *charset;
X int i,
X j;
X
X to_printer = TRUE;
X if (printer == 0 || printer == EPSON) printer = EPSON;
X else if (printer == 0 || printer == IBM_PRO) printer = IBM_PRO;
X else if (printer == 0 || printer == LASERLOW) printer = LASERLOW;
X else if (printer == 0 || printer == LASERMED) printer = LASERMED;
X else if (printer == 0 || printer == LASERHIGH) printer = LASERHIGH;
X
X
X plot_abs = TRUE;
X line_type = SOLID;
X scaling = FALSE;
X label_terminator = 3;
X chord_angle = 5;
X symbol_mode = FALSE;
X stand_char_set = 0;
X alt_char_set = 0;
X stand_set_sel = TRUE;
X if ((charset = fopen(CHARSET, "r")) == NULL) {
X perror(CHARSET);
X exit(2);
X }
X for (i = 0; i < NUM_CHAR; i++) {
X for (j = 0; j < CHAR_ELEM; j++) {
X fscanf(charset, "%hd,", &set_standard[i][j]);
X set_alternate[i][j] = set_standard[i][j];
X }
X fscanf(charset, " /* %c */\n", &c);
X }
X
X if (fclose(charset) < 0) {
X perror(CHARSET);
X exit(1);
X }
X char_width = 0.187;
X char_height = 0.269;
X char_slant = 0;
X fill_type = 1;
X fill_spacing = 10;
X fill_angle = 0;
X pen_thickness = 0.3; /* In millimeters */
X pen_up = TRUE;
X LL.y = LL.x = 0;
X UR.x = 10365;
X UR.y = 7962;
X init_map();
X}
X
SHAR_EOF
$TOUCH -am 0213135389 libplot/lp/openpl.c &&
chmod 0644 libplot/lp/openpl.c ||
echo "restore of libplot/lp/openpl.c failed"
set `wc -c libplot/lp/openpl.c`;Wc_c=$1
if test "$Wc_c" != "2082"; then
echo original size 2082, current size $Wc_c
fi
# ============= libplot/lp/plot_cha.c ==============
echo "x - extracting libplot/lp/plot_cha.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/plot_cha.c &&
X/*
X * plot_cha.c
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X */
X
X#include <stdio.h>
X#include "const.h"
X#include "vars.h"
X
X#ifdef TESTVER
X#include "dbgvars.h"
X#include <ctype.h> /* for isprint() -- test version */
X#endif
X
X/* 1020.4081 plotter units/in * .25 char/grid * .3937 in/cm */
X#define SCALE_W 100.43366
X
X/* 1020.4081 plotter units/in * .0625 char/grid * .3937 in/cm */
X#define SCALE_H 50.2116832
X
Xfloat scale_w,
X scale_h;
X
XPOINT
Xplot_char(left_corner, charac, set)
X POINT left_corner;
X char charac;
X short int set[NUM_CHAR][CHAR_ELEM];
X{
X int i;
X short int it;
X int index;
X POINT here,
X there;
X float offset;
X
X#ifdef TESTVER
X int was_on;
X
X /* turn debug2 off, if necessary, for the duration of plot_char() */
X if (debug2) {
X was_on = TRUE;
X debug2 = FALSE;
X } else {
X was_on = FALSE;
X }
X
X if (debug6) {
X if (isprint(charac)) {
X fprintf(errfp, "plot_char: %c\n", charac);
X } else {
X fprintf(errfp, "plot_char unprintable: %d\n", charac);
X }
X }
X#endif
X
X i = 0;
X here = left_corner;
X pen_up = TRUE;
X scale_w = char_width * SCALE_W;
X scale_h = char_height * SCALE_H;
X if (charac < '!') {
X if (charac != ' ') {
X fprintf(stderr, "Non printing char %x\n", charac);
X }
X here.x = left_corner.x + (int) (6 * scale_w + 0.5);
X#ifdef TESTVER
X /* turn debug2 back on if necessary */
X if (was_on) {
X debug2 = TRUE;
X }
X#endif
X return (here);
X } else
X index = charac - '!';
X while ((it = set[index][i++]) != -200) {
X if (it > 99 || it < -99) {
X if (it > 0)
X pen_up = FALSE;
X else
X pen_up = TRUE;
X } else {
X offset = it * scale_w;
X if (offset < 0.0)
X offset -= 0.5;
X else
X offset += 0.5;
X there.x = here.x + (int) offset;
X offset = set[index][i++] * scale_h;
X if (offset < 0.0)
X offset -= 0.5;
X else
X offset += 0.5;
X there.y = here.y + (int) offset;
X if (!pen_up) {
X put_seg(here, there);
X }
X here = there;
X }
X }
X
X#ifdef TESTVER
X /* turn debug2 back on if necessary */
X if (was_on) {
X debug2 = TRUE;
X }
X#endif
X there.x = left_corner.x + (int) (6 * scale_w + 0.5);
X there.y = left_corner.y;
X return (there);
X}
X
X
Xput_symbol(center)
X POINT center;
X{
X POINT ll;
X float horz_offset = 2.0;
X float vert_offset;
X
X switch (symbol_char) {
X case 'o':
X case 'x':
X vert_offset = 2.5;
X break;
X case '.':
X vert_offset = 0.5;
X horz_offset = 1.5;
X break;
X default:
X vert_offset = 4.0;
X break;
X }
X ll.x = center.x - char_width * horz_offset * SCALE_W;
X ll.y = center.y - char_height * vert_offset * SCALE_H;
X if (stand_set_sel) {
X ll = plot_char(ll, symbol_char, set_standard);
X } else {
X ll = plot_char(ll, symbol_char, set_alternate);
X }
X}
SHAR_EOF
$TOUCH -am 1007125888 libplot/lp/plot_cha.c &&
chmod 0644 libplot/lp/plot_cha.c ||
echo "restore of libplot/lp/plot_cha.c failed"
set `wc -c libplot/lp/plot_cha.c`;Wc_c=$1
if test "$Wc_c" != "2788"; then
echo original size 2788, current size $Wc_c
fi
# ============= libplot/lp/plotlp.h ==============
echo "x - extracting libplot/lp/plotlp.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/plotlp.h &&
X/*
X include file to use the epson,ibm-proprinter and the laserjet
X with the plot(4) graphic library
X the switch is done via a variable printer this one must be defined
X in your main program
X these variables must be defined in the main-part of your programm
X extern int no_fill;
X int to_printer; EPSON || IBM_PRO || LASERLOW || LASERMED || LASERHIGH
X
X*/
X extern int to_printer;
X/*
X * const.h
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X */
X
Xtypedef struct {
X int x,
X y;
X} POINT;
X
X#define ESC 27
X
X#define TRUE 1
X#define FALSE 0
X
X/* LINE TYPES */
X#define DOTS 0
X#define SHORT_DASH 1
X#define BROKN_1 2
X#define BROKN_2 3
X#define BROKN_DOT 4
X#define BROKN_DASH 5
X#define BROKN_2DASH 6
X#define SOLID 7
X
X/* FILL TYPES: values assigned to var fill_type */
X#define BI_SOLID 1
X#define UNI_SOLID 2
X#define PARALLEL 3
X#define CROSS_HATCH 4
X
X/* Charater set defines */
X#define CHAR_ELEM 28
X#define NUM_CHAR 94
X
X/* Printer model: values of global var 'printer' */
X#define EPSON 1 /* Epson LQ 1500 */
X#define LASERLOW 2 /* HP LaserJet Plus low sized 5" x 6" */
X#define IBM_PRO 3 /* IBM Proprinter */
X#define LASERMED 4 /* HP LaserJet Plus med sized 8" x 6" */
X#define LASERHIGH 5 /* HP LaserJet Plus extra large 8" x 11"*/
X
X#define BITMAPSIZE 935000
X/*
X * vars.h
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X *
X * global variables
X */
X
Xextern short int
X plot_abs,
X line_type,
X symbol_mode,
X stand_char_set,
X alt_char_set,
X stand_set_sel,
X set_standard[][CHAR_ELEM],
X set_alternate[][CHAR_ELEM],
X char_slant,
X scaling,
X label_terminator,
X chord_angle,
X fill_type,
X fill_spacing,
X fill_angle,
X pen_up;
Xextern int printer; /* printer model: EPSON or LASER */
Xextern char symbol_char;
Xextern short int first_fill;
Xextern POINT current;
Xextern POINT P1,
X P2;
Xextern POINT LL,
X UR;
Xextern float x_scaler,
X y_scaler;
Xextern float gxscrunch,gyscrunch;
Xextern float char_width,
X char_height;
Xextern float line_pattern_length;
Xextern float pen_thickness;
Xextern char c;
Xextern int offx,offy;
SHAR_EOF
$TOUCH -am 0213125889 libplot/lp/plotlp.h &&
chmod 0644 libplot/lp/plotlp.h ||
echo "restore of libplot/lp/plotlp.h failed"
set `wc -c libplot/lp/plotlp.h`;Wc_c=$1
if test "$Wc_c" != "2173"; then
echo original size 2173, current size $Wc_c
fi
# ============= libplot/lp/plotlpus.h ==============
echo "x - extracting libplot/lp/plotlpus.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/plotlpus.h &&
X/*
X include file to use the epson,ibm-proprinter and the laserjet
X with the plot(4) graphic library
X the switch is done via a variable printer this one must be defined
X in your main program
X these variables must be defined in the main-part of your programm
X extern int no_fill;
X int to_printer; EPSON || IBM_PRO || LASERLOW || LASERMED || LASERHIGH
X
X*/
X/*
X * const.h
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X */
X
X#define TRUE 1
X#define FALSE 0
X
X/* Printer model: values of global var 'printer' */
X#define EPSON 1 /* Epson LQ 1500 */
X#define LASERLOW 2 /* HP LaserJet Plus low sized 5" x 6" */
X#define IBM_PRO 3 /* IBM Proprinter */
X#define LASERMED 4 /* HP LaserJet Plus med sized 8" x 6" */
X#define LASERHIGH 5 /* HP LaserJet Plus extra large 8" x 11"*/
X
X int offx,offy;
X int to_printer=TRUE;
X int printer=LASERLOW;
X float gxscrunch,gyscrunch;
X
X
SHAR_EOF
$TOUCH -am 1010213588 libplot/lp/plotlpus.h &&
chmod 0644 libplot/lp/plotlpus.h ||
echo "restore of libplot/lp/plotlpus.h failed"
set `wc -c libplot/lp/plotlpus.h`;Wc_c=$1
if test "$Wc_c" != "885"; then
echo original size 885, current size $Wc_c
fi
# ============= libplot/lp/set_dbgs.c ==============
echo "x - extracting libplot/lp/set_dbgs.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/set_dbgs.c &&
X/*
X * set_dbgs.c
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X */
X
X#include <stdio.h>
X
XFILE *errfp;
Xint debug1c,
X debug1f,
X debug2,
X debug2x,
X debug3,
X debug4,
X debug5,
X debug6,
X debug7,
X debug8,
X debug9;
X
Xset_debugs()
X{
X#if 0
X errfp = fopen(TTY, "w");
X#else
X errfp = fopen("plot.err", "w");
X#endif
X
X fprintf(errfp, "- - - plot.err: plot program error file - - -\n\n");
X
X /* to console: transfer control to fns */
X debug1c = 1;
X
X /* to plot.err: transfer control to fns */
X debug1f = 1;
X
X /*
X * to plot.err: scaled endpts of segment in put_seg() does NOT include
X * endpoints plotted during fill routines
X */
X debug2 = 1;
X
X /*
X * to plot.err: scaled endpts of segment in put_seg(), EXTENSION --
X * endpoints plotted during fill routines
X */
X debug2x = 1;
X
X /* to plot.err: the points sent to hatch() by do_WG, do_Rx */
X debug3 = 0;
X
X /* to plot.err: info from fill routines */
X debug4 = 0;
X
X /* to plot.err: bytes sent to printer from dump_map() */
X debug5 = 0;
X
X /* to plot.err: character being processed by plot_char() */
X debug6 = 0;
X
X /* to plot.err: detailed info from get_chgs() */
X debug7 = 0;
X
X /* to plot.err: NOT USED */
X debug8 = 0;
X
X /* to plot.err: info from fix_fill */
X debug9 = 0;
X}
SHAR_EOF
$TOUCH -am 1007125888 libplot/lp/set_dbgs.c &&
chmod 0644 libplot/lp/set_dbgs.c ||
echo "restore of libplot/lp/set_dbgs.c failed"
set `wc -c libplot/lp/set_dbgs.c`;Wc_c=$1
if test "$Wc_c" != "1389"; then
echo original size 1389, current size $Wc_c
fi
# ============= libplot/lp/vars.h ==============
echo "x - extracting libplot/lp/vars.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/vars.h &&
X/*
X * vars.h
X *
X * Copyright (c) 1988 Environmental Defense Fund, Inc.
X *
X * global variables
X */
X
Xextern short int
X plot_abs,
X line_type,
X symbol_mode,
X stand_char_set,
X alt_char_set,
X stand_set_sel,
X set_standard[][CHAR_ELEM],
X set_alternate[][CHAR_ELEM],
X char_slant,
X scaling,
X label_terminator,
X chord_angle,
X fill_type,
X fill_spacing,
X fill_angle,
X pen_up;
Xextern int printer; /* printer model: EPSON or LASER */
Xextern char symbol_char;
Xextern short int first_fill;
Xextern POINT current;
Xextern POINT P1,
X P2;
Xextern POINT LL,
X UR;
Xextern float x_scaler,
X y_scaler;
Xextern float char_width,
X char_height;
Xextern float line_pattern_length;
Xextern float pen_thickness;
Xextern char c;
SHAR_EOF
$TOUCH -am 0213140589 libplot/lp/vars.h &&
chmod 0644 libplot/lp/vars.h ||
echo "restore of libplot/lp/vars.h failed"
set `wc -c libplot/lp/vars.h`;Wc_c=$1
if test "$Wc_c" != "830"; then
echo original size 830, current size $Wc_c
fi
# ============= libplot/lp/README ==============
echo "x - extracting libplot/lp/README (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/README &&
XHPGLPLOT and HPGLFIX
X
XVersion 3.0
X
XHpglplot is a filter that translates from Hewlett-Packard Graphics
XLanguage (used in HP plotters) to one of three popular printers.
XHpglfix is a filter that corrects some problems in the HPGL codes
Xoutput by the 20/20 spreadsheet program.
X
XCopyright (c) 1988 Environmental Defense Fund, Inc.
X
XPermission is granted to copy and distribute these programs freely,
Xprovided that you do not deprive others of the right to do the same,
Xand that the copyright notices and this notice are not removed. We
Xrequest a donation to help cover the costs of development. Suggested
Xdonations are $35 for a single user, and $100 for multi-user
Xenvironments; however, donations of any size are welcome.
X
XSend donations to:
X
X Dan Kirshner
X Environmental Defense Fund
X 5655 College Ave, Suite 304
X Oakland, CA 94618
X (415) 658-8008
X
XEmail about the programs should be addressed to David MacKenzie at
Xedf at rocky2.rockefeller.edu (...rutgers!cmcl2!rocky2!edf).
X
XThe Environmental Defense Fund (EDF) is a private, non-profit
Xenvironmental education and advocacy organization, incorporated in
X1967, with over 60,000 members and six offices nationwide. EDF's staff
Xincludes attorneys, scientists, and economists who seek solutions to a
Xbroad range of environmental and public health problems.
X
XIf you would like more information about EDF, or information on
Xbecoming a member, write or call our national headquarters at:
X
XEnvironmental Defense Fund
X257 Park Avenue South
XNew York, NY 01110
X(212) 505-2100
SHAR_EOF
$TOUCH -am 1014205990 libplot/lp/README &&
chmod 0644 libplot/lp/README ||
echo "restore of libplot/lp/README failed"
set `wc -c libplot/lp/README`;Wc_c=$1
if test "$Wc_c" != "1519"; then
echo original size 1519, current size $Wc_c
fi
# ============= libplot/lp/README2 ==============
echo "x - extracting libplot/lp/README2 (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/lp/README2 &&
XThanx to EDF for letting me post this since it's derived from
Xa package they posted in 1988, Copyright Environmental Defense
XFund.
XYour HP Laser must have enough memory for the graphic image if
Xyou want every plot to come out right.
XThe output is optimized so your output files are as small as
Xpossible. But if there is a graph with very many vectors in it
Xthe standard memory in the HP is not sufficient!
X
Xregards
XRoland van Hout,
XI changed and added some pieces here but I claim no rights on
Xthem.
XIf you have comments or notes or ideas you can mail me at:
Xhot at integow.uucp (uunet!mcsun!hp4nl!integow!hot) or
Xhout at hot.mug ..!plains!minixug!hot!hout
SHAR_EOF
$TOUCH -am 1026183190 libplot/lp/README2 &&
chmod 0644 libplot/lp/README2 ||
echo "restore of libplot/lp/README2 failed"
set `wc -c libplot/lp/README2`;Wc_c=$1
if test "$Wc_c" != "652"; then
echo original size 652, current size $Wc_c
fi
# ============= libplot/sun/Makefile ==============
if test ! -d 'libplot/sun'; then
echo "x - creating directory libplot/sun"
mkdir 'libplot/sun'
fi
echo "x - extracting libplot/sun/Makefile (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/sun/Makefile &&
X# The names of the installed binary and manual page.
X# Feel free to change.
XBINARY = /usr/local/sunplot
XMANUAL = /usr/man/manl/sunplot.l
X
XCFLAGS = -O
X
Xsunplot: sunplot.o
X $(CC) -o sunplot sunplot.o -lsuntool -lsunwindow -lpixrect
X
Xinstall: sunplot
X cp sunplot $(BINARY)
X cp sunplot.1 $(MANUAL)
X
Xclean:
X rm -f sunplot *.o core make.out
X
Xsunplot.o: sunplot.icon
SHAR_EOF
$TOUCH -am 1225041788 libplot/sun/Makefile &&
chmod 0644 libplot/sun/Makefile ||
echo "restore of libplot/sun/Makefile failed"
set `wc -c libplot/sun/Makefile`;Wc_c=$1
if test "$Wc_c" != "364"; then
echo original size 364, current size $Wc_c
fi
# ============= libplot/sun/README ==============
echo "x - extracting libplot/sun/README (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/sun/README &&
XThis program was written on a Sun 3/50 running SunOS 3.2.
XIt also compiles and runs on a Sun 3/50 running SunOS 3.4.
X
XTo make simply type ``make''.
XTo install, check the Makefile to see if all the names are correct. Then
Xtype ``make install''.
X
XIf you find any bugs or if you have any suggestions or improvements, please
Xdrop me a note at the address below.
X
XYou might try the command
X echo 0 0 1 1 2 4 3 9 4 16 | spline | graph | sunplot
Xafter which a window pops up. Then click the ``Next Page'' button.
X
XSjoerd Mullender
XDept. of Mathematics and Computer Science
XFree University
XAmsterdam
XNetherlands
X
XEmail: sjoerd at cs.vu.nl
XIf this doesn't work, try ...!seismo!mcvax!cs.vu.nl!sjoerd or
X...!seismo!mcvax!vu44!sjoerd or sjoerd%cs.vu.nl at seismo.css.gov.
SHAR_EOF
$TOUCH -am 1225041788 libplot/sun/README &&
chmod 0644 libplot/sun/README ||
echo "restore of libplot/sun/README failed"
set `wc -c libplot/sun/README`;Wc_c=$1
if test "$Wc_c" != "756"; then
echo original size 756, current size $Wc_c
fi
# ============= libplot/sun/sunplot.1 ==============
echo "x - extracting libplot/sun/sunplot.1 (Text)"
sed 's/^X//' << 'SHAR_EOF' > libplot/sun/sunplot.1 &&
X.TH SUNPLOT 1
X.SH NAME
Xsunplot \- plotter backend for Sun workstation
X.SH SYNOPSIS
X.B sunplot
X[
X.B \-c
X.I canvas_size
X] [
X.B \-h
X.I horizontal_size
X] [
X.B \-v
X.I vertical_size
X] [
X.B \-f
X.I font_name
X] [
X.B \-r
X] [
X.B \-x
X] [
X.B \-y
X] [
X.B \-l
X] [
X.B \-s
X]
X.SH DESCRIPTION
X.I Sunplot
Xreads UNIX plotter code (see
X.IR plot (5))
Xfrom standard input and displays it in a Sun window.
XThe window consists of two subwindows.
XAt the top is a control panel with a number of buttons and below it is
Xa window with a canvas on which
X.I sunplot
Xdraws and a horizontal and a vertical scrollbar with which you can select
Xwhich part of the canvas you want to see in the window.
XThe buttons in the control panel have the following functions:
X.TP
X.B "Next Page"
XDraw the next page.
XPages are separated by an
X.B e
X(the
X.I erase
Xfunction in the
X.IR plot (3X)
Xlibrary).
XWhile
X.I sunplot
Xis still reading a page this button is not displayed.
X.TP
X.B Redraw
XRedraw the current page.
X.TP
X.B Zoom
XZoom the current page.
X.I Sunplot
Xfinds the most extreme x- and y-coordinates in the current page and uses
Xthose values in stead of the values given by the
X.B s
Xcommand (the
X.I space
Xfunction) for scaling.
X.TP
X.B Options
X.I Sunplot
Xdisplays a window where you can set certain options.
XSee the description below.
X.TP
X.B Dump
X.I Sunplot
Xdisplays a window with three items.
XYou should type a file name after the string
X.B Dump to file:
Xand then press the
X.B Done
Xbutton.
X.I Sunplot
Xwill then dump the plot into the named file in the format chosen with the
X.B Dump format
Xitem.
XThe dump can be in either
X.IR rasterfile (5)
Xor
X.I icon
Xformat.
XIf the file name is empty,
X.I sunplot
Xwill do nothing.
X.TP
X.B "Fit Screen"
XResize the window so that the canvas fits.
X.TP
X.B Quit
XExit
X.IR sunplot .
X.SH OPTIONS
XWhen the
X.B Options
Xbutton is pressed
X.I sunplot
Xwill display a window with the following items.
X.TP
X.B Done
XDone setting options.
X.I Sunplot
Xwill automatically do a redraw of the page with the new settings.
X.TP
X.B Rotate
XRotate the plot by 90 degrees counter-clockwise.
X.TP
X.B "X Mirror"
XMirror the plot in the x-axis.
X.TP
X.B "Y Mirror"
XMirror the plot in the y-axis.
X.TP
X.B Label
XIf on, display labels.
X.TP
X.B Square
XIf on, the canvas is square, otherwise you can set the horizontal and vertical
Xsizes of the canvas separately.
X.TP
X.B Reverse
XDisplay the canvas in reverse video.
X.TP
X.B "Font name"
XThe name of the font to be used for the labels.
XIf the name is not absolute it is taken to be relative to the system's fonts
Xdirectory /usr/lib/fonts/fixedwidthfonts.
XIf no name is given or the named file does not contain a font, the default
Xfont is used.
X.TP
X.B "Canvas size"
XThe size of the canvas.
XThe size of the canvas is measured in pixels.
XThis is only displayed when the
X.B Square
Xtoggle is on.
X.TP
X.B "Horizontal size"
XThe horizontal size of the canvas.
XThis is only displayed when the
X.B Square
Xtoggle is off.
X.TP
X.B "Vertical size"
XThe vertical size of the canvas.
XThis is only displayed when the
X.B Square
Xtoggle is off.
X.PP
XThe following command line options are recognized.
X.IP "\f3\-c\fP \f2canvas_size\fP"
XSet the canvas size.
X.I Canvas_size
Xmust be between 64 and 2048.
XThis also switches on the
X.B Square
Xtoggle.
X.IP "\f3\-h\fP \f2horizontal_size\fP"
XSet the horizontal size.
X.I Horizontal_size
Xmust be between 64 and 2048.
XThis also switches off the
X.B Square
Xtoggle.
X.IP "\f3\-v\fP \f2vertical_size\fP"
XSet the vertical size.
X.I Vertical_size
Xmust be between 64 and 2048.
XThis also switches off the
X.B Square
Xtoggle.
X.IP "\f3\-f\fP \f2font_name\fP"
XSet the font to be used for labels.
XThis is independent from the font that is used for the text in the control
Xpanel and the options and dump windows.
XA name not starting with ``/'' is taken to be relative to the system's font
Xdirectory /usr/lib/fonts/fixedwidthfonts.
X.IP \f3\-r\fP
XRotate the plot by 90 degrees counter-clockwise.
X.IP \f3\-x\fP
XMirror the plot in the x-axis.
X.IP \f3\-y\fP
XMirror the plot in the y-axis.
X.IP \f3\-l\fP
XToggle labeling.
X.IP \f3\-s\fP
XToggle square mode.
X.PP
XThe
X.BR \-r ,
X.B \-x
Xand
X.B \-y
Xoptions are evaluated left to right and can be repeated to get cumulative
Xeffect.
X.I Sunplot
Xalso recognizes the generic tool arguments; see
X.IR suntools (1)
Xfor a list of these arguments.
X.PP
XThe defaults are: batching on, labels printed, square canvas, canvas is 512
Xby 512 pixels, the point
X.I "(0,\ 0)"
Xis in the lower left-hand corner.
X.SH BUGS
XThe
X.I linemod
Xfunction is not implemented.
X.PP
XThe
X.B zoom
Xcommand doesn't take the height of labels into account.
X.SH "SEE ALSO"
X.IR plot (3X),
X.IR plot (5),
Xand
X.IR rasterfile (5).
X.SH AUTHOR
XSjoerd Mullender, Free University, Amsterdam <sjoerd at cs.vu.nl>
SHAR_EOF
$TOUCH -am 1225041788 libplot/sun/sunplot.1 &&
chmod 0644 libplot/sun/sunplot.1 ||
echo "restore of libplot/sun/sunplot.1 failed"
set `wc -c libplot/sun/sunplot.1`;Wc_c=$1
if test "$Wc_c" != "4672"; then
echo original size 4672, current size $Wc_c
fi
echo "End of part 5, continue with part 6"
exit 0
--
UUCP: ..!uunet!mcsun!hp4nl!integow!hot or hot at integow.UUCP or hot at hot.mug
Roland van Hout, Sr. software engineer, Integrity software consultants,
Pelmolenlaan 16, 3447 GW Woerden, Netherlands,
tel +31 3480-30131, fax +31 3480-30182
More information about the Alt.sources
mailing list