6.3 Text and Numbers H E I G H T HEIGHT defines the character height. The call is: CALL HEIGHT (NHCHAR) level 1, 2, 3 NHCHAR is the character height in plot coordinates. Default: NHCHAR = 36 A N G L E This routine modifies the direction of text plotted with the routines MESSAG, NUMBER, RLMESS and RLNUMB. The call is: CALL ANGLE (NDEG) level 1, 2, 3 NDEG is an angle measured in degrees and a counter- clockwise direction. Default: NDEG = 0 T X T J U S 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 CJUS is a character string that can have the values 'LEFT', 'RIGHT' and 'CENT'. The starting point of text and numbers will be interpreted as up- per left, upper right and upper centre point. Default: CJUS = 'LEFT'. F R M E S S FRMESS defines the thickness of frames around text plotted by MESSAG. The call is: CALL FRMESS (NFRM) level 1, 2, 3 NFRM is the thickness of frames in plot coordina- tes. If NFRM is negative, frames will be thickened from the inside. If positive, frames will be thickened towards the outside. Default: NFRM = 0 N U M F M T NUMFMT modifies the format of numbers plotted by NUMBER and RLNUMB. The call is: CALL NUMFMT (COPT) level 1, 2, 3 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. N U M O D E NUMODE alters the appearance of numbers plotted by NUMBER and RLNUMB. The call is: CALL NUMODE (CDEC, CGRP, CPOS, CFIX) level 1, 2, 3 CDEC is a character string that defines the decimal notation. = 'POINT' defines a point. = 'COMMA' defines a comma. CGRP is a character string that defines the grou- ping 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 preceding 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 spacing. = 'NOEQUAL' is used for proportional spacing. = 'EQUAL' is used for non-proportional spacing. Default: ('POINT','NONE','NONE','NOEQUAL'). C H A S P C CHASPC affects intercharacter spacing. The call is: CALL CHASPC (XSPC) level 1, 2, 3 XSPC is a real number that contains a multiplier. If XSPC < 0, the intercharacter spacing will be reduced by XSPC * NH plot coordinates where NH is the current character height. If XSPC > 0, the spacing will be enlarged by XSPC * NH plot coordinates. Default: XSPC = 0. C H A W T H CHAWTH affects the width of characters. The call is: CALL CHAWTH (XWTH) level 1, 2, 3 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. C H A A N G CHAANG defines an inclination angle for characters. The call is: CALL CHAANG (ANGLE) level 1, 2, 3 ANGLE is the inclination angle between characters and the vertical direction in degrees (-60 <= ANGLE <= 60). Default: ANGLE = 0. F I X S P C All fonts in DISLIN except for the default font are propor- tional. After a call to FIXSPC the characters of a propor- tional font will also be plotted with a constant character width. The call is: CALL FIXSPC (XFAC) level 1, 2, 3 XFAC is a real number containing a scaling factor. Characters will be centred in a box of width XFAC * XMAX where XMAX is the largest charac- ter width of the current font. 6.4 Fonts The following routines define character sets of varying style and plot velocity. All fonts except for the default font DISALF are proportional. Each font provides 6 alpha- bets. The calls are: CALL DISALF - default font CALL SIMPLX - single stroke font CALL COMPLX - complex font CALL DUPLX - double stroke font CALL TRIPLX - triple stroke font CALL GOTHIC - gothic font CALL SERIF - complex shaded font CALL HELVE - shaded font CALL HELVES - shaded font with small cha- racters Note: If one of the shaded fonts SERIF, HELVE or HELVES is used, only the outlines of charac- ters are plotted to minimize plotting time. With the statement CALL SHDCHA characters will be shaded. P S F O N T PSFONT defines a PostScript font. The call is: CALL PSFONT (CFONT) level 1, 2, 3 CFONT is a character string containing the font. Standard 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 'POST' with the routine METAFL. - Font names cannot be shortened. Some printers provide 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. W I N F N T WINFNT defines a TrueType font for screen output on Windows displays. The call is: CALL WINFNT (CFONT) level 1, 2, 3 CFONT is a character string containing the font. The following fonts can normally be used on the Windows 95/NT 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 X 1 1 F N T X11FNT defines an X11 font for screen output on X11 dis- plays. The call is: CALL X11FNT (CFONT, COPT) level 1, 2, 3 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 va- lue '-*-*-*-*-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 transformation 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- H W F O N T 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 Ro- man' is used for Windows 95/98/NT and '-Adobe-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 B A S A L F BASALF defines the base alphabet. The call is: CALL BASALF (CALPH) level 1, 2, 3 CALPH is a character string that can have the values 'STANDARD', 'ITALIC', 'GREEK', 'SCRIPT', 'RUS- SIAN' and 'MATHEMATIC'. These alphabets can be used with all fonts. Default: 'STANDARD'. S M X A L F 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 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 alphabet. C2 is a character that shifts back to the base alphabet. 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 alter- nate alphabets can be defined. E U S H F T EUSHFT defines a shift character to plot special European characters. The call is: CALL EUSHFT (CNAT, CHAR) level 1, 2, 3 CNAT is a character string that can have the values 'GERMAN', 'FRENCH', 'SPANISH', 'DANISH', 'ACUTE' , 'GRAVE' and 'CIRCUM'. CHAR is a shift character. For example, with CNAT = 'GERMAN', the characters A, O, U, a, o, u and s placed directly after CHAR will be plotted as Ae, Oe, Ue, ae, oe, ue and ss. Notes: - Shift characters can be defined multiple where the characters must be different. - European characters are supported by Post- Script fonts and by COMPLX. 6.5 Indices and Exponents The call is: CALL EUSHFT (CNAT, CHAR) level 1, 2, 3 Indices and exponents can be plotted by using control cha- racters in characters strings. There are 3 predefined con- trol characters in DISLIN which can be altered with the rou- tines NEWMIX and SETMIX. The predefined character [ is used for exponents. The character height is reduced 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, respec- tively, these values can be changed with the routines SETBAS and SETEXP. M I X A L F This routine instructs DISLIN to search for control charac- ters in character strings. The call is: CALL MIXALF level 1, 2, 3 S E T B A S SETBAS defines the position of indices and exponents. This routine also affects logarithmic axis labels. The call is: CALL SETBAS (FBAS) level 1, 2, 3 FBAS is a real number used as a scaling factor. The pen will be moved up or down by FBAS * NH plot coordinates to plot exponents or indices. NH is the current character height. Default: FBAS = 0.6. S E T E X P SETEXP sets the character height of indices and exponents. The call is: CALL SETEXP (FEXP) level 1, 2, 3 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 cha- racter height. Default: FEXP = 0.8 N E W M I X NEWMIX defines an alternate set of control characters for plotting indices and exponents. The default characters '[', ']' and '$' are replaced by '^', '_' and '%'. The call is: CALL NEWMIX level 1, 2, 3 S E T M I X SETMIX defines global control characters for plotting indi- ces and exponents. The call is: CALL SETMIX (CHAR, CMIX) level 1, 2, 3 CHAR is a new control character. CMIX is a character string that defines the func- tion of the control character. CMIX can have the values 'EXP', 'IND', 'RES' and 'LEG' for exponents, indices, resetting the base-line, and for multiple text lines in legends, re- spectively. Note: The routines NEWMIX and SETMIX only modify the control characters. A call to MIXALF is always necessary to plot indices and exponents. 6.6 Instruction Alphabet The instruction alphabet contains commands that control pen movements and character sizes during the plotting of charac- ter strings. It is provided for the representation of com- plicated formulas. The instruction alphabet can be used in the same way as other alphabets in DISLIN. Shift characters must be defined with the routine SMXALF to switch between the base and the instruction alphabet. The commands of the instruction alphabet consist of a single character and an optional parameter. If the parameter is omitted, DISLIN will use default values. A parameter can be a real number, an in- teger or the character 'X' which resets the parameter back to the entry value at the beginning of the character string. Commands of the instruction alphabet can only change plot parameters temporarily within a character string. At the end of a character string, all parameters are reset to their entry values. The following table summarizes all instruction commands. The character r means a real parameter and i an integer. The base-line of character strings is placed directly below them. Commands can be given in uppercase or lowercase let- ters. Real parameters can be specified without decimal points while integer parameters cannot have decimal points. Several commands can follow one another. Blanks between com- mands will be ignored. Instruction-Alphabet ------------------------------------------------------------ | Cmd. Par. Default Description | ------------------------------------------------------------ | A real 1. moves the pen horizontally by r * NH | | plot coordinates where NH is the | | current character height. If r < 0, | | the pen will be moved backwards. | | | | C integer 1 moves the pen horizontally by i cha- | | racter spaces. If i < 0, the pen | | will be moved backwards. | | | | D real 1. moves the pen down from the base- | | line by r * NH plot coordinates. If | | r > 0, NH is the entry character | | height. If r < 0, NH is the current | | character height. | | | | E moves the pen up by 0.75 * character | | height and reduces the character | | height by the scaling factor 0.6 | | (for exponents). | | | | F integer 1 moves the pen horizontally by i spa- | | ces. If i is negative, the pen is | | moved backwards. | | | | G integer 1 moves the pen horizontally to the | | tab position with the index i, where | | 1 <= i <= 20. | | | | H real 0.6 sets the character height to r * NH. | | If r > 0, NH is the entry character | | height. If r < 0, NH is the current | | character height. | | | | I moves the pen down by 0.35 * charac- | | ter height and multiplies the cha- | | racter height by 0.6 (for indices). | | | | J integer 1 underscores twice from the tab posi- | | tion i to the current pen position. | | | | K real 0.8 is used to plot characters with con- | | stant widths. Characters will be | | centred in a box with the width | | r * W where W is the largest charac- | | ter length in the current font. The | | global routine is FIXSPC. | | | | L integer 1 underscores from the tab position i | | to the current pen position. | | | | M integer 1 defines the base alphabet. | | (1 = STAND., 2 = GREEK, 3 = MATH., | | 4 = ITAL., 5 = SCRIPT, 6 = RUSSIAN). | ------------------------------------------------------------ ------------------------------------------------------------ | Cmd. Par. Default Description | ------------------------------------------------------------ | N integer 1 sets a colour i, where 0 <= i <= | | 255. The global routine is SETCLR. | | | | O real 0. moves the base-line vertically by | | r * character height. If r < 0 the | | base-line is moved down. | | | | P integer 1 defines a horizontal tab position | | with the index i at the current pen | | position, where 1 <= i <= 20. | | All tab positions are initialized to | | the beginning of the string. | | | | R resets the character height and the | | base-line to their entry values. | | | | S integer 0 plots a symbol with the number i, | | where 0 <= i <= 21. | | | | T integer 0 moves the pen horizontally from the | | beginning of the string by i plot | | coordinates. | | | | U real 1. moves the pen up from the base-line | | by r * NH plot coordinates. If r > | | 0, NH is the entry character height. | | If r < 0, NH is the current charac- | | ter height. | | | | V integer 1 plots a horizontal line from the tab | | position i to the current pen posi- | | tion. The line is moved up from the | | base-line by 0.5 * character height | | plot coordinates. | | | | W real 1. affects the width of characters. The | | global routine is CHAWTH. | | | | Y real 0. affects the character spacing. The | | global routine is CHASPC. | | | | Z real 0. defines an inclination angle for | | characters, where -60 <= r <= 60. | | The global routine is CHAANG. | ------------------------------------------------------------ 6.7 Curve Attributes C H N C R V 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 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 changed. Default: CATT = 'NONE'. Note: The sequence of colours is WHITE/BLACK, RED, GREEN, YELLOW, BLUE, ORANGE, CYAN and MAGEN- TA. 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 symbol defined by MARKER. The following three routines are useful when automatic at- tribute setting is selected and the routine CURVE is called several times to plot a single curve. I N C C R V INCCRV defines the number of calls after which CURVE will automatically change attributes. The call is: CALL INCCRV (NCRV) level 1, 2, 3 NCRV is the number of curves that will be plotted with identical attributes. Default: NCRV = 1 C H N A T T 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 Notes: - CHNATT changes only attributes specified with CHNCRV. - Attributes cannot be skipped by calling CHNATT several times; the order of the attribute cyc- les must be changed. R E S A T T In general, curve attributes will be repeated after 8 chan- ges. With the routine the attributes can be reset earlier. The call is: CALL RESATT level 1, 2, 3 I N C M R K INCMRK selects line or symbol mode for CURVE. The call is: CALL INCMRK (NMRK) level 1, 2, 3 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 M A R K E R The symbols used to plot points can be selected with the routine MARKER. The symbol number will be incremented by 1 after a certain number of calls to CURVE defined by INCCRV. The call is: CALL MARKER (NSYM) level 1, 2, 3 NSYM is the symbol number between 0 and 21. The symbols are shown in appendix B. Default: NSYM = 0 H S Y M B L HSYMBL defines the size of symbols. The call is: CALL HSYMBL (NHSYM) level 1, 2, 3 NHSYM is the size of symbols in plot coordinates. Default: NHSYM = 35 T H K C R V THKCRV defines the thickness of curves. The call is: CALL THKCRV (NTHK) level 1, 2, 3 NTHK is the thickness of curves in plot coordina- tes. Default: NTHK = 1 G A P C R V GAPCRV defines a data gap used in the routine CURVE. If the distance 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 XGAP is the gap value. P O L C R V POLCRV defines an interpolation method used by CURVE to con- nect points. The call is: CALL POLCRV (CPOL) level 1, 2, 3 CPOL is a character string containing the interpo- lation method. = 'LINEAR' defines linear interpolation. = 'STEP' defines step interpolation. = 'STAIRS' defines step interpolation. = 'BARS' defines bar interpolation. = 'STEM' defines stem interpolation. = 'SPLINE' defines spline interpolation. = 'PSPLINE' defines parametric spline interpolation. 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 parame- tric spline. The order of spline polynomials and the number of interpolated points can be modified with SPLMOD. S P L M O D SPLMOD defines the order of polynomials and the number of interpolated points used for the interpolation methods 'SPLINE' and 'PSPLINE'. The call is: CALL SPLMOD (NGRAD, NPTS) level 1, 2, 3 NGRAD is the order of the spline polynomials (2 - 10). It affects the number of points accepted by CURVE which is determined by the formula (2 * NGRAD + 1) * N <= 1000. For example, with a cubic spline, up to 142 points can be passed to CURVE. NPTS is the number of points that will be interpo- lated in the range XRAY(1) to XRAY(N). Default: (3, 200). B A R W T H BARWTH sets the width of bars plotted by CURVE. The call is: CALL BARWTH (XWTH) level 1, 2, 3 XWTH defines the bar width. If positive, the abso- lute value of XWTH * (XRAY(1) - XRAY(2)) is used. If negative, the absolute value of XWTH is used where XWTH is specified in plot coor- dinates. Default: XWTH = 0.75 N O C H E K The routine NOCHEK can be used to suppress the listing of points that lie outside of the axis scaling. The call is: CALL NOCHEK level 1, 2, 3 6.8 Line Attributes L I N E S T Y L E S The routines SOLID, DOT, DASH, CHNDSH, CHNDOT, DASHM, DOTL and DASHL define different line styles. They are called without parameters. The routine LINTYP (NTYP) can also be used to set line styles where NTYP is an integer between 0 and 7 and corresponds to the line styles above. The routine MYLINE sets user-defined line styles. M Y L I N E MYLINE defines a global line style. The call is: CALL MYLINE (NRAY, N) level 1, 2, 3 NRAY is an array of positive integers characteri- zing 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} L I N W I D The routine LINWID sets the line width. The call is: CALL LINWID (NWIDTH) level 1, 2, 3 NWIDTH is the line width in plot coordinates. Default: NWIDTH = 1 Note: To define smaller line widhts than 1 (i.e. for PostScript files), the routine PENWID (XWIDTH) can be used where XWIDTH has the same meaning as NWIDTH. L N C A P The routine LNCAP sets the current line cap parameter. The call is: CALL LNCAP (CAP) level 1, 2, 3 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'. L N J O I N The routine LNJOIN sets the current line join parameter. The call is: CALL LNJOIN (CJOIN) level 1, 2, 3 CJOIN is a character string containing the the line join. = 'SHARP' defines sharp corners between path segments. = 'TRUNC' defines truncated corners between path seg- ments. Default: CJOIN = 'TRUNC'. L N M L T 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 XFC is a floatingpoint 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. Default: XFC = 2.