Name: COLOR  4
COLOR defines the colours used for plotting text and lines.
The call is:  CALL COLOR (CNAME)                   level 1, 2, 3
         or:  void colour (const char *cname);
CNAME         is a  character  string  that can  have the values
              'BLACK', 'RED', 'GREEN', 'BLUE', 'CYAN', 'YELLOW',
              'ORANGE',  'MAGENTA',  'WHITE',  'FORE',   'BACK',
              'GRAY' and 'HALF'.  The keyword 'FORE'  resets the 
              colour  to the default value,  while  the  keyword
              'BACK'  sets the  colour  to the background color. 
              'HALF' sets a new foreground colour  with the half
              intensity of the current foreground colour.
Note:         The values 'BLACK' and 'WHITE' define not absolute
              colours. If the output format is  in reverse mode,
              'BLACK' is interpreted as  'WHITE'  and 'WHITE' is
              interpreted as 'BLACK'.  If  you want  to use true
              black and true white, you can use the routine SET-
              RGB (0., 0., 0.) and SETRGB (1., .1., 1.).
Name: SETCLR  5
The routine  SETCLR  sets the foreground colour where the colour
cab be specified as a  colour table  entry or as an explicit RGB
value.
The call is:  CALL SETCLR (NCOL)                   level 1, 2, 3
         or:  void setclr (int ncol);
NCOL          is a colour value.
                                    Default: NCOL = 255 (White).
Name: SETRGB  5
The routine  SETRGB defines the  foreground colour specified  in
RGB  coordinates. 
The call is:  CALL SETRGB (XR, XG, XB)             level 1, 2, 3
         or:  void setrgb (float xr, float xg, float xb);
XR, XG, XB    are the RGB coordinates  of a  colour in the range
              0 to 1.  If the output device  cannot display true
              colours, SETRGB sets the nearest entry in the col-
              our table that matches the RGB coordinates.
Name: SETVLT  5
SETVLT selects a colour table.
The call is:  CALL SETVLT (CVLT)                   level 1, 2, 3
         or:  void setvlt (const char *cvlt);
CVLT          is a  character  string  that  defines  the colour
              table.
  = 'SMALL'   defines a small colour table with the 8 colours:
              1 = BLACK, 2 = RED,  3 =  GREEN,  4 = BLUE,  
              5 = YELLOW, 6 = ORANGE, 7 = CYAN and 8 = MAGENTA.
  = 'VGA'     defines the  16 standard colours of a VGA graphics
              card. 
  = 'RAIN'    defines  256 colours arranged  in a rainbow  where
              0 means black and 255 means white.
  = 'SPEC'    defines  256 colours arranged  in a rainbow  where
              0  means black  and  255 means white.  This colour
              table uses more violet colours than 'RAIN'.
  = 'GREY'    defines 256 grey scale colours where 0 means black
              and 255 is white.
  = 'RRAIN'   is the reverse colour table of 'RAIN'.
  = 'RSPEC'   is the reverse colour table of 'SPEC'.
  = 'RGREY'   is the reverse colour table of 'GREY'.
  = 'TEMP'    defines a temperature colour table.
                                                Default: 'RAIN'.
Name: MYVLT   5
The routine MYVLT changes the current colour table.
The call is:  CALL MYVLT (XR, XG, XB, N)        level 0, 1, 2, 3
         or:  void myvlt (const float *xr, const float * xg, 
                                         const float *xb, int n)
XR, XG, XB    are arrays containing RGB coordinates in the range
              0 to 1.   
N             is the number of colour entries.
Name: SETIND  5
The routine  SETIND allows the user to change the current colour
table.
The call is:  CALL SETIND (INDEX, XR, XG, XB)      level 1, 2, 3
         or:  void setind (int index, float xr, float xg, 
                                                      float xb);
INDEX         is an index between  0 and 255.
XR, XG, XB    are the RGB coordinates of a colour in the range 0
              to 1.
Name: VLTFIL  5
The routine VLTFIL saves the current colour table to a file,  or
loads a colour table from a file.
The call is:  CALL VLTFIL (CFIL, COPT)             level 1, 2, 3
         or:  void vltfil (const char *cfil, const char *copt);
CFIL          is a character string containing a filename. 
              Colour entries are stored in the file as RGB coor-
              dinates in the range 0 to 1.
COPT          is a  character  string  that can  have the values 
              'SAVE' and 'LOAD'. 
Name: INDRGB  5
The  function  INDRGB  returns the  nearest  entry in the colour 
table that matches given RGB coordinates.
The call is:  N = INDRGB (XR, XG, XB)              level 1, 2, 3
         or:  int indrgb (float xr, float xg, float xb);    
XR, XG, XB    are the  RGB coordinates of a colour in  the range
              0 to 1.
N             is the returned colour index.
Name: INTRGB  5
The function  INTRGB  creates  an explicit colour value from RGB
coordinates.
The call is:  N = INTRGB (XR, XG, XB)           level 0, 1, 2, 3
         or:  int intrgb (float xr, float xg, float xb);    
XR, XG, XB    are the  RGB coordinates of a colour in  the range
              0 to 1.
N             is the returned colour value.
Name: HSVRGB  5
The routine HSVRGB converts HSV coordinates to RGB coordinates.
The call is:  CALL HSVRGB (XH, XS, XV, XR, XG, XB) level 1, 2, 3
         or:  void hsvrgb (float  xh, float  xs, float  xv,
                           float *xr, float *xg, float *xb);  
XH, XS, XV    are the hue, saturation and value of a colour.  XH
              must be in the range 0 to 360 degrees while XS and
              XV can have values  between  0 and 1.  In the  HSV
              model,  colours lie  in a spectral order on a six-
              sided pyramid  where red corresponds  to the angle
              0, green to 120 and blue to 240 degrees.
XR, XG, XB    are the RGB coordinates in the range 0 to 1 calcu-
              lated by HSVRGB.
Name: RGBHSV  5
The routine RGBHSV converts RGB coordinates to HSV coordinates.
The call is:  CALL RGBHSV (XR, XG, XB, XH, XS, XV) level 1, 2, 3
         or:  void rgbhsv (float  xr, float  xg, float  xb,
                           float *xh, float *xs, float *xv);
