COLOURS AND FONTSTYLES
  The Forms Library uses the char '@' to specify the colour and font properties
  in which a string is displayed. The user could use this in SPX when defining
  how different messages were displayed. The '@' feature has been implemented
  in SPXII. However, this implementation has some extensions and isnt 100%
  compatible with the xform implementation. If you were using SPX, you'd have
  noticed that you can could only specify the font/colour of the whole line 
  of text, and couldnt display different parts of the line in different
  colours or fonts. That is now possible. Example:

  "/set fmt_other_join @v[%H:%M]@!v %n (@C4%l@@h@!C) has joined @b%c"
  [or (gs-set! 'fmt_other_join "@v[%H:%M]@!v %n (@C4%l@@h@!C) has joined @b%c")]
  [or *.Format.Join: @v[%H:%M]@!v %n (@C4%l@@h@!C) has joined @b%c]

  should now cause the following display:
  
  [21:23] xay (ack@wish.you.knew.net) has joined #test
  
  with the time being displayed in inverse video (@v), ack@wish.you.knew.net
  in blue colour (@C4), and the channel name in bold (@b).
  
  The following are some of the format characters curently available. Note:
  properties are reset on each new line of input.
  @s  - use small font
  @m  - use medium font
  @l  - use large font
  @b  - use bold font
  @i  - italic font
  @f  - fixed font
  @v  - inverse video (swap current foreground/background colours)
  @^  - reset all text properties
  @.  - stop interpreting format charaters from current position till EOL.
        This is useful when defining how messages are displayed since you dont
        want the '@' characters in the messge text to be interpreted! So,
        my channel messages are displayed as defined in ~/.Xdefaults-jupiter:
        *.Format.Your.PublicMessage: @f@D9@b%c @!b@C2%n:@!C@!D@!f@. %p
        %p is the message; %n is my nick, and %c, the channel. See '/help set'.
  @$  - stop interpreting format charaters up to the next occurance of @!$.
        '@$' loses its special meaning if used inside '@.'.
        /set fmt_priv_msg @C4@D7@v@$%n!%l@%h@!$ @!v%D@C1:@C6@. %p
        => nick!user@host in reverse video(white over blue), your nick in blue,
         a red colon, and the message in cyan. The resulting message display is
         extremely silly.
  @@  - insert the character '@'
  @!$ - resume interpretation of '@'.
  @!b - switches back from bold style
  @!v - returns from  reverse video
  @!i - switches back from cursive mode
  @!f - switches back from fixed font
  @!D - resets background colour to default (probably black)
  @!C - resets forgorund colour to default
  @Cx  - specifies the foreground colour. x is the colour index.
  @Dx  - specifies the background colour. x is the colour index.
  
0. Colours
    The back- and foreground colours of a piece of text are specified using
    @Cx and @Dx, respectively.
    x is a positive integer representing the index of the colour you wish to
    use. x should be a valid index, although any number will return a colour.
    The following 15 colours are allocated when client starts up:
      00 - black
      01 - red
      02 - green
      03 - yellow
      04 - blue
      05 - magenta
      06 - cyan
      07 - white
      08 - rgb:40/130/78 (slateblue)
      09 - rgb:69/69/69 (dimgray)
      10 - rgb:5f/9e/a0 (cadet blue)
      11 - rgb:98/fb/98 (pale green)
      12 - rosybrown
      13 - light pink
      14 - plum
      15 - mediumpurple
    You may define new colours yourself using the procedure gs-parse-colour.
    gs-parse-colour returns the index of the newly allocated colour, or FALSE
    colour could not be parsed. The returned index is always greated then 15.
    
    Usage: (gs-parse-colour colour_name)
    'colour_name' is a valid colour specification as described by X11(3X).
    Examples:
    /(define slateblue (gs-parse-colour "rgb:40/130/78"))
    /(define lp (gs-parse-colour "lightpink"))
    /(gs-parse-colour "orchid1")
    /echo This @C9@D7@vis a @C8@itest!

    If you wish to see what colours are defined and what their indices are, a 
    simple script is available <a
href="http://members.xoom.com/sprimerix/scripts/colours.scm">
  (scripts/colours.scm)</a> which defines the procedure print-colours. print-colours
  displays all defined colours and their indices in all possible background/foreground
  combinations.
  
1. Fonts
  You specify the font for a piece of text using @f, @i, @b, and either @s, @m
  or @l, as described above.
  If none of the above format sequences is given, the default font of the text
  widget is used. The default text style can be set using an entry in a GTK rc file.
    
  You have to define what fonts to use for bold, italic, large, etc.
  Font types are specified using entries entries in X resource files. Example:
   *.Small.Italic: -*-times-medium-i-*-*-10-*-*-*-*-*-*-*

The following is a list of default font specifications.
!!! small font @s
spxFont.Small.Bold: -*-times-bold-r-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Italic: -*-times-medium-i-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Italic.Bold: -*-times-bold-i-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Fixed: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Fixed.Bold: -*-courier-bold-r-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Fixed.Italic: -*-courier-medium-i-*-*-10-*-*-*-*-*-*-*
spxFont.Small.Fixed.Italic.Bold: -*-courier-bold-i-*-*-10-?-*-*-*-*-*-*
!!! medium font @m
spxFont:-*-times-medium-r-*-*-14-*-*-*-*-*-*-*
spxFont.Bold: -*-times-bold-r-*-*-14-*-*-*-*-*-*-*
spxFont.Italic:-*-times-medium-i-*-*-14-*-*-*-*-*-*-*
spxFont.Italic.Bold", "-*-times-bold-i-*-*-14-*-*-*-*-*-*-*
spxFont.Fixed:-*-courier-medium-r-*-*-14-*-*-*-*-*-*-*
spxFont.Fixed.Bold:-*-courier-bold-r-*-*-14-*-*-*-*-*-*-*
spxFont.Fixed.Italic:-*-courier-medium-i-*-*-14-*-*-*-*-*-*-*
spxFont.Fixed.Italic.Bold:-*-courier-bold-i-*-*-14-*-*-*-*-*-*-*
!!! large font @l
spxFont.Large:-*-times-medium-r-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Bold:-*-times-bold-r-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Italic:-*-times-medium-i-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Italic.Bold:-*-times-bold-i-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Fixed:-*-courier-medium-r-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Fixed.Bold:-*-courier-bold-r-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Fixed.Italic:-*-courier-medium-i-*-*-28-*-*-*-*-*-*-*
spxFont.Large.Fixed.Italic.Bold:-*-courier-bold-i-*-*-28-*-*-*-*-*-*-*
    
EOF
