next up previous contents index
Next: REAL FUNCTION SYMSS Up: Description of Plotting Previous: SUBROUTINE SYMBOL

REAL FUNCTION SYMS

   SYMS plots characters.  SYMS is similar to SYMBOL but provides additional math and plotting symbols as well as several character fonts (including  Greek characters). SYMS has primitive positioning capability to permit complicated equations to be plotted. All but the 8th font have variable width characters. The duplex fonts are produce the appearance of solid characters when the plotting scale is small. The number of characters in the input string s plotted and/or interpreted can be specified. If an ASCII null (0) is encountered in the string after the first position, the routine terminates.

The ASCII character ``'' (decimal 93) is used as a control character to change fonts or subscripting options. The character following the ``'' character is interpretted according to the following table:


SYMS Options

ASCII Character   Decimal       Effect
_______________   _________     ________
     0-9          48-57         Change to font (0-9)
     ; or (space)  59 or 32     Move forward one standard space
      :	           58           Move forward 1/2 standard space
      ,	           44           Move forward 1/4 standard space
      |	          124           Move backward one standard space
      =	           61           Move backward 1/2 standard space
      !	           33           Move backward 1/4 standard space
      @	           64           Reset font, scale, etc. to default values
      _	           95           Begin subscripting
      ]	           93           Back up last character
      ^	           94           Begin superscripting
      [	           91           Reset current level of sub/super script
      L	           76           Move lower 1/2 line
      R	           82           Move higher 1/2 line
      `	           96           Change scale (if next character is
                                  "+" increase scale size by 2
                                  "-" decrease scale size by 2)
      O	           79           Begin over printing
      U            85           Begin under printing

                                Other characters are no-ops
The number of characters in the string should include control characters.

The width of one space is moved when moving forward or backward. Back up returns the positioning to the start of the last character. Up to 6 back up commands can be issued. Super/sub scripting can be done recursively. Only one level is ``popped off'' by the reset current level of sub/super script. Scale changes require an additional character (either a ``+'' or ``-'' to indicate the direction). Over/under printing permit summation and integral limits to be added. Fonts are described in the following Table:

  Fonts Available in SYMS

   Font         Characters      Description
  ______	_____________	____________
    - [all]     ASCII 0-31      Plotting Symbols
    0 [default] ASCII 32-127	Simplex font--variable width
    1           ASCII 32-127    Special math symbols
    2           ASCII 32-127    Simplex Italic
    3           ASCII 32-127    Roman
    4           ASCII 32-127    Roman Italic
    5           ASCII 32-127    Duplex
    6           ASCII 32-127    Simplex Greek
    7           ASCII 32-127    Complex Greek
    8           ASCII 32-127    Crude Simplex--fixed width

For example, the following summation using Greek characters, a  math symbol, and a super scripted variable can be wrtten:

  string = \2A\0=\7R\6a\^2\[\]\_\6n\[\]\]\]\=\U\6n=1\@\]\]\O\1K

       infinity    2
    A = SIGMA alpha
       zeta=1     zeta

SYMS is a real function. The returned value is the final length of the plotted string. When i=2 no plotting is done but the length is returned. When i=-2 the string is plotted and the lower left corner of the next character position after the end of the string is returned in x,y.

rlen = SYMS (x,y,h,s,a,n,i)

x,y    (R): string position (x,y returned if i=-2 or i=-3)
            If x=999 then x is continued from last position in
            prior SYMS call.  If y=999 then y continued.
h      (R): height of the string to be printed
s      (C): character variable containing the text to be plotted
a      (R): angle at which the string is to be plotted 
n      (I): number of characters in string s
i      (I): centering flag
            = -3 : same as -2 but string is not plotted and
                   last position is not affected
            = -2 : same as -1 but returns end point in x,y
            = -1 : (x,y) is lower left corner of plotted string
            =  0 : (x,y) is center of plotted array
            =  1 : (x,y) is lower right corner of plotted string
            =  2 : no plotting, plotted length of string returned

rlen   (R): (returned) length of plotted text string



next up previous contents index
Next: REAL FUNCTION SYMSS Up: Description of Plotting Previous: SUBROUTINE SYMBOL



David Long
Wed Jun 12 10:34:11 MDT 1996