Home » Archimedes archive » Acorn User » AU 1995-06.adf » !StarInfo_StarInfo » Bower+/!ReadMe

Bower+/!ReadMe

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1995-06.adf » !StarInfo_StarInfo
Filename: Bower+/!ReadMe
Read OK:
File size: 16A2 bytes
Load address: 0000
Exec address: 0000
File contents
             Circle Fit � Andrew Bower 1994
             ==============================

�Circle Fit� Will take text given to it and fit the
text around a circle.  Various details regarding
how the text is displayed can be altered and text
may also be overlayed in different styles.  The
output can be saved as a Draw file or the screen
can be grabbed as a sprite.

The program does not run in the Desktop, but all
the text is in an anti-aliased font and there is a
menu containing all the options availble.

Warnings
========
� Files are saved in the Current Selected Directory
of the current filing system.  To set this, type:
   *Dir directory_path

� The Selwyn font must be accessible.

Documentation & Getting started
===============================

Here follow detailed instructions, but to get
started, scroll further down the document to the
section entitled �Getting started�.

Editing keys
============
� �         Move caret left/right

� �
Ctrl � �    Move to start/end of line

Delete
Backspace   Delete left

Copy        Delete right

Ctrl U      Delete line

Return      Accept value � The colour changes to
            confirm this.
            
Style
=====

Font name   Type the name of the font you wish to
            use (Ctrl-U clears the old name).
            
Font size   Type in the size of text you wish to
            use in points (72 points = 1 inch). To
            use a different height from width, type
            �width:height�.

Text        Type in the text you wish displayed.

Radius      Type in a radius for the circle in
            inches (The unit does not need to be
            entered).
            
Start       This is the angle from which the text
            is drawn (�90� is North, 0� is East,
            90� is South � degrees is assumed and
            the unit does not need to be
            entered).
            
Menu options
============

Draw            Plot the current text in the
                current style with the current
                effects.
            
Edit & Draw     Edit the text and style then plot.

Make Draw Path  Direct ouput to a Draw path.
                You MUST deselect this option
                before quitting.

Overlay         Cause subsequent ouput to be
                overlayed with previous output.
                
Reverse writing Plot subsequent text on the other
                side of the circle.
                
Anti-clockwise  Plot text flowing backwards.

Move            A numerical option which overides
                the radius at which the text is
                plotted. (Press SPACE to fix the
                value).
                
Screen shot	After selecting, press SPACE when
                ready.
                
Quit            Leave the program.

Getting started
===============

If at any time you get stuck, just press ESCAPE
twice and re-read this text.

� Run the program and the press return to all the
prompts. You will then see the writing �The quick
brown fox� appear, mapped over the top of the
circle.

� When you are ready, press return and you will be
faced with a menu. The word �Draw� should be
highlighted, but in any case, press the Up and Down
arrow keys until �Edit & Draw� is highlighted.

� Press return once and you are then free to change
any aspects of the text displayed. You can use the
standard text editing method to change the values,
except that you cannot use the mouse.

� Press return twice.

� Press �U� while holding down �Ctrl�.

� Now type in your own text to be displayed.

� Press return until you see your text displayed
around the circle.

You are free to alter other aspects of the text in
a similar way, but remember: you do not have to
type in the units.

When you have the menu accessible, you may choose
other options: Reverse writing can be used to
display text underneath the circle, as on the Acorn
User example. This effect is often seen on logos.

Overlay is used to prevent the previous screen from
being cleared.

If you wish to save your text as a Draw file, do
the following:

� Press return on �Make Draw path�.
  The filename which will be used is shown.
  
� Go ahead as usual.

� Deselect �Make Draw path�.

Notes
=====

This program has been tested succesfully on RISC OS
3.11 and 3.50. It will not work on RISC OS 2.

To the best of my knowledge, this program is
compatible with all desktop screen modes.

In 2 colours:  The display is somewhat inferior but
               totally usable.
              
In 4 colours:  Display is acceptable but there is
               no anti-aliasing.
              
In 16 colours: Colours are redefined to provide
               anti-aliasing of all the colours
               used.

Mode 22:       Too much display is missing.

Tested succesfully in modes:
0,1,8,9,11,12,13,14,15,16,17,*22*,25,26,27,28

Failed in modes: 2,3,4,5,6,7,10

The program uses shadow screen memory, so
sufficient screen memory must be allocated or there
should be sufficient space in the Free slot.

Because the circles are exported with the text, the
whole lot can be grouped and rotated without the
circumcentre moving.

Technical information
=====================

SWI "Font_SetPalette" is used in 16 colour modes to
give a couple of anti-alias shades to every colour.

SWI "Font_SwitchOutputToBuffer" is used to divert
Font calls to create draw paths.

The Draw module is used to draw the circles on the
screen, but I do not known enough about Bezier
curves to create a circle properly, so I
experimented and in the end, I made the control
points, a factor of 1.5625 of the radius, away from
the start/end point. I would be grateful if someone
could enlighten me!