XR, XG, XB    are the RGB coordinates in the range 0 to 1
XH, XS, XV    are the HSV coordinates calculated by RGBHSV  (see
              also HSVRGB).
Name: HEIGHT  3
HEIGHT defines the character height.
The call is:  CALL HEIGHT (NHCHAR)                 level 1, 2, 3
         or:  void height (int nhchar);
NHCHAR        is the character height in plot coordinates.
                                            Default: NHCHAR = 36
Name: ANGLE   3
This routine  modifies  the direction  of text  plotted with the
routines MESSAG, NUMBER, PSMESS, RLMESS and RLNUMB.
The call is:  CALL ANGLE (NDEG)                    level 1, 2, 3
         or:  void angle (int ndeg);
NDEG          is  an angle  measured  in degrees and  a counter-
              clockwise direction. 
                                               Default: NDEG = 0
Name: TXTJUS  3
The routine  TXTJUS  defines the alignment  of text plotted with
the routines MESSAG and NUMBER.
The call is:  CALL TXTJUS (CJUS)                   level 1, 2, 3
         or:  void txtjus (const char *cjus);
CJUS          is a  character  string  that can have  the values
              'LEFT',  'RIGHT' and 'CENT' for horizontal align-
              ment and 'TOP', 'BOTTOM' and 'MIDDLE' for vertical
              alignment.
                                  Default: CJUS = 'LEFT', 'TOP'.
Name: TXTBGD  3
TXTBGD defines a background colour for text and numbers.
The call is:  CALL TXTBGD (NCLR)                   level 1, 2, 3
         or:  txtbgd (int nclr);
NCLR          is a colour number.  The  default  value -1  means
              that no background is plotted.  The margin between
              background border and text is  (LINESP - 1) * 
              * NHCHAR, where LINESP is the value in LINESP.
                                              Default: NCLR = -1
Name: FRMESS  3
FRMESS  defines the thickness  of frames around text  plotted by
MESSAG.
The call is:  CALL FRMESS (NFRM)                   level 1, 2, 3
         or:  void frmess (int nfrm);
NFRM          is the thickness  of frames  in plot  coordinates.
              If NFRM is negative, frames will be thickened from
              the inside. If positive,  frames will be thickened
              towards the outside. The margin between frames and
              text is (LINESP - 1) * NHCHAR, where LINESP is the
              value in LINESP.                 Default: NFRM = 0
Name: FRMCLR  3 
The colour of frames can be defined with the routine FRMCLR.
The call is:  CALL FRMCLR (NCLR)                   level 1, 2, 3
          or: void frmclr (int nclr);
NCLR          is a colour value.  If NCLR = -1, the current col-
              our is used.
                                              Default: NCLR = -1
Name: NUMFMT  3
NUMFMT  modifies the format  of numbers  plotted by  NUMBER  and
RLNUMB.
The call is:  CALL  NUMFMT (COPT)                  level 1, 2, 3
         or:  void  numfmt (const char *copt);
COPT          is a character string defining the format.
  = 'FLOAT'   will plot numbers in floating point format.
  = 'EXP'     will  plot  numbers  in  exponential  format where
              fractions range between 1 and 10.
  = 'FEXP'    will plot numbers in the format fEn where f ranges
              between 1 and 10.
  = 'LOG'     will plot numbers logarithmically with base 10 and
              the corresponding exponents. The exponents must be
              passed to NUMBER and RLNUMB. 
                                        Default: COPT = 'FLOAT'.
Note:         SETEXP and  SETBAS alter  the position and size of
              exponents.
Name: NUMODE  3
NUMODE  alters the appearance  of numbers plotted  by NUMBER and
RLNUMB.
The call is:  CALL NUMODE (CDEC, CGRP, CPOS, CFIX) level 1, 2, 3
         or:  void numode (const char *cdec, const char *cgrp, 
                           const char *cpos, const char *cfix);
CDEC          is a character string that defines the decimal no-
              tation.
  = 'POINT'   defines a point.
  = 'COMMA'   defines a comma.
 CGRP         is a  character string  that defines  the grouping
              of 3 digits.
  = 'NONE'    means no grouping.
  = 'SPACE'   defines a space as separator.
  = 'POINT'   defines a point as separator.
  = 'COMMA'   defines a comma as separator.
 CPOS         is a character string  that defines  the sign pre-
              ceding positive numbers.
  = 'NONE'    means no preceding sign.
  = 'SPACE'   defines a space as a preceding sign.
  = 'PLUS'    defines a plus as a preceding sign.
 CFIX         is a  character string  specifying character spa-
              cing.
  = 'NOEQUAL' is used for proportional spacing.
  = 'EQUAL'   is used for non-proportional spacing.
                  Default: ('POINT', 'NONE', 'NONE', 'NOEQUAL').
Name: CHASPC  3
CHASPC affects inter character spacing.
The call is:  CALL CHASPC (XSPC)                   level 1, 2, 3
         or:  void chaspc (float xspc);
XSPC          is a real number  that contains  a multiplier.  If
              XSPC < 0, the inter character spacing  will be re-
              duced by XSPC * NH  plot coordinates  where NH  is
              the  current character  height.  If XSPC > 0,  the
              spacing  will be enlarged by  XSPC * NH plot coor-
              dinates.                        Default: XSPC = 0.
Name: CHAWTH  3
CHAWTH affects the width of characters.
The call is:  CALL CHAWTH (XWTH)                   level 1, 2, 3
         or:  void chawth (float xwth);
XWTH          is a real number between 0 and 2. If XWTH < 1, the
              character width will be reduced. If XWTH > 1,  the
              character width will be enlarged. 
                                              Default: XWTH = 1.
Name: CHAANG  3
CHAANG defines an inclination angle for characters.
The call is:  CALL CHAANG (ANGLE)                  level 1, 2, 3
         or:  void chaang (float angle);
ANGLE         is the inclination angle  between  characters  and
              the vertical direction in degrees (-60 <= ANGLE <=
              60).                           Default: ANGLE = 0.
Name: FIXSPC  3
All fonts in DISLIN  except for  the default font are proportio-
nal.  After a call to  FIXSPC  the characters  of a proportional
font will also be plotted with a constant character width.
The call is:  CALL FIXSPC (XFAC)                   level 1, 2, 3
         or:  void fixspc (float xfac);
