The output attributes

Clipping

                          +--------------------+
                          |CALL  ISCLIP (ICLSW) |
                          +--------------------+

                                  
Action: This routine sets the ``clipping indicator'' for use by future invocations of IFA, IPL, IPM and ITX. The clipping indicator specifies where primitives should be clipped. Parameter Description:
ICLSW
Clipping indicator
1
Primitives should be clipped at the boundary of the normalization transformation viewport.
0
Primitives should be clipped at the edge of the normalized device coordinates space.

Colour management

Colour representation

Each colour is defined by an index and percentages of red, green and blue. Once a colour is defined it can be used via a reference to its index. If a requested colour index is not available on a workstation, colour index 1 is used when primitives are created.
                    +--------------------------------+
                    | CALL  ISCR (KWKID,ICI,CR,CG,CB) |
                    +--------------------------------+
                                  
Action: This routine sets the colour representation (red/green/blue) of the colour index on a previously opened workstation. On workstations using colour tables, this function can change the image immediately. On workstations lacking such tables, this new colour definition will be taken into account in the next use of this colour. Parameter Description:
KWKID
Workstation identifier
ICI
Colour index.
CR
Intensity of red 0.<=CR< =1.
CG
Intensity of green 0.<=CG< =1.
CB
Intensity of blue 0.<=CB< =1.
By default the first eight colour indices are defined as follows:
   +-+--------+----------------------------##------+--------+-------+-+
   +-+-Index--+-Colour---------------------##-Red--+-Green--+-Blue--+-+
   | |   0    | Background colour (White)  ## 1.   |  1.    |  1.   | |
   | |   1    | Foreground colour (Black)  ## 0.   |  0.    |  0.   | |
   | |   2    | Red                        ## 1.   |  1.    |  1.   | |
   | |   3    | Green                      ## 0.   |  1.    |  0.   | |
   | |   4    | Dark blue                  ## 0.   |  0.    |  1.   | |
   | |        |                            ##      |        |       | |
   | |   5    | Yellow                     ## 1.   |  1.    |  0.   | |
   | |   6    | Magenta (red-purple)       ## 1.   |  0.    |  1.   | |
   +-+---7----+-Cyan-(light-blue)----------##-0.---+--1.----+--1.---+-+
                                  
When a PostScript file is printed on a black and white PostScript printer, a grey level simulation of the colours is used according to the figure [more info].


                                                                                       

< A>

Figure: PostScript grey level simulation of the eight basic colours.

[COLPS]

Polyline colour index.

                          +--------------------+
                          |CALL  ISPLCI (ICOLI) |
                          +--------------------+
                                  
Action: This routine sets the polyline colour index attribute for use by future invocations of IPL. The routine IGSET (see section [more info]) can also be used with the parameter PLCI. Parameter Description:
ICOLI
Polyline colour index.

Polymarker colour index.

                          +--------------------+
                          |CALL  ISPMCI (ICOLI) |
                          +--------------------+
                                  
Action: This routine sets the polymarker colour index attribute for use by future invocations of IPM. The routine IGSET (see section [more info]) can also be used with the parameter PMCI. Parameter Description:
ICOLI
Polymarker colour index.

Fill area colour index.

                          +--------------------+
                          |CALL  ISFACI (ICOLI) |
                          +--------------------+
                                  
Action: This routine sets the fill area colour index attribute for use by future invocations of IFA. The routine IGSET (see section [more info]) can also be used with the parameter FACI. Parameter Description:
ICOLI
Fill area colour index.

Text colour index.

                          +--------------------+
                          |CALL  ISTXCI (ICOLI) |
                          +--------------------+
                                  
Action: This routine sets the text colour index attribute for use by future invocations of ITX. The routine IGSET (see section [more info]) can also be used with the parameter TXCI. Parameter Description:
ICOLI
Text colour index.

Fill area interior style

                          +--------------------+
                          | CALL  ISFAIS (INTS) |
                          +--------------------+
                                  
Action: This routine sets the fill area interior style attribute for use by future invocations of IFA. The routine IGSET (see section [more info]) can also be used with the parameter FAIS. Parameter Description:
INTS
Fill area interior style. Possible values are:
0
Hollow: the perimeter of the filled area, after clipping, is drawn using solid lines.
1
Solid: the area is filled solidly.
2
Pattern: the area is filled with a dot-dashed pattern.
3
Hatched: the area is filled according to the current value of the fill area style index.

                                                                           