The actual work is done by calls to "Font_Paint"
using a transformation matrix.



                     Andrew Bower 1994
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 43 69 72  |             Cir|
00000010  63 6c 65 20 46 69 74 20  98 20 41 6e 64 72 65 77  |cle Fit . Andrew|
00000020  20 42 6f 77 65 72 20 31  39 39 34 0a 20 20 20 20  | Bower 1994.    |
00000030  20 20 20 20 20 20 20 20  20 3d 3d 3d 3d 3d 3d 3d  |         =======|
00000040  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000050  3d 3d 3d 3d 3d 3d 3d 0a  0a 90 43 69 72 63 6c 65  |=======...Circle|
00000060  20 46 69 74 91 20 57 69  6c 6c 20 74 61 6b 65 20  | Fit. Will take |
00000070  74 65 78 74 20 67 69 76  65 6e 20 74 6f 20 69 74  |text given to it|
00000080  20 61 6e 64 20 66 69 74  20 74 68 65 0a 74 65 78  | and fit the.tex|
00000090  74 20 61 72 6f 75 6e 64  20 61 20 63 69 72 63 6c  |t around a circl|
000000a0  65 2e 20 20 56 61 72 69  6f 75 73 20 64 65 74 61  |e.  Various deta|
000000b0  69 6c 73 20 72 65 67 61  72 64 69 6e 67 0a 68 6f  |ils regarding.ho|
000000c0  77 20 74 68 65 20 74 65  78 74 20 69 73 20 64 69  |w the text is di|
000000d0  73 70 6c 61 79 65 64 20  63 61 6e 20 62 65 20 61  |splayed can be a|
000000e0  6c 74 65 72 65 64 20 61  6e 64 20 74 65 78 74 0a  |ltered and text.|
000000f0  6d 61 79 20 61 6c 73 6f  20 62 65 20 6f 76 65 72  |may also be over|
00000100  6c 61 79 65 64 20 69 6e  20 64 69 66 66 65 72 65  |layed in differe|
00000110  6e 74 20 73 74 79 6c 65  73 2e 20 20 54 68 65 0a  |nt styles.  The.|
00000120  6f 75 74 70 75 74 20 63  61 6e 20 62 65 20 73 61  |output can be sa|
00000130  76 65 64 20 61 73 20 61  20 44 72 61 77 20 66 69  |ved as a Draw fi|
00000140  6c 65 20 6f 72 20 74 68  65 20 73 63 72 65 65 6e  |le or the screen|
00000150  0a 63 61 6e 20 62 65 20  67 72 61 62 62 65 64 20  |.can be grabbed |
00000160  61 73 20 61 20 73 70 72  69 74 65 2e 0a 0a 54 68  |as a sprite...Th|
00000170  65 20 70 72 6f 67 72 61  6d 20 64 6f 65 73 20 6e  |e program does n|
00000180  6f 74 20 72 75 6e 20 69  6e 20 74 68 65 20 44 65  |ot run in the De|
00000190  73 6b 74 6f 70 2c 20 62  75 74 20 61 6c 6c 0a 74  |sktop, but all.t|
000001a0  68 65 20 74 65 78 74 20  69 73 20 69 6e 20 61 6e  |he text is in an|
000001b0  20 61 6e 74 69 2d 61 6c  69 61 73 65 64 20 66 6f  | anti-aliased fo|
000001c0  6e 74 20 61 6e 64 20 74  68 65 72 65 20 69 73 20  |nt and there is |
000001d0  61 0a 6d 65 6e 75 20 63  6f 6e 74 61 69 6e 69 6e  |a.menu containin|
000001e0  67 20 61 6c 6c 20 74 68  65 20 6f 70 74 69 6f 6e  |g all the option|
000001f0  73 20 61 76 61 69 6c 62  6c 65 2e 0a 0a 57 61 72  |s availble...War|
00000200  6e 69 6e 67 73 0a 3d 3d  3d 3d 3d 3d 3d 3d 0a 8f  |nings.========..|
00000210  20 46 69 6c 65 73 20 61  72 65 20 73 61 76 65 64  | Files are saved|
00000220  20 69 6e 20 74 68 65 20  43 75 72 72 65 6e 74 20  | in the Current |
00000230  53 65 6c 65 63 74 65 64  20 44 69 72 65 63 74 6f  |Selected Directo|
00000240  72 79 0a 6f 66 20 74 68  65 20 63 75 72 72 65 6e  |ry.of the curren|
00000250  74 20 66 69 6c 69 6e 67  20 73 79 73 74 65 6d 2e  |t filing system.|
00000260  20 20 54 6f 20 73 65 74  20 74 68 69 73 2c 20 74  |  To set this, t|
00000270  79 70 65 3a 0a 20 20 20  2a 44 69 72 20 64 69 72  |ype:.   *Dir dir|
00000280  65 63 74 6f 72 79 5f 70  61 74 68 0a 0a 8f 20 54  |ectory_path... T|
00000290  68 65 20 53 65 6c 77 79  6e 20 66 6f 6e 74 20 6d  |he Selwyn font m|
000002a0  75 73 74 20 62 65 20 61  63 63 65 73 73 69 62 6c  |ust be accessibl|
000002b0  65 2e 0a 0a 44 6f 63 75  6d 65 6e 74 61 74 69 6f  |e...Documentatio|
000002c0  6e 20 26 20 47 65 74 74  69 6e 67 20 73 74 61 72  |n & Getting star|
000002d0  74 65 64 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ted.============|
000002e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000002f0  3d 3d 3d 0a 0a 48 65 72  65 20 66 6f 6c 6c 6f 77  |===..Here follow|
00000300  20 64 65 74 61 69 6c 65  64 20 69 6e 73 74 72 75  | detailed instru|
00000310  63 74 69 6f 6e 73 2c 20  62 75 74 20 74 6f 20 67  |ctions, but to g|
00000320  65 74 0a 73 74 61 72 74  65 64 2c 20 73 63 72 6f  |et.started, scro|
00000330  6c 6c 20 66 75 72 74 68  65 72 20 64 6f 77 6e 20  |ll further down |
00000340  74 68 65 20 64 6f 63 75  6d 65 6e 74 20 74 6f 20  |the document to |
00000350  74 68 65 0a 73 65 63 74  69 6f 6e 20 65 6e 74 69  |the.section enti|
00000360  74 6c 65 64 20 90 47 65  74 74 69 6e 67 20 73 74  |tled .Getting st|
00000370  61 72 74 65 64 91 2e 0a  0a 45 64 69 74 69 6e 67  |arted....Editing|
00000380  20 6b 65 79 73 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  | keys.==========|
00000390  3d 3d 0a 88 20 89 20 20  20 20 20 20 20 20 20 4d  |==.. .         M|
000003a0  6f 76 65 20 63 61 72 65  74 20 6c 65 66 74 2f 72  |ove caret left/r|
000003b0  69 67 68 74 0a 0a 8b 20  8a 0a 43 74 72 6c 20 88  |ight... ..Ctrl .|
000003c0  20 89 20 20 20 20 4d 6f  76 65 20 74 6f 20 73 74  | .    Move to st|
000003d0  61 72 74 2f 65 6e 64 20  6f 66 20 6c 69 6e 65 0a  |art/end of line.|
000003e0  0a 44 65 6c 65 74 65 0a  42 61 63 6b 73 70 61 63  |.Delete.Backspac|
000003f0  65 20 20 20 44 65 6c 65  74 65 20 6c 65 66 74 0a  |e   Delete left.|
00000400  0a 43 6f 70 79 20 20 20  20 20 20 20 20 44 65 6c  |.Copy        Del|
00000410  65 74 65 20 72 69 67 68  74 0a 0a 43 74 72 6c 20  |ete right..Ctrl |
00000420  55 20 20 20 20 20 20 44  65 6c 65 74 65 20 6c 69  |U      Delete li|
00000430  6e 65 0a 0a 52 65 74 75  72 6e 20 20 20 20 20 20  |ne..Return      |
00000440  41 63 63 65 70 74 20 76  61 6c 75 65 20 98 20 54  |Accept value . T|
00000450  68 65 20 63 6f 6c 6f 75  72 20 63 68 61 6e 67 65  |he colour change|
00000460  73 20 74 6f 0a 20 20 20  20 20 20 20 20 20 20 20  |s to.           |
00000470  20 63 6f 6e 66 69 72 6d  20 74 68 69 73 2e 0a 20  | confirm this.. |
00000480  20 20 20 20 20 20 20 20  20 20 20 0a 53 74 79 6c  |           .Styl|
00000490  65 0a 3d 3d 3d 3d 3d 0a  0a 46 6f 6e 74 20 6e 61  |e.=====..Font na|
000004a0  6d 65 20 20 20 54 79 70  65 20 74 68 65 20 6e 61  |me   Type the na|
000004b0  6d 65 20 6f 66 20 74 68  65 20 66 6f 6e 74 20 79  |me of the font y|
000004c0  6f 75 20 77 69 73 68 20  74 6f 0a 20 20 20 20 20  |ou wish to.     |
000004d0  20 20 20 20 20 20 20 75  73 65 20 28 43 74 72 6c  |       use (Ctrl|
000004e0  2d 55 20 63 6c 65 61 72  73 20 74 68 65 20 6f 6c  |-U clears the ol|
000004f0  64 20 6e 61 6d 65 29 2e  0a 20 20 20 20 20 20 20  |d name)..       |
00000500  20 20 20 20 20 0a 46 6f  6e 74 20 73 69 7a 65 20  |     .Font size |
00000510  20 20 54 79 70 65 20 69  6e 20 74 68 65 20 73 69  |  Type in the si|
00000520  7a 65 20 6f 66 20 74 65  78 74 20 79 6f 75 20 77  |ze of text you w|
00000530  69 73 68 20 74 6f 0a 20  20 20 20 20 20 20 20 20  |ish to.         |
00000540  20 20 20 75 73 65 20 69  6e 20 70 6f 69 6e 74 73  |   use in points|
00000550  20 28 37 32 20 70 6f 69  6e 74 73 20 3d 20 31 20  | (72 points = 1 |
00000560  69 6e 63 68 29 2e 20 54  6f 0a 20 20 20 20 20 20  |inch). To.      |
00000570  20 20 20 20 20 20 75 73  65 20 61 20 64 69 66 66  |      use a diff|
00000580  65 72 65 6e 74 20 68 65  69 67 68 74 20 66 72 6f  |erent height fro|
00000590  6d 20 77 69 64 74 68 2c  20 74 79 70 65 0a 20 20  |m width, type.  |
000005a0  20 20 20 20 20 20 20 20  20 20 90 77 69 64 74 68  |          .width|
000005b0  3a 68 65 69 67 68 74 91  2e 0a 0a 54 65 78 74 20  |:height....Text |
000005c0  20 20 20 20 20 20 20 54  79 70 65 20 69 6e 20 74  |       Type in t|
000005d0  68 65 20 74 65 78 74 20  79 6f 75 20 77 69 73 68  |he text you wish|
000005e0  20 64 69 73 70 6c 61 79  65 64 2e 0a 0a 52 61 64  | displayed...Rad|
000005f0  69 75 73 20 20 20 20 20  20 54 79 70 65 20 69 6e  |ius      Type in|
00000600  20 61 20 72 61 64 69 75  73 20 66 6f 72 20 74 68  | a radius for th|
00000610  65 20 63 69 72 63 6c 65  20 69 6e 0a 20 20 20 20  |e circle in.    |
00000620  20 20 20 20 20 20 20 20  69 6e 63 68 65 73 20 28  |        inches (|
00000630  54 68 65 20 75 6e 69 74  20 64 6f 65 73 20 6e 6f  |The unit does no|
00000640  74 20 6e 65 65 64 20 74  6f 20 62 65 0a 20 20 20  |t need to be.   |
00000650  20 20 20 20 20 20 20 20  20 65 6e 74 65 72 65 64  |         entered|
00000660  29 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 0a  |)..            .|
00000670  53 74 61 72 74 20 20 20  20 20 20 20 54 68 69 73  |Start       This|
00000680  20 69 73 20 74 68 65 20  61 6e 67 6c 65 20 66 72  | is the angle fr|
00000690  6f 6d 20 77 68 69 63 68  20 74 68 65 20 74 65 78  |om which the tex|
000006a0  74 0a 20 20 20 20 20 20  20 20 20 20 20 20 69 73  |t.            is|
000006b0  20 64 72 61 77 6e 20 28  99 39 30 b0 20 69 73 20  | drawn (.90. is |
000006c0  4e 6f 72 74 68 2c 20 30  b0 20 69 73 20 45 61 73  |North, 0. is Eas|
000006d0  74 2c 0a 20 20 20 20 20  20 20 20 20 20 20 20 39  |t,.            9|
000006e0  30 b0 20 69 73 20 53 6f  75 74 68 20 98 20 64 65  |0. is South . de|
000006f0  67 72 65 65 73 20 69 73  20 61 73 73 75 6d 65 64  |grees is assumed|
00000700  20 61 6e 64 0a 20 20 20  20 20 20 20 20 20 20 20  | and.           |
00000710  20 74 68 65 20 75 6e 69  74 20 64 6f 65 73 20 6e  | the unit does n|
00000720  6f 74 20 6e 65 65 64 20  74 6f 20 62 65 0a 20 20  |ot need to be.  |
00000730  20 20 20 20 20 20 20 20  20 20 65 6e 74 65 72 65  |          entere|
00000740  64 29 2e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |d)..            |
00000750  0a 4d 65 6e 75 20 6f 70  74 69 6f 6e 73 0a 3d 3d  |.Menu options.==|
00000760  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 0a 44 72 61 77  |==========..Draw|
00000770  20 20 20 20 20 20 20 20  20 20 20 20 50 6c 6f 74  |            Plot|
00000780  20 74 68 65 20 63 75 72  72 65 6e 74 20 74 65 78  | the current tex|
00000790  74 20 69 6e 20 74 68 65  0a 20 20 20 20 20 20 20  |t in the.       |
000007a0  20 20 20 20 20 20 20 20  20 63 75 72 72 65 6e 74  |         current|
000007b0  20 73 74 79 6c 65 20 77  69 74 68 20 74 68 65 20  | style with the |
000007c0  63 75 72 72 65 6e 74 0a  20 20 20 20 20 20 20 20  |current.        |
000007d0  20 20 20 20 20 20 20 20  65 66 66 65 63 74 73 2e  |        effects.|
000007e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 0a 45 64  |.            .Ed|
000007f0  69 74 20 26 20 44 72 61  77 20 20 20 20 20 45 64  |it & Draw     Ed|
00000800  69 74 20 74 68 65 20 74  65 78 74 20 61 6e 64 20  |it the text and |
00000810  73 74 79 6c 65 20 74 68  65 6e 20 70 6c 6f 74 2e  |style then plot.|
00000820  0a 0a 4d 61 6b 65 20 44  72 61 77 20 50 61 74 68  |..Make Draw Path|
00000830  20 20 44 69 72 65 63 74  20 6f 75 70 75 74 20 74  |  Direct ouput t|
00000840  6f 20 61 20 44 72 61 77  20 70 61 74 68 2e 0a 20  |o a Draw path.. |
00000850  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 59  |               Y|
00000860  6f 75 20 4d 55 53 54 20  64 65 73 65 6c 65 63 74  |ou MUST deselect|
00000870  20 74 68 69 73 20 6f 70  74 69 6f 6e 0a 20 20 20  | this option.   |
00000880  20 20 20 20 20 20 20 20  20 20 20 20 20 62 65 66  |             bef|
00000890  6f 72 65 20 71 75 69 74  74 69 6e 67 2e 0a 0a 4f  |ore quitting...O|
000008a0  76 65 72 6c 61 79 20 20  20 20 20 20 20 20 20 43  |verlay         C|
000008b0  61 75 73 65 20 73 75 62  73 65 71 75 65 6e 74 20  |ause subsequent |
000008c0  6f 75 70 75 74 20 74 6f  20 62 65 0a 20 20 20 20  |ouput to be.    |
000008d0  20 20 20 20 20 20 20 20  20 20 20 20 6f 76 65 72  |            over|
000008e0  6c 61 79 65 64 20 77 69  74 68 20 70 72 65 76 69  |layed with previ|
000008f0  6f 75 73 20 6f 75 74 70  75 74 2e 0a 20 20 20 20  |ous output..    |
00000900  20 20 20 20 20 20 20 20  20 20 20 20 0a 52 65 76  |            .Rev|
00000910  65 72 73 65 20 77 72 69  74 69 6e 67 20 50 6c 6f  |erse writing Plo|
00000920  74 20 73 75 62 73 65 71  75 65 6e 74 20 74 65 78  |t subsequent tex|
00000930  74 20 6f 6e 20 74 68 65  20 6f 74 68 65 72 0a 20  |t on the other. |
00000940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 73  |               s|
00000950  69 64 65 20 6f 66 20 74  68 65 20 63 69 72 63 6c  |ide of the circl|
00000960  65 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e..             |
00000970  20 20 20 0a 41 6e 74 69  2d 63 6c 6f 63 6b 77 69  |   .Anti-clockwi|
00000980  73 65 20 20 50 6c 6f 74  20 74 65 78 74 20 66 6c  |se  Plot text fl|
00000990  6f 77 69 6e 67 20 62 61  63 6b 77 61 72 64 73 2e  |owing backwards.|
000009a0  0a 0a 4d 6f 76 65 20 20  20 20 20 20 20 20 20 20  |..Move          |
000009b0  20 20 41 20 6e 75 6d 65  72 69 63 61 6c 20 6f 70  |  A numerical op|
000009c0  74 69 6f 6e 20 77 68 69  63 68 20 6f 76 65 72 69  |tion which overi|
000009d0  64 65 73 0a 20 20 20 20  20 20 20 20 20 20 20 20  |des.            |
000009e0  20 20 20 20 74 68 65 20  72 61 64 69 75 73 20 61  |    the radius a|
000009f0  74 20 77 68 69 63 68 20  74 68 65 20 74 65 78 74  |t which the text|
00000a00  20 69 73 0a 20 20 20 20  20 20 20 20 20 20 20 20  | is.            |
00000a10  20 20 20 20 70 6c 6f 74  74 65 64 2e 20 28 50 72  |    plotted. (Pr|
00000a20  65 73 73 20 53 50 41 43  45 20 74 6f 20 66 69 78  |ess SPACE to fix|
00000a30  20 74 68 65 0a 20 20 20  20 20 20 20 20 20 20 20  | the.           |
00000a40  20 20 20 20 20 76 61 6c  75 65 29 2e 0a 20 20 20  |     value)..   |
00000a50  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 53 63  |             .Sc|
00000a60  72 65 65 6e 20 73 68 6f  74 09 41 66 74 65 72 20  |reen shot.After |
00000a70  73 65 6c 65 63 74 69 6e  67 2c 20 70 72 65 73 73  |selecting, press|
00000a80  20 53 50 41 43 45 20 77  68 65 6e 0a 20 20 20 20  | SPACE when.    |
00000a90  20 20 20 20 20 20 20 20  20 20 20 20 72 65 61 64  |            read|
00000aa0  79 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |y..             |
00000ab0  20 20 20 0a 51 75 69 74  20 20 20 20 20 20 20 20  |   .Quit        |
00000ac0  20 20 20 20 4c 65 61 76  65 20 74 68 65 20 70 72  |    Leave the pr|
00000ad0  6f 67 72 61 6d 2e 0a 0a  47 65 74 74 69 6e 67 20  |ogram...Getting |
00000ae0  73 74 61 72 74 65 64 0a  3d 3d 3d 3d 3d 3d 3d 3d  |started.========|
00000af0  3d 3d 3d 3d 3d 3d 3d 0a  0a 49 66 20 61 74 20 61  |=======..If at a|
00000b00  6e 79 20 74 69 6d 65 20  79 6f 75 20 67 65 74 20  |ny time you get |
00000b10  73 74 75 63 6b 2c 20 6a  75 73 74 20 70 72 65 73  |stuck, just pres|
00000b20  73 20 45 53 43 41 50 45  0a 74 77 69 63 65 20 61  |s ESCAPE.twice a|
00000b30  6e 64 20 72 65 2d 72 65  61 64 20 74 68 69 73 20  |nd re-read this |
00000b40  74 65 78 74 2e 0a 0a 8f  20 52 75 6e 20 74 68 65  |text.... Run the|
00000b50  20 70 72 6f 67 72 61 6d  20 61 6e 64 20 74 68 65  | program and the|
00000b60  20 70 72 65 73 73 20 72  65 74 75 72 6e 20 74 6f  | press return to|
00000b70  20 61 6c 6c 20 74 68 65  0a 70 72 6f 6d 70 74 73  | all the.prompts|
00000b80  2e 20 59 6f 75 20 77 69  6c 6c 20 74 68 65 6e 20  |. You will then |
00000b90  73 65 65 20 74 68 65 20  77 72 69 74 69 6e 67 20  |see the writing |
00000ba0  94 54 68 65 20 71 75 69  63 6b 0a 62 72 6f 77 6e  |.The quick.brown|
00000bb0  20 66 6f 78 95 20 61 70  70 65 61 72 2c 20 6d 61  | fox. appear, ma|
00000bc0  70 70 65 64 20 6f 76 65  72 20 74 68 65 20 74 6f  |pped over the to|
00000bd0  70 20 6f 66 20 74 68 65  0a 63 69 72 63 6c 65 2e  |p of the.circle.|
00000be0  0a 0a 8f 20 57 68 65 6e  20 79 6f 75 20 61 72 65  |... When you are|
00000bf0  20 72 65 61 64 79 2c 20  70 72 65 73 73 20 72 65  | ready, press re|
00000c00  74 75 72 6e 20 61 6e 64  20 79 6f 75 20 77 69 6c  |turn and you wil|
00000c10  6c 20 62 65 0a 66 61 63  65 64 20 77 69 74 68 20  |l be.faced with |
00000c20  61 20 6d 65 6e 75 2e 20  54 68 65 20 77 6f 72 64  |a menu. The word|
00000c30  20 90 44 72 61 77 91 20  73 68 6f 75 6c 64 20 62  | .Draw. should b|
00000c40  65 0a 68 69 67 68 6c 69  67 68 74 65 64 2c 20 62  |e.highlighted, b|
00000c50  75 74 20 69 6e 20 61 6e  79 20 63 61 73 65 2c 20  |ut in any case, |
00000c60  70 72 65 73 73 20 74 68  65 20 55 70 20 61 6e 64  |press the Up and|
00000c70  20 44 6f 77 6e 0a 61 72  72 6f 77 20 6b 65 79 73  | Down.arrow keys|
00000c80  20 75 6e 74 69 6c 20 90  45 64 69 74 20 26 20 44  | until .Edit & D|
00000c90  72 61 77 91 20 69 73 20  68 69 67 68 6c 69 67 68  |raw. is highligh|
00000ca0  74 65 64 2e 0a 0a 8f 20  50 72 65 73 73 20 72 65  |ted.... Press re|
00000cb0  74 75 72 6e 20 6f 6e 63  65 20 61 6e 64 20 79 6f  |turn once and yo|
00000cc0  75 20 61 72 65 20 74 68  65 6e 20 66 72 65 65 20  |u are then free |
00000cd0  74 6f 20 63 68 61 6e 67  65 0a 61 6e 79 20 61 73  |to change.any as|
00000ce0  70 65 63 74 73 20 6f 66  20 74 68 65 20 74 65 78  |pects of the tex|
00000cf0  74 20 64 69 73 70 6c 61  79 65 64 2e 20 59 6f 75  |t displayed. You|
00000d00  20 63 61 6e 20 75 73 65  20 74 68 65 0a 73 74 61  | can use the.sta|
00000d10  6e 64 61 72 64 20 74 65  78 74 20 65 64 69 74 69  |ndard text editi|
00000d20  6e 67 20 6d 65 74 68 6f  64 20 74 6f 20 63 68 61  |ng method to cha|
00000d30  6e 67 65 20 74 68 65 20  76 61 6c 75 65 73 2c 0a  |nge the values,.|
00000d40  65 78 63 65 70 74 20 74  68 61 74 20 79 6f 75 20  |except that you |
00000d50  63 61 6e 6e 6f 74 20 75  73 65 20 74 68 65 20 6d  |cannot use the m|
00000d60  6f 75 73 65 2e 0a 0a 8f  20 50 72 65 73 73 20 72  |ouse.... Press r|
00000d70  65 74 75 72 6e 20 74 77  69 63 65 2e 0a 0a 8f 20  |eturn twice.... |
00000d80  50 72 65 73 73 20 90 55  91 20 77 68 69 6c 65 20  |Press .U. while |
00000d90  68 6f 6c 64 69 6e 67 20  64 6f 77 6e 20 90 43 74  |holding down .Ct|
00000da0  72 6c 91 2e 0a 0a 8f 20  4e 6f 77 20 74 79 70 65  |rl..... Now type|
00000db0  20 69 6e 20 79 6f 75 72  20 6f 77 6e 20 74 65 78  | in your own tex|
00000dc0  74 20 74 6f 20 62 65 20  64 69 73 70 6c 61 79 65  |t to be displaye|
00000dd0  64 2e 0a 0a 8f 20 50 72  65 73 73 20 72 65 74 75  |d.... Press retu|
00000de0  72 6e 20 75 6e 74 69 6c  20 79 6f 75 20 73 65 65  |rn until you see|
00000df0  20 79 6f 75 72 20 74 65  78 74 20 64 69 73 70 6c  | your text displ|
00000e00  61 79 65 64 0a 61 72 6f  75 6e 64 20 74 68 65 20  |ayed.around the |
00000e10  63 69 72 63 6c 65 2e 0a  0a 59 6f 75 20 61 72 65  |circle...You are|
00000e20  20 66 72 65 65 20 74 6f  20 61 6c 74 65 72 20 6f  | free to alter o|
00000e30  74 68 65 72 20 61 73 70  65 63 74 73 20 6f 66 20  |ther aspects of |
00000e40  74 68 65 20 74 65 78 74  20 69 6e 0a 61 20 73 69  |the text in.a si|
00000e50  6d 69 6c 61 72 20 77 61  79 2c 20 62 75 74 20 72  |milar way, but r|
00000e60  65 6d 65 6d 62 65 72 3a  20 79 6f 75 20 64 6f 20  |emember: you do |
00000e70  6e 6f 74 20 68 61 76 65  20 74 6f 0a 74 79 70 65  |not have to.type|
00000e80  20 69 6e 20 74 68 65 20  75 6e 69 74 73 2e 0a 0a  | in the units...|
00000e90  57 68 65 6e 20 79 6f 75  20 68 61 76 65 20 74 68  |When you have th|
00000ea0  65 20 6d 65 6e 75 20 61  63 63 65 73 73 69 62 6c  |e menu accessibl|
00000eb0  65 2c 20 79 6f 75 20 6d  61 79 20 63 68 6f 6f 73  |e, you may choos|
00000ec0  65 0a 6f 74 68 65 72 20  6f 70 74 69 6f 6e 73 3a  |e.other options:|
00000ed0  20 52 65 76 65 72 73 65  20 77 72 69 74 69 6e 67  | Reverse writing|
00000ee0  20 63 61 6e 20 62 65 20  75 73 65 64 20 74 6f 0a  | can be used to.|
00000ef0  64 69 73 70 6c 61 79 20  74 65 78 74 20 75 6e 64  |display text und|
00000f00  65 72 6e 65 61 74 68 20  74 68 65 20 63 69 72 63  |erneath the circ|
00000f10  6c 65 2c 20 61 73 20 6f  6e 20 74 68 65 20 41 63  |le, as on the Ac|
00000f20  6f 72 6e 0a 55 73 65 72  20 65 78 61 6d 70 6c 65  |orn.User example|
00000f30  2e 20 54 68 69 73 20 65  66 66 65 63 74 20 69 73  |. This effect is|
00000f40  20 6f 66 74 65 6e 20 73  65 65 6e 20 6f 6e 20 6c  | often seen on l|
00000f50  6f 67 6f 73 2e 0a 0a 4f  76 65 72 6c 61 79 20 69  |ogos...Overlay i|
00000f60  73 20 75 73 65 64 20 74  6f 20 70 72 65 76 65 6e  |s used to preven|
00000f70  74 20 74 68 65 20 70 72  65 76 69 6f 75 73 20 73  |t the previous s|
00000f80  63 72 65 65 6e 20 66 72  6f 6d 0a 62 65 69 6e 67  |creen from.being|
00000f90  20 63 6c 65 61 72 65 64  2e 0a 0a 49 66 20 79 6f  | cleared...If yo|
00000fa0  75 20 77 69 73 68 20 74  6f 20 73 61 76 65 20 79  |u wish to save y|
00000fb0  6f 75 72 20 74 65 78 74  20 61 73 20 61 20 44 72  |our text as a Dr|
00000fc0  61 77 20 66 69 6c 65 2c  20 64 6f 0a 74 68 65 20  |aw file, do.the |
00000fd0  66 6f 6c 6c 6f 77 69 6e  67 3a 0a 0a 8f 20 50 72  |following:... Pr|
00000fe0  65 73 73 20 72 65 74 75  72 6e 20 6f 6e 20 90 4d  |ess return on .M|
00000ff0  61 6b 65 20 44 72 61 77  20 70 61 74 68 91 2e 0a  |ake Draw path...|
00001000  20 20 54 68 65 20 66 69  6c 65 6e 61 6d 65 20 77  |  The filename w|
00001010  68 69 63 68 20 77 69 6c  6c 20 62 65 20 75 73 65  |hich will be use|
00001020  64 20 69 73 20 73 68 6f  77 6e 2e 0a 20 20 0a 8f  |d is shown..  ..|
00001030  20 47 6f 20 61 68 65 61  64 20 61 73 20 75 73 75  | Go ahead as usu|
00001040  61 6c 2e 0a 0a 8f 20 44  65 73 65 6c 65 63 74 20  |al.... Deselect |
00001050  90 4d 61 6b 65 20 44 72  61 77 20 70 61 74 68 91  |.Make Draw path.|
00001060  2e 0a 0a 4e 6f 74 65 73  0a 3d 3d 3d 3d 3d 0a 0a  |...Notes.=====..|
00001070  54 68 69 73 20 70 72 6f  67 72 61 6d 20 68 61 73  |This program has|
00001080  20 62 65 65 6e 20 74 65  73 74 65 64 20 73 75 63  | been tested suc|
00001090  63 65 73 66 75 6c 6c 79  20 6f 6e 20 52 49 53 43  |cesfully on RISC|
000010a0  20 4f 53 0a 33 2e 31 31  20 61 6e 64 20 33 2e 35  | OS.3.11 and 3.5|
000010b0  30 2e 20 49 74 20 77 69  6c 6c 20 6e 6f 74 20 77  |0. It will not w|
000010c0  6f 72 6b 20 6f 6e 20 52  49 53 43 20 4f 53 20 32  |ork on RISC OS 2|
000010d0  2e 0a 0a 54 6f 20 74 68  65 20 62 65 73 74 20 6f  |...To the best o|
000010e0  66 20 6d 79 20 6b 6e 6f  77 6c 65 64 67 65 2c 20  |f my knowledge, |
000010f0  74 68 69 73 20 70 72 6f  67 72 61 6d 20 69 73 0a  |this program is.|
00001100  63 6f 6d 70 61 74 69 62  6c 65 20 77 69 74 68 20  |compatible with |
00001110  61 6c 6c 20 64 65 73 6b  74 6f 70 20 73 63 72 65  |all desktop scre|
00001120  65 6e 20 6d 6f 64 65 73  2e 0a 0a 49 6e 20 32 20  |en modes...In 2 |
00001130  63 6f 6c 6f 75 72 73 3a  20 20 54 68 65 20 64 69  |colours:  The di|
00001140  73 70 6c 61 79 20 69 73  20 73 6f 6d 65 77 68 61  |splay is somewha|
00001150  74 20 69 6e 66 65 72 69  6f 72 20 62 75 74 0a 20  |t inferior but. |
00001160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 6f  |              to|
00001170  74 61 6c 6c 79 20 75 73  61 62 6c 65 2e 0a 20 20  |tally usable..  |
00001180  20 20 20 20 20 20 20 20  20 20 20 20 0a 49 6e 20  |            .In |
00001190  34 20 63 6f 6c 6f 75 72  73 3a 20 20 44 69 73 70  |4 colours:  Disp|
000011a0  6c 61 79 20 69 73 20 61  63 63 65 70 74 61 62 6c  |lay is acceptabl|
000011b0  65 20 62 75 74 20 74 68  65 72 65 20 69 73 0a 20  |e but there is. |
000011c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6e 6f  |              no|
000011d0  20 61 6e 74 69 2d 61 6c  69 61 73 69 6e 67 2e 0a  | anti-aliasing..|
000011e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0a 49  |              .I|
000011f0  6e 20 31 36 20 63 6f 6c  6f 75 72 73 3a 20 43 6f  |n 16 colours: Co|
00001200  6c 6f 75 72 73 20 61 72  65 20 72 65 64 65 66 69  |lours are redefi|
00001210  6e 65 64 20 74 6f 20 70  72 6f 76 69 64 65 0a 20  |ned to provide. |
00001220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 61 6e  |              an|
00001230  74 69 2d 61 6c 69 61 73  69 6e 67 20 6f 66 20 61  |ti-aliasing of a|
00001240  6c 6c 20 74 68 65 20 63  6f 6c 6f 75 72 73 0a 20  |ll the colours. |
00001250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 75 73  |              us|
00001260  65 64 2e 0a 0a 4d 6f 64  65 20 32 32 3a 20 20 20  |ed...Mode 22:   |
00001270  20 20 20 20 54 6f 6f 20  6d 75 63 68 20 64 69 73  |    Too much dis|
00001280  70 6c 61 79 20 69 73 20  6d 69 73 73 69 6e 67 2e  |play is missing.|
00001290  0a 0a 54 65 73 74 65 64  20 73 75 63 63 65 73 66  |..Tested succesf|
000012a0  75 6c 6c 79 20 69 6e 20  6d 6f 64 65 73 3a 0a 30  |ully in modes:.0|
000012b0  2c 31 2c 38 2c 39 2c 31  31 2c 31 32 2c 31 33 2c  |,1,8,9,11,12,13,|
000012c0  31 34 2c 31 35 2c 31 36  2c 31 37 2c 2a 32 32 2a  |14,15,16,17,*22*|
000012d0  2c 32 35 2c 32 36 2c 32  37 2c 32 38 0a 0a 46 61  |,25,26,27,28..Fa|
000012e0  69 6c 65 64 20 69 6e 20  6d 6f 64 65 73 3a 20 32  |iled in modes: 2|
000012f0  2c 33 2c 34 2c 35 2c 36  2c 37 2c 31 30 0a 0a 54  |,3,4,5,6,7,10..T|
00001300  68 65 20 70 72 6f 67 72  61 6d 20 75 73 65 73 20  |he program uses |
00001310  73 68 61 64 6f 77 20 73  63 72 65 65 6e 20 6d 65  |shadow screen me|
00001320  6d 6f 72 79 2c 20 73 6f  0a 73 75 66 66 69 63 69  |mory, so.suffici|
00001330  65 6e 74 20 73 63 72 65  65 6e 20 6d 65 6d 6f 72  |ent screen memor|
00001340  79 20 6d 75 73 74 20 62  65 20 61 6c 6c 6f 63 61  |y must be alloca|
00001350  74 65 64 20 6f 72 20 74  68 65 72 65 0a 73 68 6f  |ted or there.sho|
00001360  75 6c 64 20 62 65 20 73  75 66 66 69 63 69 65 6e  |uld be sufficien|
00001370  74 20 73 70 61 63 65 20  69 6e 20 74 68 65 20 46  |t space in the F|
00001380  72 65 65 20 73 6c 6f 74  2e 0a 0a 42 65 63 61 75  |ree slot...Becau|
00001390  73 65 20 74 68 65 20 63  69 72 63 6c 65 73 20 61  |se the circles a|
000013a0  72 65 20 65 78 70 6f 72  74 65 64 20 77 69 74 68  |re exported with|
000013b0  20 74 68 65 20 74 65 78  74 2c 20 74 68 65 0a 77  | the text, the.w|
000013c0  68 6f 6c 65 20 6c 6f 74  20 63 61 6e 20 62 65 20  |hole lot can be |
000013d0  67 72 6f 75 70 65 64 20  61 6e 64 20 72 6f 74 61  |grouped and rota|
000013e0  74 65 64 20 77 69 74 68  6f 75 74 20 74 68 65 0a  |ted without the.|
000013f0  63 69 72 63 75 6d 63 65  6e 74 72 65 20 6d 6f 76  |circumcentre mov|
00001400  69 6e 67 2e 0a 0a 54 65  63 68 6e 69 63 61 6c 20  |ing...Technical |
00001410  69 6e 66 6f 72 6d 61 74  69 6f 6e 0a 3d 3d 3d 3d  |information.====|
00001420  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00001430  3d 0a 0a 53 57 49 20 22  46 6f 6e 74 5f 53 65 74  |=..SWI "Font_Set|
00001440  50 61 6c 65 74 74 65 22  20 69 73 20 75 73 65 64  |Palette" is used|
00001450  20 69 6e 20 31 36 20 63  6f 6c 6f 75 72 20 6d 6f  | in 16 colour mo|
00001460  64 65 73 20 74 6f 0a 67  69 76 65 20 61 20 63 6f  |des to.give a co|
00001470  75 70 6c 65 20 6f 66 20  61 6e 74 69 2d 61 6c 69  |uple of anti-ali|
00001480  61 73 20 73 68 61 64 65  73 20 74 6f 20 65 76 65  |as shades to eve|
00001490  72 79 20 63 6f 6c 6f 75  72 2e 0a 0a 53 57 49 20  |ry colour...SWI |
000014a0  22 46 6f 6e 74 5f 53 77  69 74 63 68 4f 75 74 70  |"Font_SwitchOutp|
000014b0  75 74 54 6f 42 75 66 66  65 72 22 20 69 73 20 75  |utToBuffer" is u|
000014c0  73 65 64 20 74 6f 20 64  69 76 65 72 74 0a 46 6f  |sed to divert.Fo|
000014d0  6e 74 20 63 61 6c 6c 73  20 74 6f 20 63 72 65 61  |nt calls to crea|
000014e0  74 65 20 64 72 61 77 20  70 61 74 68 73 2e 0a 0a  |te draw paths...|
000014f0  54 68 65 20 44 72 61 77  20 6d 6f 64 75 6c 65 20  |The Draw module |
00001500  69 73 20 75 73 65 64 20  74 6f 20 64 72 61 77 20  |is used to draw |
00001510  74 68 65 20 63 69 72 63  6c 65 73 20 6f 6e 20 74  |the circles on t|
00001520  68 65 0a 73 63 72 65 65  6e 2c 20 62 75 74 20 49  |he.screen, but I|
00001530  20 64 6f 20 6e 6f 74 20  6b 6e 6f 77 6e 20 65 6e  | do not known en|
00001540  6f 75 67 68 20 61 62 6f  75 74 20 42 65 7a 69 65  |ough about Bezie|
00001550  72 0a 63 75 72 76 65 73  20 74 6f 20 63 72 65 61  |r.curves to crea|
00001560  74 65 20 61 20 63 69 72  63 6c 65 20 70 72 6f 70  |te a circle prop|
00001570  65 72 6c 79 2c 20 73 6f  20 49 0a 65 78 70 65 72  |erly, so I.exper|
00001580  69 6d 65 6e 74 65 64 20  61 6e 64 20 69 6e 20 74  |imented and in t|
00001590  68 65 20 65 6e 64 2c 20  49 20 6d 61 64 65 20 74  |he end, I made t|
000015a0  68 65 20 63 6f 6e 74 72  6f 6c 0a 70 6f 69 6e 74  |he control.point|
000015b0  73 2c 20 61 20 66 61 63  74 6f 72 20 6f 66 20 31  |s, a factor of 1|
000015c0  2e 35 36 32 35 20 6f 66  20 74 68 65 20 72 61 64  |.5625 of the rad|
000015d0  69 75 73 2c 20 61 77 61  79 20 66 72 6f 6d 0a 74  |ius, away from.t|
000015e0  68 65 20 73 74 61 72 74  2f 65 6e 64 20 70 6f 69  |he start/end poi|
000015f0  6e 74 2e 20 49 20 77 6f  75 6c 64 20 62 65 20 67  |nt. I would be g|
00001600  72 61 74 65 66 75 6c 20  69 66 20 73 6f 6d 65 6f  |rateful if someo|
00001610  6e 65 0a 63 6f 75 6c 64  20 65 6e 6c 69 67 68 74  |ne.could enlight|
00001620  65 6e 20 6d 65 21 0a 0a  54 68 65 20 61 63 74 75  |en me!..The actu|
00001630  61 6c 20 77 6f 72 6b 20  69 73 20 64 6f 6e 65 20  |al work is done |
00001640  62 79 20 63 61 6c 6c 73  20 74 6f 20 22 46 6f 6e  |by calls to "Fon|
00001650  74 5f 50 61 69 6e 74 22  0a 75 73 69 6e 67 20 61  |t_Paint".using a|
00001660  20 74 72 61 6e 73 66 6f  72 6d 61 74 69 6f 6e 20  | transformation |
00001670  6d 61 74 72 69 78 2e 0a  0a 0a 0a 20 20 20 20 20  |matrix.....     |
00001680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001690  41 6e 64 72 65 77 20 42  6f 77 65 72 20 31 39 39  |Andrew Bower 199|
000016a0  34 0a                                             |4.|
000016a2