XFAC          is a real number containing a scaling factor. Cha-
              racters  will be centred  in a box of width XFAC * 
              XMAX  where XMAX is the largest character width of
              the current font.
Name: DISALF  4
DISALF defines the default font.
The call is:  CALL DISALF                          level 1, 2, 3
         or:  void disalf ();
Name: SIMPLX  4
SIMPLX defines a single stroke font.
The call is:  CALL SIMPLX                          level 1, 2, 3
         or:  void simplx ();
Name: COMPLX  4
COMPLX defines a complex font.
The call is:  CALL COMPLX                          level 1, 2, 3
         or:  void complx ();
Name: DUPLX   4
DUPLX defines a double stroke font.
The call is:  CALL DUPLX                           level 1, 2, 3
         or:  void duplx ();
Name: TRIPLX  4
TRIPLX defines a triple stroke font.
The call is:  CALL TRIPLX                          level 1, 2, 3
         or:  void triplx ();
Name: GOTHIC  4
GOTHIC defines a gothic font.
The call is:  CALL GOTHIC                          level 1, 2, 3
         or:  void gothic ();
Name: SERIF   4
SERIF defines a complex shaded stroke font.
The call is:  CALL SERIF                           level 1, 2, 3
         or:  void serif ();
Name: HELVE   4
HELVE defines a shaded font.
The call is:  CALL HELVE                           level 1, 2, 3
         or:  void helve ();
Name: HELVES  4
HELVES defines a shaded font with small characters.
The call is:  CALL HELVES                          level 1, 2, 3
         or:  void helves ();
Name: SHDCHA  4
With a call to SHDCHA,  characters of the fonts SERIF, HELVE and
HELVES
will be shaded.
The call is:  CALL SHDCHA                          level 1, 2, 3
         or:  void shdcha ();
Name: PSFONT  4
PSFONT defines a PostScript font.
The call is:  CALL PSFONT (CFONT)                  level 1, 2, 3
         or:  void psfont (const char *cfont);
CFONT         is a character  string containing  the font. Stan-
              dard font names in PostScript are:

           Times-Roman                    Courier
           Times-Bold                     Courier-Bold
           Times-Italic                   Courier-Oblique
           Times-BoldItalic               Courier-BoldOblique
           Helvetica                      AvantGarde-Book
           Helvetica-Bold                 AvantGarde-Demi
           Helvetica-Oblique              AvantGarde-BookOblique
           Helvetica-BoldOblique          AvantGarde-DemiOblique
           Helvetica-Narrow               Bookman-Light
           Helvetica-Narrow-Bold          Bookman-LightItalic
           Helvetica-Narrow-Oblique       Bookman-Demi
           Helvetica-Narrow-BoldOblique   Bookman-DemiItalic
           NewCenturySchlbk-Roman         Palatino-Roman
           NewCenturySchlbk-Italic        Palatino-Italic
           NewCenturySchlbk-Bold          Palatino-Bold
           NewCenturySchlbk-BoldItalic    Palatino-BoldItalic
           ZapfChancery-MediumItalic      Symbol
           ZapfDingbats
Notes:      - The file format  must be set to 'PS', 'EPS', 'PDF'
              or 'SVG'  with the routine  METAFL. For SVG files,
              the Times,  Helvetica  and  Courier  fonts  can be
              used. 
            - Font names cannot be shortened. Some printers pro-
              vide additional  non-standard fonts.  These  fonts
              should  be specified  exactly in  upper  and lower
              characters  as they are described  in the  printer
              manuals.  PostScript  suppresses  any graphics  if
              there is a syntax error in the font name. Standard
              font names are not case-sensitive.
            - A call to a DISLIN font resets PostScript fonts.
Name: WINFNT  4
WINFNT defines a TrueType font  for screen output on Windows
displays.
The call is:  CALL WINFNT (CFONT)                  level 1, 2, 3
         or:  void winfnt (const char *cfont);
CFONT         is a  character  string  containing  the font. The 
              following fonts can normally be used on a  Windows
              operating system:

              Courier New
              Courier New Bold
              Courier New Italic
              Courier New Bold Italic
              Times New Roman
              Times New Roman Bold
              Times New Roman Italic
              Times New Roman Bold Italic
              Arial
              Arial Bold
              Arial Italic
              Arial Bold Italic

Note:         The coding of a Windows font should  correspond to
              the character coding defined with CHACOD. 
              For example,  if the character coding in CHACOD is
              set  to   'STANDARD'  or  'ISO1',  an  ISO-Latin-1
              should be used.  If the character coding is set to
              'UTF8', a Unicode font should be loaded.  
Name: X11FNT  4
X11FNT  defines an X11 font  for screen output on  X11 displays. 
The call is:  CALL X11FNT (CFONT, COPT)            level 1, 2, 3
         or:  void x11fnt (const char *cfont, const char *copt);
CFONT         is a character  string  containing  the first part
              of an X11 font.
COPT          is a character string containing the last part  of
              an  X11 font. IF COPT = 'STANDARD', the value 
              '-*-*-*-*-iso8859-1' is used for the last  part of
              an X11 font.
Notes:      - CFONT  must  begin  and end with the separator '-'
              and must  contain  the first five fields of an X11
              font. DISLIN adds then the point size and a trans-
              formation matrix to the font.  IF COPT has not the
              value 'STANDARD', it must begin with the character
              '-'  and contain the last 6 fields of an X11 font.
            - Here are  some  examples for the  contents  of 
              CFONT:  -Adobe-Times-Medium-R-Normal-
                      -Adobe-Times-Bold-R-Normal-
                      -Adobe-Times-Bold-I-Normal-
                      -Adobe-Helvetica-Bold-R-Normal-
                      -Adobe-Courier-Medium-R-Normal-
            - The coding of the  X11  font should  correspond to 
              the coding defined with CHACOD (see WINFNT).
Name: BMPFNT  4
BMPFNT defines a DISLIN bitmap font that can be used  for screen
output and raster formats such as PNG and TIFF. 
The call is:  CALL BMPFNT (CFONT)                  level 1, 2, 3
         or:  void bmpfnt (const char *cfont);