Figure: Example of fill area interior style.

[FILL-IS]

Fill area style index.

                         +----------------------+
                         | CALL  ISFASI (ISTYLI) |
                         +----------------------+
                                  
Action: This routine sets the fill area style index for pattern and hatch styles. The routine IGSET (see section [more info]) can also be used with the parameter FASI. Parameter Description:
ISTYLI
Fill area style index. This value depends on the underlying graphics package used.
In addition to the underlying graphics package dependent Fill area style indices, HIGZ provides a set of hatches independent from the underlying graphics package used. This fill area styles are indicated by a value greater than 100. The fill area style index is coded on three digits ijk.
i
Distance between lines in the hatch.
j
Angle between 90 and 180 degrees.
k
Angle between 0 and 90 degrees.

+-+-Digit-i--+-Distance---+-+-Digit-j--+---Angle----+-+-Digit-k--+---Angle----+-+
+-+----------+------------+-+----------+------------+-+----------+------------+-+
| |          |            | |    0     |  180 deg   | |    0     |   0 deg    | |
| |    1     | # 0.75 mm  | |    1     |  170 deg   | |    1     |  10 deg    | |
| |    2     | # 1.50 mm  | |    2     |  160 deg   | |    2     |  20 deg    | |
| |    3     | # 2.25 mm  | |    3     |  150 deg   | |    3     |  30 deg    | |
| |    4     | # 3.00 mm  | |    4     |  135 deg   | |    4     |  45 deg    | |
| |    5     | # 3.75 mm  | |    5     | not drawn  | |    5     | not drawn  | |
| |          |            | |          |            | |          |            | |
| |    6     | # 4.50 mm  | |    6     |  120 deg   | |    6     |  60 deg    | |
| |    7     | # 5.25 mm  | |    7     |  110 deg   | |    7     |  70 deg    | |
| |    8     | # 6.00 mm  | |    8     |  100 deg   | |    8     |  80 deg    | |
+-+----9-----+-#-6.75-mm--+-+----9-----+--90-deg----+-+----9-----+--90-deg----+-+
                                  
