Go to the first, previous, next, last section, table of contents.


The tek2plot Program

What tek2plot is used for

GNU tek2plot is a command-line Tektronix translator. It displays Tektronix graphics files, or translates them to other formats. The `-T' option is used to specify the output format or display type. Supported output formats include "X", "pnm", "gif", "ai", "ps", "fig", "pcl", "hpgl", "tek", and "meta" (the default). These are the same formats that are supported by the GNU graph, plot, and pic2plot programs. tek2plot will take input from a file specified on the command line or from standard input, just as the plot filter plot does.

Tektronix graphics files are produced by many older applications, such as SKYMAP, a powerful astronomical display program. A directory containing sample Tektronix graphics files, which you may experiment with, is distributed along with the GNU plotting utilities. On most systems it is installed as `/usr/share/tek2plot' or `/usr/local/share/tek2plot'.

Tektronix graphics format is defined as a noninteractive version of the graphics format understood by Tektronix 4010/4014 terminals, as documented in the 4014 Service Manual, Tektronix Inc., 1974 (Tektronix Part #070-1648-00). tek2plot does not support interactive features such as graphics input mode ("GIN mode") or status enquiry. However, it does support a few additional features provided by popular Tektronix emulators, such as the color extensions supported by the Tektronix emulator contained in the MS-DOS version of kermit.

tek2plot command-line options

The tek2plot program translates the Tektronix graphics files produced by many older applications to other formats. The output format or display type is specified with the `-T' option. The possible output formats are the same ten formats that are supported by the GNU graph, plot, and pic2plot programs.

Input file names may be specified anywhere on the command line. That is, the relative order of file names and command-line options does not matter. If no file names are specified, or the file name `-' is specified, the standard input is read. The output file is written to standard output, unless the `-T X' option is specified. In that case the output is displayed in one or more windows on an X Window System display, and there is no output file.

The full set of command-line options is listed below. There are three sorts of option:

  1. General options.
  2. Options relevant only to raw tek2plot, i.e., relevant only if no display type or output format is specified with the `-T' option.
  3. Options requesting information (e.g., `--help').

Each option that takes an argument is followed, in parentheses, by the type and default value of the argument.

The following are general options.

`-T type'
`--display-type type'
(String, default "meta".) Select a display type or output format of type type, which may be one of the strings "X", "pnm", "gif", "ai", "ps", "fig", "pcl", "hpgl", "tek", and "meta". These refer respectively to the X Window System, portable anymap (PBM/PGM/PPM) format, pseudo-GIF format, the format used by Adobe Illustrator, idraw-editable Postscript, the format used by the xfig drawing editor, the Hewlett--Packard PCL 5 printer language, the Hewlett--Packard Graphics Language (by default, HP-GL/2), Tektronix format, and device-independent GNU graphics metafile format.
`-p n'
`--page-number n'
(Nonnegative integer.) Display only page number n, within the Tektronix file or sequence of Tektronix files that is being translated. Tektronix files may consist of one or more pages, numbered beginning with zero. The default behavior, if the `-p' option is not used, is to display all nonempty pages in succession. For example, tek2plot -T X displays each page in its own X window. If the `-T pnm' option, the `-T gif' option, the `-T ai' option, or the `-T fig' option is used, the default behavior is to display only the first page, since files in PNM, pseudo-GIF, AI, or Fig format may contain only a single page of graphics. Most Tektronix files consist of either one page (page #0) or two pages (an empty page #0, and page #1). Tektronix files produced by the GNU plotting utilities (e.g., by graph -T tek) are normally of the latter sort.
`-F font_name'
`--font-name font_name'
(String, default "Courier" except for tek2plot -T pnm, tek2plot -T gif, tek2plot -T pcl, tek2plot -T hpgl, and raw tek2plot, for all of which "HersheySerif" is the default.) Set the font used for text to font_name. Font names are case-insensitive. If a font outside the Courier family is chosen, the `--position-chars' option (see below) should probably be used. For a list of all fonts, see section Available text fonts. If the specified font is not available, the default font will be used.
`-W line_width'
`--line-width line_width'
(Float, default -1.0.) Set the thickness of lines, as a fraction of the size (i.e., minimum dimension) of the graphics display, to line_width. A negative value means that the default value provided by the libplot graphics library should be used. This is usually 1/850 times the size of the display, although if `-T X', `-T pnm', or -T gif is specified, it is zero. By convention, a zero-thickness line is the thinnest line that can be drawn. This is the case in all output formats. Note, however, that the drawing editors idraw and xfig treat zero-thickness lines as invisible. tek2plot -T hpgl does not support drawing lines with other than a default thickness if the environment variable HPGL_VERSION is set to a value less than "2" (the default).
`--bg-color name'
(String, default "white".) Set the color used for the background to be name. This is relevant only to tek2plot -T X, tek2plot -T pnm, and tek2plot -T gif. An unrecognized name sets the color to the default. For information on what names are recognized, see section Specifying Colors by Name. The environment variable BG_COLOR can equally well be used to specify the background color. If the `-T gif' option is used, a transparent pseudo-GIF may be produced by setting the TRANSPARENT_COLOR environment variable to the name of the background color. See section Environment variables.
`--bitmap-size bitmap_size'
(String, default "570x570".) Set the size of the graphics display in which the plot will be drawn, in terms of pixels, to be bitmap_size. This is relevant only to tek2plot -T X, tek2plot -T pnm, and tek2plot -T gif, for which the graphics display size can be expressed in terms of pixels. The environment variable BITMAPSIZE can equally well be used to specify the size. The graphics display used by tek2plot -T X is an X window. If you choose a rectangular (non-square) window size, the fonts in the plot will be scaled anisotropically, i.e., by different factors in the horizontal and vertical direction. This requires an X11R6 display. Any font that cannot be scaled in this way will be replaced by a default scalable font, such as the Hershey vector font "HersheySerif". For backward compatibility, the X resource Xplot.geometry, which can be set by the user, may be used to set the window size, instead of `--bitmap-size' or BITMAPSIZE.
`--max-line-length max_line_length'
(Integer, default 500.) Set the maximum number of points that a polygonal line may contain, before it is flushed to the display device, to equal max_line_length. If this flushing occurs, the polygonal line will be split into two or more sub-lines, though the splitting should not be noticeable. The reason for splitting long polygonal lines is that some display devices (e.g., old Postscript printers and HP-GL pen plotters) have limited buffer sizes. The environment variable MAX_LINE_LENGTH can also be used to specify the maximum line length. This option has no effect on raw tek2plot, since it draws polylines in real time and has no buffer limitations.
`--page-size pagesize'
(String, default "letter".) Set the size of the page on which the plot will be positioned. This is relevant only to tek2plot -T ai, tek2plot -T ps, tek2plot -T fig, tek2plot -T pcl, and tek2plot -T hpgl. "letter" means an 8.5in by 11in page. Any ISO page size in the range "a0"..."a4" or ANSI page size in the range "a"..."e" may be specified ("letter" is an alias for "a" and "tabloid" is an alias for "b"). "legal", "ledger", and "b5" are recognized page sizes also. The environment variable PAGESIZE can equally well be used to specify the page size. For tek2plot -T ai and tek2plot -T ps, the graphics display within which the plot is drawn will be a square region centered on the specified page, occupying its full width (with allowance being made for margins). For tek2plot -T fig, it will be a square region of the same size, located in the upper left corner of an xfig display. For tek2plot -T pcl and tek2plot -T hpgl, the graphics display will be a square region of the same size, but may be positioned differently. Fine control its positioning on the page can be accomplished by setting certain environment variables (see section Environment variables).
`--pen-color name'
(String, default "black".) Set the pen color to be name. An unrecognized name sets the pen color to the default. For information on what color names are recognized, see section Specifying Colors by Name.
`--position-chars'
Position the characters in each text string individually on the display. If the text font is not a member of the Courier family, and especially if it is not a fixed-width font, this option is recommended. It will improve the appearance of text strings, at the price of making it difficult to edit the output file with xfig or idraw.
`--rotation angle'
(Integer, default 0.) Set the rotation angle of the plot within the graphics display to be angle degrees. Recognized values are 0, 90, 180, and 270. The rotation is counterclockwise. This option is used for switching between portrait mode and landscape mode. Postmodernists may also find it useful.
`--use-tek-fonts'
Use the bitmap fonts that were used on the original Tektronix 4010/4014 terminal. This option is relevant only to tek2plot -T X. The four relevant bitmap fonts are distributed with most versions of the plotting utilities package, under the names tekfont0...tekfont3. They may easily be installed on any modern X Window System display. For this option to work properly, you must also select a window size of 1024x1024 pixels, either by using the --bitmap-size 1024x1024 option or by setting the value of the Xplot.geometry resource. The reason for this restriction is that bitmap fonts, unlike the scalable fonts that the plotting utilities normally use, cannot be rescaled. This option is useful only if you have a file in Tektronix format that draws text using native Tektronix fonts. Tektronix files produced by the GNU plotting utilities (e.g., by graph -T tek) do not use native Tektronix fonts to draw text.

The following option is relevant only to raw tek2plot, i.e., relevant only if no display type or output format is specified with the `-T' option. In this case tek2plot outputs a graphics metafile, which may be translated to other formats by invoking plot.

`-O'
`--portable-output'
Output the portable (human-readable) version of GNU metafile format, rather than a binary version (the default). This can also be requested by setting the environment variable META_PORTABLE to "yes".

The following options request information.

`--help'
Print a list of command-line options, and then exit.
`--help-fonts'
Print a table of available fonts, and then exit. The table will depend on which display type or output format is specified with the `-T' option. tek2plot -T X, tek2plot -T ai, tek2plot -T ps, and tek2plot -T fig each support the 35 standard Postscript fonts. tek2plot -T ai, tek2plot -T pcl, and tek2plot -T hpgl support the 45 standard PCL 5 fonts, and tek2plot -T pcl and tek2plot -T hpgl support a number of Hewlett--Packard vector fonts. All of the preceding, together with tek2plot -T pnm, tek2plot -T gif, and tek2plot -T tek, support a set of 22 Hershey vector fonts. Raw tek2plot in principle supports any of these fonts, since its output must be translated to other formats with plot. The plotfont utility will produce a character map of any available font. See section The plotfont Utility.
`--list-fonts'
Like `--help-fonts', but lists the fonts in a single column to facilitate piping to other programs. If no display type or output format is specified with the `-T' option, the full set of supported fonts is listed.
`--version'
Print the version number of tek2plot and the plotting utilities package, and exit.

Environment variables

The behavior of tek2plot is affected by several environment variables, which are the same as those that affect graph and plot. For convenience, we list them here.

We have already mentioned the environment variables BITMAPSIZE, PAGESIZE, BG_COLOR, and MAX_LINE_LENGTH. They serve as backups for the options `--bitmap-size', `--page-size', `--bg-color', and `--max-line-length'. The remaining environment variables are specific to individual output formats.

tek2plot -T X, which pops up a window on an X Window System display and draws graphics in it, checks the DISPLAY environment variable. The value of this variable determines the display on which the window will be popped up.

tek2plot -T pnm, which produces output in Portable Anymap (PBM/PGM/PPM) format, is affected by the PNM_PORTABLE environment variable. If its value is "yes", the output file will be in the portable (human readable) version of PBM, PGM, or PPM format, rather than the default (binary) version.

tek2plot -T gif, which produces output in pseudo-GIF format, is affected by two environment variables. If the value of the INTERLACE variable is "yes", the pseudo-GIF output file will be in interlaced format. Also, if the value of the TRANSPARENT_COLOR environment variable is the name of a color that appears in the output file, that color will be treated as transparent by most applications that read GIF files. For information on what color names are recognized, see section Specifying Colors by Name.

tek2plot -T pcl, which produces PCL 5 output for Hewlett--Packard printers and plotters, is affected by several environment variables. The position of the graphics display on the page can be adjusted by setting the PCL_XOFFSET and PCL_YOFFSET environment variables, which may be specified in centimeters, millimeters, or inches. For example, an offset could be specified as "2cm" or "1.2in". Also, the display can be rotated 90 degrees counterclockwise on the page by setting the PCL_ROTATE environment variable to "yes". This is not the same as the rotation obtained with the --rotation option, which sets the rotation angle of the plot within the display. Besides "no" and "yes", recognized values for the PCL_ROTATE variable are "0", "90", "180", and "270". "no" and "yes" are equivalent to "0" and "90", respectively.

The variable PCL_ASSIGN_COLORS is also recognized. It should be set to "yes" when producing PCL 5 output for a color printer or other color device. This will ensure accurate color reproduction by giving the output device complete freedom in assigning colors, internally, to its "logical pens". If it is "no" then the device will use a fixed set of colored pens, and will emulate other colors by shading. The default is "no" because monochrome PCL 5 devices, which are much more common than colored ones, must use shading to emulate color.

tek2plot -T hpgl, which produces Hewlett--Packard Graphics Language output, is also affected by several environment variables. The most important is HPGL_VERSION, which may be set to "1", "1.5", or "2" (the default). "1" means that the output should be generic HP-GL, "1.5" means that the output should be suitable for the HP7550A graphics plotter and the HP758x, HP7595A and HP7596A drafting plotters (HP-GL with some HP-GL/2 extensions), and "2" means that the output should be modern HP-GL/2. If the version is "1" or "1.5" then the only available fonts will be vector fonts, and all lines will be drawn with a default thickness (the `-W' option will not work).

The position of the tek2plot -T hpgl graphics display on the page can be adjusted by setting the HPGL_XOFFSET and HPGL_YOFFSET environment variables, which may be specified in centimeters, millimeters, or inches. For example, an offset could be specified as "2cm" or "1.2in". Also, the display can be rotated 90 degrees counterclockwise on the page by setting the HPGL_ROTATE environment variable to "yes". This is not the same as the rotation obtained with the --rotation option, which sets the rotation angle of the plot within the display. Besides "no" and "yes", recognized values for the HPGL_ROTATE variable are "0", "90", "180", and "270". "no" and "yes" are equivalent to "0" and "90", respectively. "180" and "270" are supported only if HPGL_VERSION is "2" (the default).

The drawing of visible white lines is supported only if HPGL_VERSION is "2" and the environment variable HPGL_OPAQUE_MODE is "yes" (the default). If the value is "no" then white lines (if any), which are normally drawn with pen #0, will not be drawn. This feature is to accommodate older HP-GL/2 devices. HP-GL/2 pen plotters, for example, do not support the use of pen #0 to draw visible white lines. Some older HP-GL/2 devices may, in fact, malfunction if asked to draw opaque objects.

By default, tek2plot -T hpgl will draw with a fixed set of pens. Which pens are present may be specified by setting the HPGL_PENS environment variable. If HPGL_VERSION is "1", the default value of HPGL_PENS is "1=black"; if HPGL_VERSION is "1.5" or "2", the default value of HPGL_PENS is "1=black:2=red:3=green:4=yellow:5=blue:6=magenta:7=cyan". The format should be self-explanatory. By setting HPGL_PENS, you may specify a color for any pen in the range #1...#31. For information on what color names are recognized, see section Specifying Colors by Name. Pen #1 must always be present, though it need not be black. Any other pen in the range #1...#31 may be omitted.

If HPGL_VERSION is "2" then tek2plot -T hpgl will also be affected by the environment variable HPGL_ASSIGN_COLORS. If the value of this variable is "yes", then tek2plot -T hpgl will not be restricted to the palette specified in HPGL_PENS: it will assign colors to "logical pens" in the range #1...#31, as needed. The default value is "no" because other than color LaserJet printers and DesignJet plotters, not many HP-GL/2 devices allow the assignment of colors to logical pens.


Go to the first, previous, next, last section, table of contents.