CFONT         is a  character  string  that can  have the values
              'COMPLX', 'SIMPLX' and 'HELVE'.
Note:         DISLIN  bitmap  fonts  are  added  to increase the 
              quality of directly created raster formats such as
              PNG and TIFF where  X11 and  TrueType fonts cannot  
              be used.
Name: TTFONT  4
TTFONT loads a Windows TrueType font. The characters of the font
can be used for all Dislin output devices.  By default, only the
outlines of the  characters  are plottted.  After the  statement
CALL SHDCHA characters will be shaded.

The call is:  CALL TTFONT (CFILE)                  level 1, 2, 3

CFILE         is a character string that contains  the  filename
              of a TrueType font.  If the filename does not con-
              tain a full directory path,  the file is  searched
              in the current directory, in the Windows fonts and
              in the Dislin fonts directory. For Linux, the font
              is also searched in the directory 
              '/usr/X11R6/lib/X11/fonts/truetype/'.
Note:         The intention  of this routine is to  make Unicode
              characters  available  for all  Dislin output for-
              mats.
Name: HWFONT  4
The routine  HWFONT  sets a standard hardware  font  if hardware
fonts are supported by the current file format.  For example, if
the file format is PostScript,  the font  'Times Roman' is used,
if the file format is  'CONS'  or  'XWIN',  'Times New Roman' is 
used for Windows and '-*-Times-Bold-R-Normal-'  is used for X11.
If no hardware fonts are supported, COMPLX is used.
The call is:  CALL HWFONT                          level 1, 2, 3
         or:  void hwfont ();
Name: CHACOD  4
The routine CHACOD defines the coding of characters.  
The call is:  CALL CHACOD (COPT)                   level 1, 2, 3
         or:  void chacod (const char *copt);
COPT          is a  character  string  that can have  the values
              'STANDARD',   'ISO1',   'ISO2',   'ISO3',  'ISO5',
              'ISO7',  'KOI8' and 'UTF8'. The keyword 'STANDARD'
              means the DISLIN coding of characters as displayed
              in the figures  6.4 to  6.10 of the DISLIN manual. 
              'ISO5'  and  'KOI8'  are  encodings  for  Cyrillic
              characters  while  'ISO7'  is  a coding  for Greek
              characters. 'UTF8' is a coding for Unicode charac-
              ters. If COPT  is not  'STANDARD',  the  coding is
              mapped to the available DISLIN characters.  
                                            Default: 'STANDARD'.
Name: BASALF  4
BASALF defines the base alphabet.
The call is:  CALL BASALF (CALPH)                  level 1, 2, 3
         or:  void basalf (const char *calph);
CALPH         is a  character string  that  can have  the values
              'STANDARD', 'ITALIC', 'GREEK', 'SCRIPT', 'RUSSIAN'
              and 'MATHEMATIC'. These alphabets can be used with
              all fonts.                    Default: 'STANDARD'.
Name: SMXALF  4
SMXALF defines shift characters to shift between the base and an
alternate alphabet.
The call is:  CALL SMXALF (CALPH, C1, C2, N)       level 1, 2, 3
         or:  void smxalf (const char *calph, const char *c1, 
                                         const char *c2, int n);
CALPH         is a character string  containing an alphabet.  In
              addition  to the  names in  BASALF, CALPH can have
              the value 'INSTRUCTION'.
 C1           is a character that shifts to the alternate alpha-
              bet.
 C2           is a character that shifts back to the base alpha-
              bet.  C1 and C2  may be identical.  After the last
              plotted character  of a character  string,  DISLIN
              automatically shifts back to the base alphabet.
 N            is an integer between 1 and 6.  Up to 6  alternate
              alphabets can be defined.
Name: PSMODE  4
The routine PSMODE sets PostScript options.
The call is:  CALL PSMODE (COPT)                level 0, 1, 2, 3
         or:  void psmode (const char *copt);
COPT          is a  character  string that can  have  the values
              'NONE',  'GREEK',  'ITALIC',  'BOTH', 'SINGLE' and 
              'MULTI'. The options 'GREEK', 'ITALIC' and  'BOTH'
              enable Greek and Italic PostScript characters.  If
              they are disabled,  DISLIN  vector  characters are
              used. PSMODE must be called in level 1, 2 or 3 for
              this options.
              The option  'SINGLE'  defines  an old-style  Post-
              Script  format  without  PostScript  commands  for
              multiple pages.  PSMODE must be  called in level 0
              for the options 'SINGLE' and 'MULTI'.
                                      Defaults: 'NONE', 'MULTI'.
Name: EUSHFT  4
EUSHFT defines a shift character  to plot special  European cha-
racters.
The call is:  CALL EUSHFT (CNAT, C)                level 1, 2, 3
         or:  void eushft (const char *cnat, const char *c);
CNAT          is a  character string  that can  have  the values
              'GERMAN', 'FRENCH', 'SPANISH', 'DANISH',  'ACUTE',
              'GRAVE', 'CIRCUM' and 'TURKISH'.
C             is a  shift  character.  For example  with  CNAT =
              'GERMAN',  the characters  A, O, U, a, o, u  and s
              placed directly after C will be plotted as Ae, Oe,
              Ue, ae, oe, ue and ss.  With CNAT = 'DANISH',  the
              characters A, O, E, a, o  and e will be plotted as
              A-ring, O-slash, AE, a-ring, o-slash and ae.
Notes:      - Shift characters can be defined multiple where the
              characters must be different.
           -  The Turkish  characters are only supported by COM-
              PLX and  by the bitmap  fonts defined with BITMAP.
              The other  European characters are also  supported
              by PostScript.
           -  If the shift  characters  should  be  plotted in a
              text string, they must be doubled.
           -  European  characters  are  not  available  for the
              character codings 'ISO5', 'ISO7' and 'KOI8'.
Name: MIXALF  3
Indices and exponents can be plotted by using control characters
in characters strings.  The routine  MIXALF instructs  DISLIN to
search for control characters in character strings.
The call is:  CALL MIXALF                          level 1, 2, 3
         or:  void mixalf ();