For example 190 will set the interior of fill areas to be hatched with lines at 0 and 90 degrees (# 0.75 mm spacing) and 444 will set the interior of fill areas to be hatched with lines at +45 and -45 degrees (# 3 mm spacing). The figure [more info] shows some examples of HIGZ portable hatch styles. On this figure, the first column shows the nine different possible spacing (digit i), the second column shows the angle between 90 and 180 degrees (digit j), and the third column shows the angle between 0 and 90 degrees (digit k). The number of possible hatch styles is: 9x10 x10 =900.



Figure: HIGZ portable fill area hatch styles.

[FILL-STY]

Line type.

                           +------------------+
                           |CALL  ISLN (LTYPE) |
                           +------------------+
                                  
Action: This routine sets the line type attribute for use by future invocations of IPL. All workstations support at least line types 1 through 4 (see figure [more info]). Other line types may be supported. If a requested line type is not supported on a workstation, line type 1 is used when polylines are created. The routine IGSET (see section [more info]) can also be used with the parameter LTYP. Parameter Description:
LTYPE
Line type (positive number).
1
Solid lines
2
Dashed lines
3
Dotted lines
4
Dashed-dotted lines
Note that line type values are dependent upon the underlying graphics package used. For the user's convenience, HIGZ defines a number of line types, indicated in the figure [more info], which are independent from the basic graphics package used.

Line width scale factor.

                          +--------------------+
                          |CALL  ISLWSC (WIDTH) |
                          +--------------------+
                                  
Action: This routine sets the width of a line for use by future invocations of the polyline drawing routine IPL. The actual line width is determined by a nominal line width (workstation-dependent) multiplied by the line width scale factor. The nominal line width is one pixel on screens. On PostScript printers the nominal line width is one ``dot''. Therefore the width of a line can vary from a printer to another depending on the printer definition (300 dots per inch, 400 dots per inch etc.). The figure [more info] shows some examples of various line width. The routine IGSET (see section [more info]) can also be used with the parameter LWID. Parameter Description:
WIDTH
Line width scale factor.

                                                                                       

< A>

Figure: Line styles available.

[LINE-TYPE]

Figure: Examples of line width.

[LINE-WIDTH]

Marker type

                           +------------------+
                           |CALL  ISMK (MTYPE) |
                           +------------------+
                                  
Action: This routine sets the marker type attribute for use by future invocations of IPM. All workstations support at least the marker types 1 through 5 (see below). More marker types may be supported by the underlying graphics package. Marker types 20 to 31 are also defined, according to the figure [more info], and are independent from the underlying graphics package used. If a requested marker type is not supported on a workstation, marker type 1 (a point) is used when polymarkers are created. The routine IGSET (see section [more info]) can also be used with the parameter MTYP. Parameter Description:
MTYPE
Marker type (positive number)
1
Point shape (#).
2
Plus shape (+).
3
Asterisk shape (#).
4
Circle shape ( o).
5
X shape (x).

Marker scale factor.

                          +--------------------+
                          | CALL  ISMKSC (SSFM) |
                          +--------------------+
                                  
Action: This routine sets the marker scale factor. This scale factor is applied on the nominal size of the marker. On all workstation, except PostScript files, the marker type 1 is not scalable. The routine IGSET (see section [more info]) can also be used with the parameter MSCF. Parameter Description:
SSFM
Scale factor applied to markers. (>=0.)

                                                                                       

Figure: HIGZ Marker type (20-31).

[MARKER-TYPE]

Figure: Examples marker scale factor.

[MARKER-SIZE]

Text alignment.

                      +----------------------------+
                      |CALL  ISTXAL (ITXALH,ITXALV) |
                      +----------------------------+
                                  
Action: This routine sets the text alignment attribute for use by future invocations of ITX. Text alignment controls the placement of the character string with respect to the position specified in the call to ITX. Horizontal alignment specifies which end of the string (or its geometric center) is aligned with the point specified in ITX. For a given horizontal alignment, the vertical alignment controls whether the tops of tall characters or the bottoms of capital letters line up with the point specified (see figure ). The routine IGSET (see section [more info]) can also be used with the parameter TXAL. Parameter Description:
ITXALH
Horizontal alignment specifier (0<=ITXALH< =3)
0
Left end of string at point specified (normal).
1
Same as 0.
2
Center of string at point specified.
3
Right end of string at point specified.
ITXALV
Vertical alignment specifier (0<=ITXALV< =5)
0
Base of the characters (normal).
1
Top of tallest characters.
2
Same as 2.
3
Middle of tallest characters.

                                                                                       

Figure: Text alignment.

[TEXT-ALIGN]

Character height

                           +------------------+
                           | CALL  ISCHH (CHH) |
                           +------------------+
                                  
Action: This routine sets the character height attribute for use by future invocations of ITX. The routine IGSET (see section [more info]) can also be used with the parameter CHHE. Parameter Description:
CHH
Character height. The default set by IGSSE is 0.01. The height is given in world coordinates and it must be positive.

Character up vector.

                      +----------------------------+
                      | CALL  ISCHUP (RCHUX, RCHUY) |
                      +----------------------------+
                                  
Action: This routine sets the ``character up vector'' attribute for use by future invocations of ITX. The angle of the text can also be specified via the IGSET routine with the parameter TANG. Parameter Description:
RCHUX
Character up vector in world coordinates (x part).
RCHUY
Character up vector in world coordinates (y part).
2 2 The size of the vector specified is immaterial, but CHUX +CHUY >1.E-20.

Text font and precision.

                       +--------------------------+
                       |CALL  ISTXFP (IFONT,IPREC) |
                       +--------------------------+
                                  
Action: This routine sets the text font and precision attributes for use by future invocations of ITX. The text font parameter selects among possible character shapes, as a roman font, a sans-serif font, etc. The text precision parameter specifies how closely HIGZ (and also the underlying graphics package) must follow the current size and orientation attributes. String precision is most liberal, stroke precision is most strict. Character precision is in the middle. The routine IGSET (see section [more info]) can also be used with the parameter TXFP. Parameter Description:
IFONT
Text font. The value of IFONT depends on the underlying graphics package used.
IPREC
Text precision (0<=IPREC< =2).
Note that font number 0, with precision 2, is always available, independently from the underlying graphics package used and allows to access the IGTEXT facilities from ITX. If a font is not available on a workstation, or it is supported but not with the requested precision, font 1 is used, with precision 0.

The PostScript text fonts

With PostScript workstation types, the text produced by ITX can be generated with PostScript fonts. The figure [more info] shows all the PostScript fonts available on most PostScript printers. Note that the fonts -15 to -24 are the same than -1 to -14, but they are drawn in hollow mode. The ZapfDingbats font is not available on all PostScript printers. On such printers a reference to this font will produce an error message. The correspondence between ASCII and ZapfDingbats font is given on figures [more info] and . IGTEXT control characters are taken into account. In addition the character # switches to the ZapfDingbats character set.

+-------------------List-of-escape-characters-and-their-meaning--------------------+
+-+----+-----------------------------------+-+----+------------------------------+-+
+-+-<--+-go-to-lower-case-(optional)-------+-+->--+-go-to-upper-case-(optional)--+-+
+-+-[--+-go-to-greek-(Roman-=-default)-----+-+-]--+-end-of-greek-----------------+-+
+-+-"--+-go-to-special-symbols-------------+-+-#--+-end-of-special-symbols-------+-+
+-+-#--+-go-to-ZapfDingbats----------------+-+-#--+-end-of-ZapfDingbats----------+-+
| | "  | go to superscript                 | | ?  | go to subscript              | |
+-+-!--+-go-to-normal-level-of-script------+-+-&--+-backspace-one-character------+-+
+-+----+-----------------------------------+-+----+------------------------------+-+
+-+-$--+-termination-character-(optional)--+-+----+------------------------------+-+
                                  
The PostScript fonts can with precision 0 or precision 1. On the screen, a PostScript font used with precision 1 appears like the IGTEXT characters, with precision 0 its appears as hardware character. In both cases the PostScript file is the same. Note that characters can also be entered directly in lower or upper case instead of using the escape characters < and >.
        Example of PostScript  text (result in figure
                          [more info])
                                  
      program psex1
      call start('psex1',16.,5.)
      call igset('LWID',6.)
      call igbox(0.,16.,0.,5.)
      call igset('CHHE',0.5)
      call igset('TXAL',3.)
      call igset('TXFP',-130.)
*
      call itx(3.,4.,'K\355nstler in den gr\345\373ten st\311dten')
      call itx(3.,3.,'\253\265 l''\372uvre on conna\333t l''artisan\273')
      call itx(3.,2.,'\(proverbe fran\321ais\).')
      call itx(3.,1.,'\252\241ma\337ana!\272, dit l''\323l\325ve.')
*
      call finish
      end


                                                                                       

Figure: PostScript fonts usage (1).

[PSEX1]

     Example of PostScript  text and maths (result in figure
                          [more info])
                                  
      program psex2
      call start('psex2',16.,5.)
      call igset('LWID',6.)
      call igbox(0.,16.,0.,5.)
      call igset('CHHE',0.5)
      call igset('TXAL',23.)
      call igset('TXFP',-130.)
*
      call itx(8.,4.,
     +'e^+!e^-! "5# Z^o! "5# ll&^-!, qq&^\261!')
      call itx(8.,3.,
     +'| a&^[\256]! \267 b&^[\256]! | = [\345] a^i?jk!+b^kj?i')
      call itx(8.,2.,
     + 'i ("d#?[m!y]&^\261![g^m]! + m [y]&^\261! ) = 0'//
     + '" r# (~r# + m^2!) [y] = 0')
      call itx(8.,1.,
     + 'L?em! = e J^[m]?em! A?[m]! , J^[m]?em!=l&^\261![ g?m]!l , '//
     + 'M^j?i! = [\345&?a]! A?[a! t^a]j?i! ')
*
      call finish
      end

                                                                                       

Figure: PostScript fonts usage (2).

[PSEX2]



                                                                           

Figure: PostScript text fonts.

[PS-FONT]



                                                                           

Figure: PostScript characters (1).

[PSTEXT1]


                                                                                   

Figure: PostScript characters (2).

[PSTEXT2]