Home » Archimedes archive » Acorn User » AU 1995-03.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-03.adf » !StarInfo_StarInfo
Filename: Bower/!ReadMe
Read OK:
File size: 169B 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 User Root Directory of the
current filing system.  To set this, type:
   *URD 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  55 73 65 72 20 52 6f 6f  | in the User Roo|
00000230  74 20 44 69 72 65 63 74  6f 72 79 20 6f 66 20 74  |t Directory of t|
00000240  68 65 0a 63 75 72 72 65  6e 74 20 66 69 6c 69 6e  |he.current filin|
00000250  67 20 73 79 73 74 65 6d  2e 20 20 54 6f 20 73 65  |g system.  To se|
00000260  74 20 74 68 69 73 2c 20  74 79 70 65 3a 0a 20 20  |t this, type:.  |
00000270  20 2a 55 52 44 20 64 69  72 65 63 74 6f 72 79 5f  | *URD directory_|
00000280  70 61 74 68 0a 0a 8f 20  54 68 65 20 53 65 6c 77  |path... The Selw|
00000290  79 6e 20 66 6f 6e 74 20  6d 75 73 74 20 62 65 20  |yn font must be |
000002a0  61 63 63 65 73 73 69 62  6c 65 2e 0a 0a 44 6f 63  |accessible...Doc|
000002b0  75 6d 65 6e 74 61 74 69  6f 6e 20 26 20 47 65 74  |umentation & Get|
000002c0  74 69 6e 67 20 73 74 61  72 74 65 64 0a 3d 3d 3d  |ting started.===|
000002d0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000002e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 0a 48 65  |============..He|
000002f0  72 65 20 66 6f 6c 6c 6f  77 20 64 65 74 61 69 6c  |re follow detail|
00000300  65 64 20 69 6e 73 74 72  75 63 74 69 6f 6e 73 2c  |ed instructions,|
00000310  20 62 75 74 20 74 6f 20  67 65 74 0a 73 74 61 72  | but to get.star|
00000320  74 65 64 2c 20 73 63 72  6f 6c 6c 20 66 75 72 74  |ted, scroll furt|
00000330  68 65 72 20 64 6f 77 6e  20 74 68 65 20 64 6f 63  |her down the doc|
00000340  75 6d 65 6e 74 20 74 6f  20 74 68 65 0a 73 65 63  |ument to the.sec|
00000350  74 69 6f 6e 20 65 6e 74  69 74 6c 65 64 20 90 47  |tion entitled .G|
00000360  65 74 74 69 6e 67 20 73  74 61 72 74 65 64 91 2e  |etting started..|
00000370  0a 0a 45 64 69 74 69 6e  67 20 6b 65 79 73 0a 3d  |..Editing keys.=|
00000380  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 88 20 89 20  |===========.. . |
00000390  20 20 20 20 20 20 20 20  4d 6f 76 65 20 63 61 72  |        Move car|
000003a0  65 74 20 6c 65 66 74 2f  72 69 67 68 74 0a 0a 8b  |et left/right...|
000003b0  20 8a 0a 43 74 72 6c 20  88 20 89 20 20 20 20 4d  | ..Ctrl . .    M|
000003c0  6f 76 65 20 74 6f 20 73  74 61 72 74 2f 65 6e 64  |ove to start/end|
000003d0  20 6f 66 20 6c 69 6e 65  0a 0a 44 65 6c 65 74 65  | of line..Delete|
000003e0  0a 42 61 63 6b 73 70 61  63 65 20 20 20 44 65 6c  |.Backspace   Del|
000003f0  65 74 65 20 6c 65 66 74  0a 0a 43 6f 70 79 20 20  |ete left..Copy  |
00000400  20 20 20 20 20 20 44 65  6c 65 74 65 20 72 69 67  |      Delete rig|
00000410  68 74 0a 0a 43 74 72 6c  20 55 20 20 20 20 20 20  |ht..Ctrl U      |
00000420  44 65 6c 65 74 65 20 6c  69 6e 65 0a 0a 52 65 74  |Delete line..Ret|
00000430  75 72 6e 20 20 20 20 20  20 41 63 63 65 70 74 20  |urn      Accept |
00000440  76 61 6c 75 65 20 98 20  54 68 65 20 63 6f 6c 6f  |value . The colo|
00000450  75 72 20 63 68 61 6e 67  65 73 20 74 6f 0a 20 20  |ur changes to.  |
00000460  20 20 20 20 20 20 20 20  20 20 63 6f 6e 66 69 72  |          confir|
00000470  6d 20 74 68 69 73 2e 0a  20 20 20 20 20 20 20 20  |m this..        |
00000480  20 20 20 20 0a 53 74 79  6c 65 0a 3d 3d 3d 3d 3d  |    .Style.=====|
00000490  0a 0a 46 6f 6e 74 20 6e  61 6d 65 20 20 20 54 79  |..Font name   Ty|
000004a0  70 65 20 74 68 65 20 6e  61 6d 65 20 6f 66 20 74  |pe the name of t|
000004b0  68 65 20 66 6f 6e 74 20  79 6f 75 20 77 69 73 68  |he font you wish|
000004c0  20 74 6f 0a 20 20 20 20  20 20 20 20 20 20 20 20  | to.            |
000004d0  75 73 65 20 28 43 74 72  6c 2d 55 20 63 6c 65 61  |use (Ctrl-U clea|
000004e0  72 73 20 74 68 65 20 6f  6c 64 20 6e 61 6d 65 29  |rs the old name)|
000004f0  2e 0a 20 20 20 20 20 20  20 20 20 20 20 20 0a 46  |..            .F|
00000500  6f 6e 74 20 73 69 7a 65  20 20 20 54 79 70 65 20  |ont size   Type |
00000510  69 6e 20 74 68 65 20 73  69 7a 65 20 6f 66 20 74  |in the size of t|
00000520  65 78 74 20 79 6f 75 20  77 69 73 68 20 74 6f 0a  |ext you wish to.|
00000530  20 20 20 20 20 20 20 20  20 20 20 20 75 73 65 20  |            use |
00000540  69 6e 20 70 6f 69 6e 74  73 20 28 37 32 20 70 6f  |in points (72 po|
00000550  69 6e 74 73 20 3d 20 31  20 69 6e 63 68 29 2e 20  |ints = 1 inch). |
00000560  54 6f 0a 20 20 20 20 20  20 20 20 20 20 20 20 75  |To.            u|
00000570  73 65 20 61 20 64 69 66  66 65 72 65 6e 74 20 68  |se a different h|
00000580  65 69 67 68 74 20 66 72  6f 6d 20 77 69 64 74 68  |eight from width|
00000590  2c 20 74 79 70 65 0a 20  20 20 20 20 20 20 20 20  |, type.         |
000005a0  20 20 20 90 77 69 64 74  68 3a 68 65 69 67 68 74  |   .width:height|
000005b0  91 2e 0a 0a 54 65 78 74  20 20 20 20 20 20 20 20  |....Text        |
000005c0  54 79 70 65 20 69 6e 20  74 68 65 20 74 65 78 74  |Type in the text|
000005d0  20 79 6f 75 20 77 69 73  68 20 64 69 73 70 6c 61  | you wish displa|
000005e0  79 65 64 2e 0a 0a 52 61  64 69 75 73 20 20 20 20  |yed...Radius    |
000005f0  20 20 54 79 70 65 20 69  6e 20 61 20 72 61 64 69  |  Type in a radi|
00000600  75 73 20 66 6f 72 20 74  68 65 20 63 69 72 63 6c  |us for the circl|
00000610  65 20 69 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |e in.           |
00000620  20 69 6e 63 68 65 73 20  28 54 68 65 20 75 6e 69  | inches (The uni|
00000630  74 20 64 6f 65 73 20 6e  6f 74 20 6e 65 65 64 20  |t does not need |
00000640  74 6f 20 62 65 0a 20 20  20 20 20 20 20 20 20 20  |to be.          |
00000650  20 20 65 6e 74 65 72 65  64 29 2e 0a 20 20 20 20  |  entered)..    |
00000660  20 20 20 20 20 20 20 20  0a 53 74 61 72 74 20 20  |        .Start  |
00000670  20 20 20 20 20 54 68 69  73 20 69 73 20 74 68 65  |     This is the|
00000680  20 61 6e 67 6c 65 20 66  72 6f 6d 20 77 68 69 63  | angle from whic|
00000690  68 20 74 68 65 20 74 65  78 74 0a 20 20 20 20 20  |h the text.     |
000006a0  20 20 20 20 20 20 20 69  73 20 64 72 61 77 6e 20  |       is drawn |
000006b0  28 99 39 30 b0 20 69 73  20 4e 6f 72 74 68 2c 20  |(.90. is North, |
000006c0  30 b0 20 69 73 20 45 61  73 74 2c 0a 20 20 20 20  |0. is East,.    |
000006d0  20 20 20 20 20 20 20 20  39 30 b0 20 69 73 20 53  |        90. is S|
000006e0  6f 75 74 68 20 98 20 64  65 67 72 65 65 73 20 69  |outh . degrees i|
000006f0  73 20 61 73 73 75 6d 65  64 20 61 6e 64 0a 20 20  |s assumed and.  |
00000700  20 20 20 20 20 20 20 20  20 20 74 68 65 20 75 6e  |          the un|
00000710  69 74 20 64 6f 65 73 20  6e 6f 74 20 6e 65 65 64  |it does not need|
00000720  20 74 6f 20 62 65 0a 20  20 20 20 20 20 20 20 20  | to be.         |
00000730  20 20 20 65 6e 74 65 72  65 64 29 2e 0a 20 20 20  |   entered)..   |
00000740  20 20 20 20 20 20 20 20  20 0a 4d 65 6e 75 20 6f  |         .Menu o|
00000750  70 74 69 6f 6e 73 0a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ptions.=========|
00000760  3d 3d 3d 0a 0a 44 72 61  77 20 20 20 20 20 20 20  |===..Draw       |
00000770  20 20 20 20 20 50 6c 6f  74 20 74 68 65 20 63 75  |     Plot the cu|
00000780  72 72 65 6e 74 20 74 65  78 74 20 69 6e 20 74 68  |rrent text in th|
00000790  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
000007a0  20 20 63 75 72 72 65 6e  74 20 73 74 79 6c 65 20  |  current style |
000007b0  77 69 74 68 20 74 68 65  20 63 75 72 72 65 6e 74  |with the current|
000007c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000007d0  20 65 66 66 65 63 74 73  2e 0a 20 20 20 20 20 20  | effects..      |
000007e0  20 20 20 20 20 20 0a 45  64 69 74 20 26 20 44 72  |      .Edit & Dr|
000007f0  61 77 20 20 20 20 20 45  64 69 74 20 74 68 65 20  |aw     Edit the |
00000800  74 65 78 74 20 61 6e 64  20 73 74 79 6c 65 20 74  |text and style t|
00000810  68 65 6e 20 70 6c 6f 74  2e 0a 0a 4d 61 6b 65 20  |hen plot...Make |
00000820  44 72 61 77 20 50 61 74  68 20 20 44 69 72 65 63  |Draw Path  Direc|
00000830  74 20 6f 75 70 75 74 20  74 6f 20 61 20 44 72 61  |t ouput to a Dra|
00000840  77 20 70 61 74 68 2e 0a  20 20 20 20 20 20 20 20  |w path..        |
00000850  20 20 20 20 20 20 20 20  59 6f 75 20 4d 55 53 54  |        You MUST|
00000860  20 64 65 73 65 6c 65 63  74 20 74 68 69 73 20 6f  | deselect this o|
00000870  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00000880  20 20 20 20 20 20 62 65  66 6f 72 65 20 71 75 69  |      before qui|
00000890  74 74 69 6e 67 2e 0a 0a  4f 76 65 72 6c 61 79 20  |tting...Overlay |
000008a0  20 20 20 20 20 20 20 20  43 61 75 73 65 20 73 75  |        Cause su|
000008b0  62 73 65 71 75 65 6e 74  20 6f 75 70 75 74 20 74  |bsequent ouput t|
000008c0  6f 20 62 65 0a 20 20 20  20 20 20 20 20 20 20 20  |o be.           |
000008d0  20 20 20 20 20 6f 76 65  72 6c 61 79 65 64 20 77  |     overlayed w|
000008e0  69 74 68 20 70 72 65 76  69 6f 75 73 20 6f 75 74  |ith previous out|
000008f0  70 75 74 2e 0a 20 20 20  20 20 20 20 20 20 20 20  |put..           |
00000900  20 20 20 20 20 0a 52 65  76 65 72 73 65 20 77 72  |     .Reverse wr|
00000910  69 74 69 6e 67 20 50 6c  6f 74 20 73 75 62 73 65  |iting Plot subse|
00000920  71 75 65 6e 74 20 74 65  78 74 20 6f 6e 20 74 68  |quent text on th|
00000930  65 20 6f 74 68 65 72 0a  20 20 20 20 20 20 20 20  |e other.        |
00000940  20 20 20 20 20 20 20 20  73 69 64 65 20 6f 66 20  |        side of |
00000950  74 68 65 20 63 69 72 63  6c 65 2e 0a 20 20 20 20  |the circle..    |
00000960  20 20 20 20 20 20 20 20  20 20 20 20 0a 41 6e 74  |            .Ant|
00000970  69 2d 63 6c 6f 63 6b 77  69 73 65 20 20 50 6c 6f  |i-clockwise  Plo|
00000980  74 20 74 65 78 74 20 66  6c 6f 77 69 6e 67 20 62  |t text flowing b|
00000990  61 63 6b 77 61 72 64 73  2e 0a 0a 4d 6f 76 65 20  |ackwards...Move |
000009a0  20 20 20 20 20 20 20 20  20 20 20 41 20 6e 75 6d  |           A num|
000009b0  65 72 69 63 61 6c 20 6f  70 74 69 6f 6e 20 77 68  |erical option wh|
000009c0  69 63 68 20 6f 76 65 72  69 64 65 73 0a 20 20 20  |ich overides.   |
000009d0  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 65  |             the|
000009e0  20 72 61 64 69 75 73 20  61 74 20 77 68 69 63 68  | radius at which|
000009f0  20 74 68 65 20 74 65 78  74 20 69 73 0a 20 20 20  | the text is.   |
00000a00  20 20 20 20 20 20 20 20  20 20 20 20 20 70 6c 6f  |             plo|
00000a10  74 74 65 64 2e 20 28 50  72 65 73 73 20 53 50 41  |tted. (Press SPA|
00000a20  43 45 20 74 6f 20 66 69  78 20 74 68 65 0a 20 20  |CE to fix the.  |
00000a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 76 61  |              va|
00000a40  6c 75 65 29 2e 0a 20 20  20 20 20 20 20 20 20 20  |lue)..          |
00000a50  20 20 20 20 20 20 0a 53  63 72 65 65 6e 20 73 68  |      .Screen sh|
00000a60  6f 74 09 41 66 74 65 72  20 73 65 6c 65 63 74 69  |ot.After selecti|
00000a70  6e 67 2c 20 70 72 65 73  73 20 53 50 41 43 45 20  |ng, press SPACE |
00000a80  77 68 65 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |when.           |
00000a90  20 20 20 20 20 72 65 61  64 79 2e 0a 20 20 20 20  |     ready..    |
00000aa0  20 20 20 20 20 20 20 20  20 20 20 20 0a 51 75 69  |            .Qui|
00000ab0  74 20 20 20 20 20 20 20  20 20 20 20 20 4c 65 61  |t            Lea|
00000ac0  76 65 20 74 68 65 20 70  72 6f 67 72 61 6d 2e 0a  |ve the program..|
00000ad0  0a 47 65 74 74 69 6e 67  20 73 74 61 72 74 65 64  |.Getting started|
00000ae0  0a 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.===============|
00000af0  0a 0a 49 66 20 61 74 20  61 6e 79 20 74 69 6d 65  |..If at any time|
00000b00  20 79 6f 75 20 67 65 74  20 73 74 75 63 6b 2c 20  | you get stuck, |
00000b10  6a 75 73 74 20 70 72 65  73 73 20 45 53 43 41 50  |just press ESCAP|
00000b20  45 0a 74 77 69 63 65 20  61 6e 64 20 72 65 2d 72  |E.twice and re-r|
00000b30  65 61 64 20 74 68 69 73  20 74 65 78 74 2e 0a 0a  |ead this text...|
00000b40  8f 20 52 75 6e 20 74 68  65 20 70 72 6f 67 72 61  |. Run the progra|
00000b50  6d 20 61 6e 64 20 74 68  65 20 70 72 65 73 73 20  |m and the press |
00000b60  72 65 74 75 72 6e 20 74  6f 20 61 6c 6c 20 74 68  |return to all th|
00000b70  65 0a 70 72 6f 6d 70 74  73 2e 20 59 6f 75 20 77  |e.prompts. You w|
00000b80  69 6c 6c 20 74 68 65 6e  20 73 65 65 20 74 68 65  |ill then see the|
00000b90  20 77 72 69 74 69 6e 67  20 94 54 68 65 20 71 75  | writing .The qu|
00000ba0  69 63 6b 0a 62 72 6f 77  6e 20 66 6f 78 95 20 61  |ick.brown fox. a|
00000bb0  70 70 65 61 72 2c 20 6d  61 70 70 65 64 20 6f 76  |ppear, mapped ov|
00000bc0  65 72 20 74 68 65 20 74  6f 70 20 6f 66 20 74 68  |er the top of th|
00000bd0  65 0a 63 69 72 63 6c 65  2e 0a 0a 8f 20 57 68 65  |e.circle.... Whe|
00000be0  6e 20 79 6f 75 20 61 72  65 20 72 65 61 64 79 2c  |n you are ready,|
00000bf0  20 70 72 65 73 73 20 72  65 74 75 72 6e 20 61 6e  | press return an|
00000c00  64 20 79 6f 75 20 77 69  6c 6c 20 62 65 0a 66 61  |d you will be.fa|
00000c10  63 65 64 20 77 69 74 68  20 61 20 6d 65 6e 75 2e  |ced with a menu.|
00000c20  20 54 68 65 20 77 6f 72  64 20 90 44 72 61 77 91  | The word .Draw.|
00000c30  20 73 68 6f 75 6c 64 20  62 65 0a 68 69 67 68 6c  | should be.highl|
00000c40  69 67 68 74 65 64 2c 20  62 75 74 20 69 6e 20 61  |ighted, but in a|
00000c50  6e 79 20 63 61 73 65 2c  20 70 72 65 73 73 20 74  |ny case, press t|
00000c60  68 65 20 55 70 20 61 6e  64 20 44 6f 77 6e 0a 61  |he Up and Down.a|
00000c70  72 72 6f 77 20 6b 65 79  73 20 75 6e 74 69 6c 20  |rrow keys until |
00000c80  90 45 64 69 74 20 26 20  44 72 61 77 91 20 69 73  |.Edit & Draw. is|
00000c90  20 68 69 67 68 6c 69 67  68 74 65 64 2e 0a 0a 8f  | highlighted....|
00000ca0  20 50 72 65 73 73 20 72  65 74 75 72 6e 20 6f 6e  | Press return on|
00000cb0  63 65 20 61 6e 64 20 79  6f 75 20 61 72 65 20 74  |ce and you are t|
00000cc0  68 65 6e 20 66 72 65 65  20 74 6f 20 63 68 61 6e  |hen free to chan|
00000cd0  67 65 0a 61 6e 79 20 61  73 70 65 63 74 73 20 6f  |ge.any aspects o|
00000ce0  66 20 74 68 65 20 74 65  78 74 20 64 69 73 70 6c  |f the text displ|
00000cf0  61 79 65 64 2e 20 59 6f  75 20 63 61 6e 20 75 73  |ayed. You can us|
00000d00  65 20 74 68 65 0a 73 74  61 6e 64 61 72 64 20 74  |e the.standard t|
00000d10  65 78 74 20 65 64 69 74  69 6e 67 20 6d 65 74 68  |ext editing meth|
00000d20  6f 64 20 74 6f 20 63 68  61 6e 67 65 20 74 68 65  |od to change the|
00000d30  20 76 61 6c 75 65 73 2c  0a 65 78 63 65 70 74 20  | values,.except |
00000d40  74 68 61 74 20 79 6f 75  20 63 61 6e 6e 6f 74 20  |that you cannot |
00000d50  75 73 65 20 74 68 65 20  6d 6f 75 73 65 2e 0a 0a  |use the mouse...|
00000d60  8f 20 50 72 65 73 73 20  72 65 74 75 72 6e 20 74  |. Press return t|
00000d70  77 69 63 65 2e 0a 0a 8f  20 50 72 65 73 73 20 90  |wice.... Press .|
00000d80  55 91 20 77 68 69 6c 65  20 68 6f 6c 64 69 6e 67  |U. while holding|
00000d90  20 64 6f 77 6e 20 90 43  74 72 6c 91 2e 0a 0a 8f  | down .Ctrl.....|
00000da0  20 4e 6f 77 20 74 79 70  65 20 69 6e 20 79 6f 75  | Now type in you|
00000db0  72 20 6f 77 6e 20 74 65  78 74 20 74 6f 20 62 65  |r own text to be|
00000dc0  20 64 69 73 70 6c 61 79  65 64 2e 0a 0a 8f 20 50  | displayed.... P|
00000dd0  72 65 73 73 20 72 65 74  75 72 6e 20 75 6e 74 69  |ress return unti|
00000de0  6c 20 79 6f 75 20 73 65  65 20 79 6f 75 72 20 74  |l you see your t|
00000df0  65 78 74 20 64 69 73 70  6c 61 79 65 64 0a 61 72  |ext displayed.ar|
00000e00  6f 75 6e 64 20 74 68 65  20 63 69 72 63 6c 65 2e  |ound the circle.|
00000e10  0a 0a 59 6f 75 20 61 72  65 20 66 72 65 65 20 74  |..You are free t|
00000e20  6f 20 61 6c 74 65 72 20  6f 74 68 65 72 20 61 73  |o alter other as|
00000e30  70 65 63 74 73 20 6f 66  20 74 68 65 20 74 65 78  |pects of the tex|
00000e40  74 20 69 6e 0a 61 20 73  69 6d 69 6c 61 72 20 77  |t in.a similar w|
00000e50  61 79 2c 20 62 75 74 20  72 65 6d 65 6d 62 65 72  |ay, but remember|
00000e60  3a 20 79 6f 75 20 64 6f  20 6e 6f 74 20 68 61 76  |: you do not hav|
00000e70  65 20 74 6f 0a 74 79 70  65 20 69 6e 20 74 68 65  |e to.type in the|
00000e80  20 75 6e 69 74 73 2e 0a  0a 57 68 65 6e 20 79 6f  | units...When yo|
00000e90  75 20 68 61 76 65 20 74  68 65 20 6d 65 6e 75 20  |u have the menu |
00000ea0  61 63 63 65 73 73 69 62  6c 65 2c 20 79 6f 75 20  |accessible, you |
00000eb0  6d 61 79 20 63 68 6f 6f  73 65 0a 6f 74 68 65 72  |may choose.other|
00000ec0  20 6f 70 74 69 6f 6e 73  3a 20 52 65 76 65 72 73  | options: Revers|
00000ed0  65 20 77 72 69 74 69 6e  67 20 63 61 6e 20 62 65  |e writing can be|
00000ee0  20 75 73 65 64 20 74 6f  0a 64 69 73 70 6c 61 79  | used to.display|
00000ef0  20 74 65 78 74 20 75 6e  64 65 72 6e 65 61 74 68  | text underneath|
00000f00  20 74 68 65 20 63 69 72  63 6c 65 2c 20 61 73 20  | the circle, as |
00000f10  6f 6e 20 74 68 65 20 41  63 6f 72 6e 0a 55 73 65  |on the Acorn.Use|
00000f20  72 20 65 78 61 6d 70 6c  65 2e 20 54 68 69 73 20  |r example. This |
00000f30  65 66 66 65 63 74 20 69  73 20 6f 66 74 65 6e 20  |effect is often |
00000f40  73 65 65 6e 20 6f 6e 20  6c 6f 67 6f 73 2e 0a 0a  |seen on logos...|
00000f50  4f 76 65 72 6c 61 79 20  69 73 20 75 73 65 64 20  |Overlay is used |
00000f60  74 6f 20 70 72 65 76 65  6e 74 20 74 68 65 20 70  |to prevent the p|
00000f70  72 65 76 69 6f 75 73 20  73 63 72 65 65 6e 20 66  |revious screen f|
00000f80  72 6f 6d 0a 62 65 69 6e  67 20 63 6c 65 61 72 65  |rom.being cleare|
00000f90  64 2e 0a 0a 49 66 20 79  6f 75 20 77 69 73 68 20  |d...If you wish |
00000fa0  74 6f 20 73 61 76 65 20  79 6f 75 72 20 74 65 78  |to save your tex|
00000fb0  74 20 61 73 20 61 20 44  72 61 77 20 66 69 6c 65  |t as a Draw file|
00000fc0  2c 20 64 6f 0a 74 68 65  20 66 6f 6c 6c 6f 77 69  |, do.the followi|
00000fd0  6e 67 3a 0a 0a 8f 20 50  72 65 73 73 20 72 65 74  |ng:... Press ret|
00000fe0  75 72 6e 20 6f 6e 20 90  4d 61 6b 65 20 44 72 61  |urn on .Make Dra|
00000ff0  77 20 70 61 74 68 91 2e  0a 20 20 54 68 65 20 66  |w path...  The f|
00001000  69 6c 65 6e 61 6d 65 20  77 68 69 63 68 20 77 69  |ilename which wi|
00001010  6c 6c 20 62 65 20 75 73  65 64 20 69 73 20 73 68  |ll be used is sh|
00001020  6f 77 6e 2e 0a 20 20 0a  8f 20 47 6f 20 61 68 65  |own..  .. Go ahe|
00001030  61 64 20 61 73 20 75 73  75 61 6c 2e 0a 0a 8f 20  |ad as usual.... |
00001040  44 65 73 65 6c 65 63 74  20 90 4d 61 6b 65 20 44  |Deselect .Make D|
00001050  72 61 77 20 70 61 74 68  91 2e 0a 0a 4e 6f 74 65  |raw path....Note|
00001060  73 0a 3d 3d 3d 3d 3d 0a  0a 54 68 69 73 20 70 72  |s.=====..This pr|
00001070  6f 67 72 61 6d 20 68 61  73 20 62 65 65 6e 20 74  |ogram has been t|
00001080  65 73 74 65 64 20 73 75  63 63 65 73 66 75 6c 6c  |ested succesfull|
00001090  79 20 6f 6e 20 52 49 53  43 20 4f 53 0a 33 2e 31  |y on RISC OS.3.1|
000010a0  31 20 61 6e 64 20 33 2e  35 30 2e 20 49 74 20 77  |1 and 3.50. It w|
000010b0  69 6c 6c 20 6e 6f 74 20  77 6f 72 6b 20 6f 6e 20  |ill not work on |
000010c0  52 49 53 43 20 4f 53 20  32 2e 0a 0a 54 6f 20 74  |RISC OS 2...To t|
000010d0  68 65 20 62 65 73 74 20  6f 66 20 6d 79 20 6b 6e  |he best of my kn|
000010e0  6f 77 6c 65 64 67 65 2c  20 74 68 69 73 20 70 72  |owledge, this pr|
000010f0  6f 67 72 61 6d 20 69 73  0a 63 6f 6d 70 61 74 69  |ogram is.compati|
00001100  62 6c 65 20 77 69 74 68  20 61 6c 6c 20 64 65 73  |ble with all des|
00001110  6b 74 6f 70 20 73 63 72  65 65 6e 20 6d 6f 64 65  |ktop screen mode|
00001120  73 2e 0a 0a 49 6e 20 32  20 63 6f 6c 6f 75 72 73  |s...In 2 colours|
00001130  3a 20 20 54 68 65 20 64  69 73 70 6c 61 79 20 69  |:  The display i|
00001140  73 20 73 6f 6d 65 77 68  61 74 20 69 6e 66 65 72  |s somewhat infer|
00001150  69 6f 72 20 62 75 74 0a  20 20 20 20 20 20 20 20  |ior but.        |
00001160  20 20 20 20 20 20 20 74  6f 74 61 6c 6c 79 20 75  |       totally u|
00001170  73 61 62 6c 65 2e 0a 20  20 20 20 20 20 20 20 20  |sable..         |
00001180  20 20 20 20 20 0a 49 6e  20 34 20 63 6f 6c 6f 75  |     .In 4 colou|
00001190  72 73 3a 20 20 44 69 73  70 6c 61 79 20 69 73 20  |rs:  Display is |
000011a0  61 63 63 65 70 74 61 62  6c 65 20 62 75 74 20 74  |acceptable but t|
000011b0  68 65 72 65 20 69 73 0a  20 20 20 20 20 20 20 20  |here is.        |
000011c0  20 20 20 20 20 20 20 6e  6f 20 61 6e 74 69 2d 61  |       no anti-a|
000011d0  6c 69 61 73 69 6e 67 2e  0a 20 20 20 20 20 20 20  |liasing..       |
000011e0  20 20 20 20 20 20 20 0a  49 6e 20 31 36 20 63 6f  |       .In 16 co|
000011f0  6c 6f 75 72 73 3a 20 43  6f 6c 6f 75 72 73 20 61  |lours: Colours a|
00001200  72 65 20 72 65 64 65 66  69 6e 65 64 20 74 6f 20  |re redefined to |
00001210  70 72 6f 76 69 64 65 0a  20 20 20 20 20 20 20 20  |provide.        |
00001220  20 20 20 20 20 20 20 61  6e 74 69 2d 61 6c 69 61  |       anti-alia|
00001230  73 69 6e 67 20 6f 66 20  61 6c 6c 20 74 68 65 20  |sing of all the |
00001240  63 6f 6c 6f 75 72 73 0a  20 20 20 20 20 20 20 20  |colours.        |
00001250  20 20 20 20 20 20 20 75  73 65 64 2e 0a 0a 4d 6f  |       used...Mo|
00001260  64 65 20 32 32 3a 20 20  20 20 20 20 20 54 6f 6f  |de 22:       Too|
00001270  20 6d 75 63 68 20 64 69  73 70 6c 61 79 20 69 73  | much display is|
00001280  20 6d 69 73 73 69 6e 67  2e 0a 0a 54 65 73 74 65  | missing...Teste|
00001290  64 20 73 75 63 63 65 73  66 75 6c 6c 79 20 69 6e  |d succesfully in|
000012a0  20 6d 6f 64 65 73 3a 0a  30 2c 31 2c 38 2c 39 2c  | modes:.0,1,8,9,|
000012b0  31 31 2c 31 32 2c 31 33  2c 31 34 2c 31 35 2c 31  |11,12,13,14,15,1|
000012c0  36 2c 31 37 2c 2a 32 32  2a 2c 32 35 2c 32 36 2c  |6,17,*22*,25,26,|
000012d0  32 37 2c 32 38 0a 0a 46  61 69 6c 65 64 20 69 6e  |27,28..Failed in|
000012e0  20 6d 6f 64 65 73 3a 20  32 2c 33 2c 34 2c 35 2c  | modes: 2,3,4,5,|
000012f0  36 2c 37 2c 31 30 0a 0a  54 68 65 20 70 72 6f 67  |6,7,10..The prog|
00001300  72 61 6d 20 75 73 65 73  20 73 68 61 64 6f 77 20  |ram uses shadow |
00001310  73 63 72 65 65 6e 20 6d  65 6d 6f 72 79 2c 20 73  |screen memory, s|
00001320  6f 0a 73 75 66 66 69 63  69 65 6e 74 20 73 63 72  |o.sufficient scr|
00001330  65 65 6e 20 6d 65 6d 6f  72 79 20 6d 75 73 74 20  |een memory must |
00001340  62 65 20 61 6c 6c 6f 63  61 74 65 64 20 6f 72 20  |be allocated or |
00001350  74 68 65 72 65 0a 73 68  6f 75 6c 64 20 62 65 20  |there.should be |
00001360  73 75 66 66 69 63 69 65  6e 74 20 73 70 61 63 65  |sufficient space|
00001370  20 69 6e 20 74 68 65 20  46 72 65 65 20 73 6c 6f  | in the Free slo|
00001380  74 2e 0a 0a 42 65 63 61  75 73 65 20 74 68 65 20  |t...Because the |
00001390  63 69 72 63 6c 65 73 20  61 72 65 20 65 78 70 6f  |circles are expo|
000013a0  72 74 65 64 20 77 69 74  68 20 74 68 65 20 74 65  |rted with the te|
000013b0  78 74 2c 20 74 68 65 0a  77 68 6f 6c 65 20 6c 6f  |xt, the.whole lo|
000013c0  74 20 63 61 6e 20 62 65  20 67 72 6f 75 70 65 64  |t can be grouped|
000013d0  20 61 6e 64 20 72 6f 74  61 74 65 64 20 77 69 74  | and rotated wit|
000013e0  68 6f 75 74 20 74 68 65  0a 63 69 72 63 75 6d 63  |hout the.circumc|
000013f0  65 6e 74 72 65 20 6d 6f  76 69 6e 67 2e 0a 0a 54  |entre moving...T|
00001400  65 63 68 6e 69 63 61 6c  20 69 6e 66 6f 72 6d 61  |echnical informa|
00001410  74 69 6f 6e 0a 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |tion.===========|
00001420  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 0a 53 57 49 20  |==========..SWI |
00001430  22 46 6f 6e 74 5f 53 65  74 50 61 6c 65 74 74 65  |"Font_SetPalette|
00001440  22 20 69 73 20 75 73 65  64 20 69 6e 20 31 36 20  |" is used in 16 |
00001450  63 6f 6c 6f 75 72 20 6d  6f 64 65 73 20 74 6f 0a  |colour modes to.|
00001460  67 69 76 65 20 61 20 63  6f 75 70 6c 65 20 6f 66  |give a couple of|
00001470  20 61 6e 74 69 2d 61 6c  69 61 73 20 73 68 61 64  | anti-alias shad|
00001480  65 73 20 74 6f 20 65 76  65 72 79 20 63 6f 6c 6f  |es to every colo|
00001490  75 72 2e 0a 0a 53 57 49  20 22 46 6f 6e 74 5f 53  |ur...SWI "Font_S|
000014a0  77 69 74 63 68 4f 75 74  70 75 74 54 6f 42 75 66  |witchOutputToBuf|
000014b0  66 65 72 22 20 69 73 20  75 73 65 64 20 74 6f 20  |fer" is used to |
000014c0  64 69 76 65 72 74 0a 46  6f 6e 74 20 63 61 6c 6c  |divert.Font call|
000014d0  73 20 74 6f 20 63 72 65  61 74 65 20 64 72 61 77  |s to create draw|
000014e0  20 70 61 74 68 73 2e 0a  0a 54 68 65 20 44 72 61  | paths...The Dra|
000014f0  77 20 6d 6f 64 75 6c 65  20 69 73 20 75 73 65 64  |w module is used|
00001500  20 74 6f 20 64 72 61 77  20 74 68 65 20 63 69 72  | to draw the cir|
00001510  63 6c 65 73 20 6f 6e 20  74 68 65 0a 73 63 72 65  |cles on the.scre|
00001520  65 6e 2c 20 62 75 74 20  49 20 64 6f 20 6e 6f 74  |en, but I do not|
00001530  20 6b 6e 6f 77 6e 20 65  6e 6f 75 67 68 20 61 62  | known enough ab|
00001540  6f 75 74 20 42 65 7a 69  65 72 0a 63 75 72 76 65  |out Bezier.curve|
00001550  73 20 74 6f 20 63 72 65  61 74 65 20 61 20 63 69  |s to create a ci|
00001560  72 63 6c 65 20 70 72 6f  70 65 72 6c 79 2c 20 73  |rcle properly, s|
00001570  6f 20 49 0a 65 78 70 65  72 69 6d 65 6e 74 65 64  |o I.experimented|
00001580  20 61 6e 64 20 69 6e 20  74 68 65 20 65 6e 64 2c  | and in the end,|
00001590  20 49 20 6d 61 64 65 20  74 68 65 20 63 6f 6e 74  | I made the cont|
000015a0  72 6f 6c 0a 70 6f 69 6e  74 73 2c 20 61 20 66 61  |rol.points, a fa|
000015b0  63 74 6f 72 20 6f 66 20  31 2e 35 36 32 35 20 6f  |ctor of 1.5625 o|
000015c0  66 20 74 68 65 20 72 61  64 69 75 73 2c 20 61 77  |f the radius, aw|
000015d0  61 79 20 66 72 6f 6d 0a  74 68 65 20 73 74 61 72  |ay from.the star|
000015e0  74 2f 65 6e 64 20 70 6f  69 6e 74 2e 20 49 20 77  |t/end point. I w|
000015f0  6f 75 6c 64 20 62 65 20  67 72 61 74 65 66 75 6c  |ould be grateful|
00001600  20 69 66 20 73 6f 6d 65  6f 6e 65 0a 63 6f 75 6c  | if someone.coul|
00001610  64 20 65 6e 6c 69 67 68  74 65 6e 20 6d 65 21 0a  |d enlighten me!.|
00001620  0a 54 68 65 20 61 63 74  75 61 6c 20 77 6f 72 6b  |.The actual work|
00001630  20 69 73 20 64 6f 6e 65  20 62 79 20 63 61 6c 6c  | is done by call|
00001640  73 20 74 6f 20 22 46 6f  6e 74 5f 50 61 69 6e 74  |s to "Font_Paint|
00001650  22 0a 75 73 69 6e 67 20  61 20 74 72 61 6e 73 66  |".using a transf|
00001660  6f 72 6d 61 74 69 6f 6e  20 6d 61 74 72 69 78 2e  |ormation matrix.|
00001670  0a 0a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00001680  20 20 20 20 20 20 20 20  20 41 6e 64 72 65 77 20  |         Andrew |
00001690  42 6f 77 65 72 20 31 39  39 34 0a                 |Bower 1994.|
0000169b