Note:         The predefined character

        [     is used for exponents. The character height is re-
              duced by the scaling factor  FEXP  and the  pen is
              moved up  FBAS * NH  plot coordinates  where NH is
              the current character height.
        ]     is used for indices. The pen is moved down  FBAS *
              NH  plot coordinates  and  the character height is
              reduced by the scaling factor FEXP.
        $     is used  to move  the pen  back  to the base-line.
              This will  automatically  be done  at the end of a
              character string.

FBAS and FEXP have the default values 0.6 and 0.8, respectively,
these values can be changed with the routines SETBAS and SETEXP.
Name: SETBAS  3
SETBAS defines the position of indices and exponents.  This rou-
tine also affects logarithmic axis labels.
The call is:  CALL SETBAS (FBAS)                   level 1, 2, 3
         or:  void setbas (float fbas);
FBAS          is a real number used as a scaling factor. The pen
              will be moved up or down by  FBAS * NH  plot coor-
              dinates to  plot exponents  or indices.  NH is the
              current  character height.
                                            Default:  FBAS = 0.6
Name: SETEXP  3
SETEXP sets the character height of indices and exponents.
The call is:  CALL SETEXP (FEXP)                   level 1, 2, 3
         or:  void setexp (float fexp);
FEXP          is a  real number  used as  a scaling factor.  The
              character height of indices and  exponents  is set
              to  FEXP * NH  where NH  is the current  character
              height.                       Default:  FEXP = 0.8
Name: NEWMIX  3
NEWMIX defines an alternate set of control characters  for plot-
ting indices and exponents.  The default characters '[', ']' and
'$' are replaced by '~', '_' and '%'.
The call is:  CALL NEWMIX                          level 1, 2, 3
         or:  void newmix ();
Name: SETMIX  3
SETMIX  defines global  control characters for plotting  indices
and exponents.
The call is:  CALL SETMIX (C, CMIX)                level 1, 2, 3
         or:  void setmix (const char *c, const char *cmix);
C             is a new control character.
CMIX          is a character string that defines the function of
              the  control character.  CMIX can have  the values
              'EXP',  'IND',  'RES',  'LEG'  and 'TEX' for expo-
              nents, indices,  resetting the base-line,  newline
              and TeX commands. 
Note:         The routines  NEWMIX  and SETMIX  only modify  the
              control characters.  A call to  MIXALF  is  always
              necessary to plot indices and exponents.
Name: TEXMOD  3
The routine TEXMOD can be used to enable TeX mode in DISLIN.  In 
TeX mode,  all character strings passed to  DISLIN  routines can 
contain  TeX instructions for plotting mathematical formulas.
The call is:  CALL TEXMOD (CMODE)                  level 1, 2, 3 
         or:  void texmod (const char *cmode);
CMODE         is a character string  that  can have  the  values
              'ON' and 'OFF'.  CMODE = 'ON' enables TeX mode and 
              CMODE = 'OFF' disables TeX mode.
                                         Default: CMODE = 'OFF'.
Name: TEXOPT  3
The routine TEXOPT sets some TeX options.
The call is:  CALL TEXOPT (COPT, CTYPE)            level 1, 2, 3 
COPT          is a character string that defines an option.
CTYPE         is a  character  string  containing a keyword.
 = 'LIMITS'   means that the  limits for sums and integrals will
              be placed  above  and below  the  sum and integral
              signs  instead  of  following  them. COPT can have
              the values 'ON' and 'OFF'.
 = 'ITALIC'   means  that for math mode variables will be put in
              italics.  COPT  can  also have the values 'ON' and 
              'OFF'.
 = 'BRACK'    means that the Dislin Mathematical vector font can
              be used  for  bracket symbols  even if a  hardware
              font is enabled.  COPT  can have the values 'STAN-
              DARD' and 'VECTOR'.    
                    Default: ('ON', 'LIMITS'), ('ON', 'ITALIC'),
                                          ('BRACK', 'STANDARD').
Name: TEXVAL  3
The routine  TEXVAL  defines  some  scaling and  shifting values
that are used in TeX formulas.
The call is:  CALL TEXVAL (X, COPT)                level 1, 2, 3 
X             is a floating point variable containing the value.
COPT          is a character string.
  = 'KEY'     defines a factor  for the  size of indices and ex-
              ponents.
  = 'H1BR'    sets  additional spaces  that  are  plotted  after
              bracket symbols  defined  with  \left  and  before
              bracket symbols defined with \right. 
  = 'H2BR'    sets  additional  spaces  that are plotted  before
              bracket  symbols  defined  with  \left  and  after
              bracket symbols defined with \right. 
  = 'VBRACK'  defines a scaling factor for the  size of  bracket
              symbols.
  = 'WBRACK'  defines a scaling factor for the width of  bracket
              symbols. This option is useful for big brackets in
              PostScript fonts.
              Defaults:              (1.0, 'EXP'), (0.0, 'H1BR),
                   (0.0, 'H2BR), (1.0, 'VBRACK), (1.0, 'WBRACK).
Name: CHNCRV  10
CHNCRV  defines attributes that will be automatically changed by
CURVE after a certain number of calls to the routine CURVE.
The call is:    CALL CHNCRV (CATT)                 level 1, 2, 3
         or:    void chnvrv (const char *catt);
CATT = 'NONE'   means that CURVE changes no attributes.
     = 'COLOR'  means that colours will be changed.
     = 'LINE'   means that line styles will be changed.
     = 'BOTH'   means that colours and line styles will be chan-
                ged.                     Default: CATT = 'NONE'.
Note:           The sequence  of colours is   WHITE/BLACK,  RED,
                GREEN, YELLOW, BLUE, ORANGE, CYAN and MAGENTA.
                The sequence of line styles is SOLID, DOT, DASH,
                CHNDSH, CHNDOT, DASHM, DOTL and DASHL.
                The symbol number is always changed.  It will be
                incremented by 1  starting with the current sym-
                bol defined by MARKER.
Name: INCCRV  10
INCCRV defines the number of calls after which  CURVE will auto-
matically change attributes.
The call is:  CALL INCCRV (NCRV)                   level 1, 2, 3
         or:  void inccrv (int ncrv);
NCRV          is the number of curves  that will be plotted with
              identical attributes.
                                               Default: NCRV = 1
Name: CHNATT  10
CHNATT is an alternative routine to  INCCRV.  It is useful  when
the number of curves  plotted with identical attributes  varies.
CHNATT defines new attributes  that will be used by CURVE during
the next call.
The call is:  CALL CHNATT                          level 1, 2, 3
         or:  void chnatt ();
Notes:      - CHNATT changes only attributes specified with CHN-
              CRV.
            - Attributes  cannot be skipped  by  calling  CHNATT
              several times;  the order of  the attribute cycles
              must be changed.
Name: RESATT  10
In general,  curve attributes will  be repeated after 8 changes.
With the routine RESATT, the attributes can be reset earlier.
The call is:  CALL RESATT                          level 1, 2, 3
         or:  void resatt ();
Name: INCMRK  10
INCMRK selects line or symbol mode for CURVE.
The call is:  CALL INCMRK (NMRK)                   level 1, 2, 3
         or:  void incmrk (int nmrk);
NMRK = -n     means that  CURVE plots  only symbols.  Every n-th
              point will be marked by a symbol.
     =  0     means that CURVE connects points with lines.
     =  n     means that CURVE  plots lines and marks every n-th
              point with a symbol.
                                               Default: NMRK = 0
Name: MARKER  10
The symbols used to plot points can be selected with the routine
MARKER. The symbol number will be  incremented by 1 after a cer-
tain number of calls to CURVE defined by INCCRV.
The call is:  CALL MARKER (NSYM)                   level 1, 2, 3
         or:  void marker (int nsym);
NSYM          is the symbol number between -1 and 21.  The value
              -1 means that no symbol is plotted.
                                               Default: NSYM = 0
Name: MRKCLR  10
The routine  MRKCLR sets the colour of symbols plotted by CURVE,
so that different colours for curves and symbols can be used. 
The call is:  CALL MRKCLR (NCLR)                   level 1, 2, 3
         or:  void mrkclr (int nclr);
NCLR          is a colour value.  If NCLR = -1, the current col-
              our is selected for symbols in curves.
                                              Default: NCLR = -1
Name: HSYMBL  5
HSYMBL defines the size of symbols.
The call is:  CALL HSYMBL (NHSYM)                  level 1, 2, 3
         or:  void hsymbl (int nhsym);
NHSYM         is the size of symbols in plot coordinates.
                                             Default: NHSYM = 35
Name: MYSYMB  5
MYSYMB sets a user-defined symbol.
The call is:  CALL MYSYMB (XRAY, YRAY, N, ISYM, IFLAG)
                                                   level 1, 2, 3
         or:  void mysymb (const float *xray, const float *yray, 
                           int n, int isym, int iflag);
XRAY, YRAY    are the X- and Y-coordinates  of the symbol in the
              range -1 and 1.
N             is the number of coordinates in XRAY and YRAY.
ISYM          is a non negative number that will be used as sym-
              bol number.
IFLAG         is an  Integer  that can have the values 0 and  1.
              If IFLAG = 1, the symbol will be filled.
Note:         The number of points in  MYSYMB is limited  to 100
              for Fortran 77.  There is no  limitation for the C
              and Fortran 90 versions of DISLIN. 
Name: THKCRV  10
THKCRV defines the thickness of curves.
The call is:  CALL THKCRV (NTHK)                   level 1, 2, 3
         or:  void thkcrv (int nthk);
NTHK          is the thickness of curves in plot coordinates.
                                          Default:      NTHK = 1
Name: GAPCRV  10
GAPCRV defines a data gap used in the routine CURVE. If the dis-
tance between two neightbouring  X coordinates  is greater  than
the gap value, CURVE will not connect these data points.  
The call is:  CALL GAPCRV (XGAP)                   level 1, 2, 3
         or:  void gapcrv (float xgap);
XGAP          is the gap value.
Name: GAPSIZ  10
GAPSIZ  defines a data gap  used in the routines  CURVE,  CURVMP
and CURV3D.  This  routine is an extension to  GAPCRV and can be
used for X-, Y- and Z-coordinates.
The call is:  CALL GAPSIZ (XGAP, CAX)              level 1, 2, 3
         or:  void gapsiz (float xgap, const char *cax);
XGAP          is the gap value.
CAX           is a character  string  that defines the axes. CAX
              can have the values 'X', 'Y', 'Z', any combination
              of these values, or the keyword 'RESET'.
Name: NANCRV  10
The routine NANCRV can be used to  enable the  checking  for un-
defined values (NaN)  in curves.  NaN values  will be plotted as 
gaps and their count is reported in the DISLIN protocol.  
The call is:  CALL NANCRV (CMODE)                  level 1, 2, 3 
CMODE         is a  character  string  that can have  the values 
              'ON' and 'OFF'.
                                         Default: CMODE = 'OFF'.
Name: POLCRV  10
The routine POLCRV defines an interpolation method used by CURVE
to connect points.
The call is:   CALL POLCRV (CPOL)                  level 1, 2, 3
         or:   void polcrv (const char *cpol); 
CPOL           is a character string containing  the  interpola-
               tion method.
  = 'LINEAR'   defines linear interpolation.
  = 'STEP'     defines step interpolation.
  = 'STAIRS'   defines step interpolation.
  = 'BARS'     defines bar interpolation.
  = 'FBARS'    defines filled bar interpolation.
  = 'STEM'     defines stem interpolation.
  = 'SPLINE'   defines spline interpolation.
  = 'PSPLINE'  defines parametric spline interpolation.
  = 'CURVE'    defines a curve interpolation  between two points
               in a Smith chart.
                                       Default: CPOL = 'LINEAR'.
Notes:       - The width of bars can be set with BARWTH.
             - For spline interpolation,  the X-coordinates must
               have different values  and be in ascending order.
               There is no  restriction for a parametric spline.
               The order of spline polynomials and the number of
               interpolated points can be modified with SPLMOD.
Name: SPLMOD  10
SPLMOD defines the order of polynomials and the number of inter-
polated points  used for the interpolation methods  'SPLINE' and
'PSPLINE'.
The call is:   CALL  SPLMOD (NGRAD, NPTS)          level 1, 2, 3
         or:   void  splmod (int ngrad, int npts); 
NGRAD          is the order of the spline polynomials  (2 - 10).
NPTS           is the number  of points that will be  interpola-
               ted in the range XRAY(1)  to XRAY(N).  This value
               should  be  greater  than  the  number  of points 
               passed to curve.
                                              Default: (3, 200).
Name: BARWTH  10
BARWTH sets the width of bars plotted by CURVE.
The call is:  CALL BARWTH (XWTH)                   level 1, 2, 3
         or:  void barwth (float xwth);
XWTH          defines  the bar width. If positive,  the absolute
              value of XWTH * (XRAY(1)-XRAY(2)) is used.
              If negative,  the absolute value of  XWTH is  used
              where XWTH is specified in plot coordinates.
                                            Default: XWTH = 0.75
Note:         If XWTH is positive and polar  scaling is enabled,
              the absolute value of  XWTH * (YRAY(2) -  YRAY(1))
              defines the width of bars. If XWTH is negative for
              polar scaling, the absolute value of XWTH  is used
              where  XWTH must be specified in degrees.
Name: NEGLOG  10
For a  logarithmic scaling,  the routine  CURVE  suppresses  the
plotting of curves if some of the data have non positive values.
With a call to NEGLOG,  non positive values  will be interpreted
positive. 
The call is:  CALL NEGLOG (EPS)                    level 1, 2, 3
         or:  void neglog (float eps);
EPS           is a  positive  user coordinate  used for negative
              coordinates.     
Name: NOCHEK  10
The routine  NOCHEK can be used to suppress the listing of curve
points that lie outside of the axis scaling.
The call is:  CALL NOCHEK                          level 1, 2, 3
         or:  void nochek ();
Name: STMMOD  10
The routine STMMOD modifies the behaviour of streamlines.
The call is:  CALL STMMOD (CMOD, CKEY)             level 1, 2, 3 
         or:  void stmmod (const char *cmod, const char *ckey);
CMOD          is a character string that defines a mode.
CKEY          is a  character  string that  can have  the values 
              'INTEGRATION', 'ARROWS' and 'CLOSED'. The  keyword
              'INTEGRATION'  defines the integration method used
              for streamlines.  For this keyword,  CMOD can have
              the values  'EULER',  'RK2'  and 'RK4'.  'RK2' and
              'RK4' mean  Runke-Kutta integration of  second and
              fourth order.
              For the keywords  'ARROWS' and 'CLOSED',  COPT can 
              have the values  'ON' and 'OFF'.  'ARROWS' enables
              arrows  at streamlines  and the  keyword  'CLOSED'
              means that  DISLIN  tries to detect closed stream-
              lines.  A good integration  method  such as  'RK4'
              should be used fro this mode.  
                               Defaults: ('RK2', 'INTEGRATION'),
                           ('OFF', 'ARROWS'), ('OFF', 'CLOSED').
Name: STMOPT  10
The routine STMOPT defines some streamline options.
The call is:  CALL STMOPT (N, CKEY)                level 1, 2, 3 
         or:  void stmopt (int n, const char *ckey);
N             is an integer option.
CKEY          is a character string  containing  one of the fol-
              lowing keywords:
 = 'POINTS'   defines the number of points after that the calcu-
              lation of streamlines will be terminated.  The de-
              fault value is 1000 points.
 = 'ARROW'    specifies  the form of  arrows that can be plotted
              at streamlines.                  Default: N = 1201
 = 'STREAMS'  defines  the number  of starting  points  around a
              seedpoint  that  are  used for finding new stream-
              lines  if automatic  streamline  generation is en-
              abled for the routine STREAM3D. (N >= 4).
                                                  Default: N = 4
 = 'HITS'     sets  the  number of minimal hits for the fast LIC
              algorithm  that are required for each  image pixel
              (N >= 1).                           Default: N = 1
 = 'LICL'     sets the filter length for the fast LIC algorithm.
              The total filter length is: 2*N+1. 
                                                 Default: N = 10
 = 'LICM'     defines the length of a  streamline in points that
              is  used to calculate multiple image pixels in the
              fast LIC algorithm. 
                                                Default: N = 100
Name: STMVAL  10
The  routine  STMVAL  defines  some  floating point  options for 
streamlines.
The call is:  CALL STMVAL (X, CKEY)                level 1, 2, 3 
         or:  void stmval (float x, const char *ckey); 
X             is a floating point option.
CKEY          is a character string  containing  one of the fol-
              lowing keywords:
 = 'STEP'     defines  the  integration  step.  The size  of the
              integration  step  is  X * (XPMAX - XPMIN),  where 
              XPMIN  and  XPMAX  are  the  minimum  and  maximum 
              values of the array XPRAY in STREAM or STREAM3D.
                                              Default: X = 0.01.
 = 'DISTANCE' sets  the  distance  of  streamlines  for  evenly-
              spaced streamlines. The distance is calculated
              as  X * (XPMAX - XPMIN). The distance value should
               be greater than the integration step.
                                              Default: X = 0.02.
 = 'ARROWS'   defines  the  space  between  arrows   plotted  at
              streamlines. The used space between arrows is:
              X * X-axis length.                  Default: 0.25.
 = 'TEST'     defines  a test value  for  evenly-spaced  stream-
              lines.  The  calculation  of a  new streamline  is 
              stopped if the distance to any already  calculated
              streamlines is lower than X * distance, where dis-
              tance is the value for the keyword 'DISTANCE'.
                                               Default: X = 0.5.
 = 'CLOSED'   sets  a  distance  value  for  detecting a  closed 
              streamline.  The  calculation  of a  streamline is
              terminated if the distance  of a new seedpoint  to
              the  starting point is closer than this value. The
              used distance is  X *  (XPMAX - XPMIN).
                                             Default: X = 0.005.
 = 'LICSTEP'  defines the integration step  for streamlines that
              are calculated in the LIC algorithm  used  by  the
              routine LICPTS.
                                               Default: X = 0.5.     
Name: LICMOD  10
The routine  LICMOD modifies  the behaviour of the Line Integral
Convolution algorithm in the routine LICPTS.
The call is:  CALL LICMOD (CMOD, CKEY)             level 1, 2, 3 
         or:  void stmmod (const char *cmod, const char *ckey);
CMOD          is a  character  string  that can  have the values
              'ON' and 'OFF'.
CKEY          is a  character  string that  can have  the values 
              'FAST' and 'SCALE'. The keyword 'FAST' enables  or
              disables the fast  LIC  algorithm  where a  single
              streamline  is  used to  calculate  multiple image  
              pixels.  The image  pixels  can be scaled with the
              vectors lengths  if the keyword  'SCALE'  is  used
              with the mode 'ON'.
                                        Defaults: ('ON', 'FAST',
                                               ('OFF', 'SCALE').
Name: SOLID   12
The routine SOLID defines a solid line style.
The call is:  CALL SOLID                           level 1, 2, 3
         or:  void solid ();
Name: DOT     12
The routine DOT defines a dotted line style.
The call is:  CALL DOT                             level 1, 2, 3
         or:  void dot ();
Name: DASH    12
The routine DASH defines a dashed line style.
The call is:  CALL DASH                            level 1, 2, 3
         or:  void dash ();
Name: CHNDSH  12
The routine CHNDSH defines a dashed-dotted line style.
The call is:  CALL CHNDSH                          level 1, 2, 3
         or:  void chndsh ();
Name: CHNDOT  12
The routine CHNDOT defines a dotted-dashed line style.
The call is:  CALL CHNDOT                          level 1, 2, 3
         or:  void chndot ();
Name: DOTL    12
The routine DOTL defines a long-dotted line style.
The call is:  CALL DOTL                            level 1, 2, 3
         or:  void dotl ();
Name: DASHL   12
The routine DASHL defines a long-dashed line style.
The call is:  CALL DASHL                           level 1, 2, 3
         or:  void dashl ();
Name: DASHM   12
The routine DASHM defines a medium-dashed line style.
The call is:  CALL DASHM                           level 1, 2, 3
         or:  void dashm ();
Name: LINTYP  12
The routine LINTYP defines a line style.
The call is:  CALL LINTYP (NTYP)                   level 1, 2, 3
         or:  void lintyp (int ntyp);
NTYP          is an integer  that can have  the values 0: SOLID,
              1: DOT, 2: DASH, 3: CHNDSH,  4: CHNDOT,  5: DASHM,
              6: DOTL and 7: DASHL.
                                               Default: NTYP = 0
Name: MYLINE  12
MYLINE defines a global line style.
The call is:  CALL MYLINE (NRAY, N)                level 1, 2, 3
         or:  void myline (const int *nray, int n);
NRAY          is an array  of  positive integers  characterizing
              the line style.  Beginning with  pen-down,  a pen-
              down and pen-up will be done alternately according
              to the specified lengths in NRAY. The lengths must
              be given in plot coordinates.
N             is the number of elements in NRAY.
Examples:     The values of NRAY for the predefined  line styles
              are given below:

              SOLID :        NRAY = {1}
              DOT   :        NRAY = {1, 10}
              DASH  :        NRAY = {10, 10}
              CHNDSH:        NRAY = {30, 15, 10, 15}
              CHNDOT:        NRAY = {1, 15, 15, 15}
              DASHM :        NRAY = {20, 15}
              DOTL  :        NRAY = {1, 20}
              DASHL :        NRAY = {30, 20}
Name: LINCLR  12
The routine  LINCLR  defines colour  values for the pen-downs in
line styles. The colours are ignored for solid lines.
The call is:  CALL LINCLR (NRAY, N)                level 1, 2, 3
         or:  void linclr (const int *nray, int n);
NRAY          is an array  of colour values.
N             is the number of  elements in NRAY  (N <= 10). The
              default  value  N = 0  disables  colours  for line 
              styles.
Name: LINWID  12
The routine LINWID sets the line width.
The call is:   CALL LINWID (NWIDTH)                level 1, 2, 3
         or:   void linwid (int nwidth); 
NWIDTH         is the line width in plot coordinates.
                                             Default: NWIDTH = 1
Note:          DISLIN tries  to use  hardware  features  for the
               line width.  This can be disabled with the option
               HWMODE ('OFF', 'LINE'). 
Name: LINMOD  12
The routine LINMOD enables  anti-aliased lines  in image formats
such as  PNG,  BMP and TIFF.  True colour  mode  is required for 
anti-aliased lines (see IMGFMT).
The call is:  CALL LINMOD (CMODE, CKEY)            level 1, 2, 3
CMOD          is a  character string  that can contain the modes
              'ON' and 'OFF'.
CKEY          is a character  string  that  can  have  the value 
              'SMOOTH'. 
                                     Default: ('OFF', 'SMOOTH').
Name: PENWID  12
The routine PENWID sets the pen width.  PENWID has the same mea-
ning as  LINWID  but can be used  to define a smaller line width
than 1 (i.e. for PostScript files).
   
The call is:   CALL PENWID (XWIDTH)                level 1, 2, 3
         or:   void penwid (float xwidth); 
XWIDTH         is the pen width in plot coordinates.
                                            Default: XWIDTH = 1.
Name: LNCAP   12
The routine LNCAP sets the current line cap parameter.
The call is:   CALL LNCAP (CAP)                    level 1, 2, 3
         or:   void lncap (const char *cap); 
CAP            is a character string defining the line cap.
  = 'ROUND'    defines rounded caps.
  = 'CUT'      defines square caps.
  = 'LONG'     defines  square caps  where  stroke  ends will be
               continued equal to half the line width. 
                                          Default: CAP = 'LONG'.
Name: LNJOIN  12
The routine LNJOIN sets the current line join parameter.
The call is:   CALL LNJOIN (CJOIN)                 level 1, 2, 3
         or:   void lnjoin (const char *cjoin); 
CJOIN          is a  character  string containing the line join.
  = 'SHARP'    defines sharp corners between path segments.
  = 'TRUNC'    defines truncated corners between path segments.
                                        Default: CJOIN = 'TRUNC'
Name: LNMLT   12
The routine  LNMLT  sets the current miter limit parameter. This
routine can be useful if the line join is set to 'SHARP'. 
The call is:   CALL LNMLT (XFC)                    level 1, 2, 3
         or:   void lnmlt (float xfc); 
XFC            is a floating point number where XFC * line width
               will be used as the miter limit. The miter length
               is the  distance  between  the inner and  outside
               edge of a path corner.    
