ACSLogo Release notes

Home Features Release Notes Examples

Release 1.4e (March 2008)

This release requires Tiger (OS X 10.4) or above.

This is a universal binary version Ñ it will run natively on PowerPC or Intel architectures.

Bug Fixes

Some bugs in Play fixed.

Random will now give a different set of numbers after each start-up of the program.

If a string passed to GraphicsType had a linefeed in it, GraphicsType would move up, instead of down. It now linefeeds down as you would expect. Textbox has been changed to take linefeeds into account.

GraphicsType had a problem with ligatures, printing out a small box shape. This has been fixed.

Fill was not stopping at boundaries - this should be fixed.

Alan Smith
Norwich, UK
March 2008

Release 1.4d (April 2007)

This release requires Tiger (OS X 10.4).

This is a universal binary version Ñ it will run natively on PowerPC or Intel architectures.

Enhancements

Added commands OpenTextRead, OpenTextWrite, & OpenTextAppend to handle reading and writing to Unicode files.

Added EOF? to test whether the end of the input file has been reached. Added export commands which do the same as commands in the main menu Ñ ExportEPS, ExportPDF, ExportTIFF. These allow images to be created and saved in 'batch' mode.

SetCanvasSize added to allow change of window size from a command. See help for details on these commands.

Bug Fixes

A lot of display bugs when writing to PDF have been fixed.

Filling a disk when using FPRINT or FSHOW will now raise an alert rather than crash the program.

Member? now gives the correct result for strings.

A hang during tracing should now be fixed.

Alan Smith
Norwich, UK
April 2007

Release 1.4c (March 2006)

This release requires Tiger (OS X 10.4).

This is a universal binary version Ñ it will run natively on PowerPC or Intel architectures.

Enhancements

Added commands Name?, Catch, Throw, Proplist, Putprop, Getprop, Remprop, and commands to read what the mouse is doing Ñ Button?, Mouse, GetMouseMoved, GetMouseClick, GetMouseChange. See help for details on these commands.

Bug Fixes

Page setup didn't have any effect on printing Ñ this should now work.

Abort (Command-period) didn't work on very tightly recursive procedures Ñ this should now be OK.

After doing a lot of tracing, ACSLogo would fail with an obscure exception Ñ this shouldn't happen now, but tracing might be a bit slower.

The Output command would return 'unexpected object' if it wasn't the last thing in a procedure. This has been fixed.

Alan Smith
Norwich, UK
March 2006

Release 1.4b (March 2005)

This release requires Panther (OS X 10.3).

Localisation

The main changes in this release are to do with localisation Ñ customising the program for use with non-English languages. In previous versions, it's been possible for anyone to localise the user interface Ñ dialogs, menus, etc. Ñ for a different language by editing the program resources (this is a general OS X feature and is not specific to ACSLogo). Localisation support has now been extended by allowing anyone to substitute their own set of commands for the provided English ones without any program changes. Full instructions on how to do this are provided in ACSLogo Localisation.

Command localisation has been done for French and German but is switched off by default. To activate it, go to the Localisation tab in the Preferences window and check the switch. A full list of ACSLogo commands and their French and German equivalents can be found in the ACSLogo Command Table.

Localisation of menus has been done for Spanish.

Bug Fixes

Help didn't open properly for some people. Hopefully this has been solved.

Word wrap in the main window didn't seem to work properly, and sometimes the text didn't update properly. I think this should be OK now.

The French and German Info windows didn't update when opened. This has been fixed.

Enhancements

Added a SetLineDash command which sets a dash pattern for subsequent line drawing. See the help for full details.

Unicode encoding is preserved for strings passed to the interpreter, so accented characters put into lists or strings or passed to commands such as GraphicsType will retain their accents.

Exporting EPSes and PDFs Ñ exporting EPSes and PDFs has been possible in previous releases from the print dialog (as for all OS X applications), but this is in bitmap format. By choosing PDF or EPS from the Export submenu (in the File menu) you can export the picture as a vector-based file which can then be imported into vector-based illustration programs such as Adobe Illustrator.

Alan Smith
Norwich, UK
March 2005

Release 1.4 (January 2004)

Please note that this release requires Panther (OS X 10.3).

Bug Fixes

Fixed a crash which would occur when setting the font to one which didn't exist or had some sort of problem.

Fixed a failure to update the graphics window correctly after a SetYPos.

Enhancements

Increased speed of drawing.

Added some extra turtle images which you choose between in the Preferences Window. Also the ability to drag in your own image to use as a turtle (the image should be a TIFF with an alpha channel to act as a mask, although other image types will work).

Added a SetShadow command which adds a drop shadow to all subsequent drawing.

The Say command will speak its parameter (a string or list).

The Play command plays musical notes.

Added and changed some path statements: the StrokePath command is now called StrokeCurrentPath. FillPath is now FillCurrentPath. This is because StrokePath now takes a list parameter containing the path to stroke. Similarly, FillPath takes a list parameter. SetCurrentPath sets the current path to its list parameter, while CurrentPath returns the current path as a list.

Added the ability to include comments in procedures by preceding the comment with a double-slash (//).

Added a simple auto-indent when editing procedures.

Added Undo to the Preferences window.

Added the standard Find commands to the Edit menu.

Alan Smith
Norwich, UK
January 2004

Release 1.3f (November 2003)

This is a fairly minor release containing a few bug fixes and some new commands to do with fonts.

Bug Fixes

If a Repeat statement had a syntax error, the program used to crash trying to report it.

SetBackground n, where n was the number of defined colours, would crash the program.

When comparing numbers extracted from a list, they would be compared as strings rather than numbers.

TextBox would intermittently crash the program. In addition, the x and y co-ordinates returned were window co-ordinates rather than turtle co-ordinates.

Executing an empty procedure would crash the program.

Closing, then re-opening the graphics window would cause the window not to be updated properly.

New commands:

These are all to do with fonts.

FontFace, Font Ñ return the name of the current font.

FontFamily Ñ return the name of the current font's family.

FontFaces, Fonts Ñ return the names of all available fonts.

FontFamilies Ñ return the names of all available font families.

SetFontFace, SetFont Ñ Set the current font.

SetFontFamily Ñ Set the current font family.

SetFontTraits Ñ Set the traits of the font (such as bold and italic).

Alan Smith
Norwich, UK
November 2003

Release 1.3 (June 2003)

Graphics Commands

New commands:

Arc draws arcs and circles.

SetTypeSize sets the size of type drawn with GraphicsType.

StrokePath allows you to stroke text, i.e., outline text.

TextBox returns a rectangle describing the 'size' of the text.

File Commands

New commands:

Commands to open, close, read, write, files.

Commands to set current directory, list current directory.

Miscellaneous Commands

New commands Date and Time.

Animation

Quicktime movies can be created by taking a sequence of snapshots of the graphics window.

Help

Many tutorials have been added to the help menu.

You can look up a command in help by command-double-clicking on it in the main text window.

Procedure Window Changes

The text view in the Procedures window now demonstrates a certain amount of syntax highlighting - brackets, numbers, and operators are in various colours. This behaviour can be turned off in the preferences dialogue.

Procedures can be dragged from the Procedures window of one document and dropped into the Procedures window of another. Procedures within one procedures window can be reordered by dragging.

Right-clicking in the procedures table-view brings up a context-sensitive edit menu (cut, paste, etc).

Preferences

A preferences window has been added. The turtle attributes (transparency, size, etc.) have been moved into this window and so are now global across documents.

The preferences window also includes attributes for editing in the Procedures window. By default, editing in the procedures window is in a fixed-pitch font and has syntax highlighting. These can be changed.

Bug Fixes

Fixed a crash when using Fillin.

Improved accuracy of SVG paths. Previously was using integers rather than floats. Inaccuracy was obvious under high magnification.

Alan Smith
Norwich, UK
June 2003

Release 1.2 (Mar 2002)

Bug Fixes

A bug where procedures called recursively were not getting called properly has been fixed.

Magnification

If you hold down the Alt key over the graphics window, it changes to a magnifying glass. Click to double the magnification of the window, shift-click to demagnify. You can also drag a rectangle to define the region to be magnified, or double-click to set the magnification back to 100%.

Info Window

The info window, if displayed, shows the state of the turtle, colours chosen, and mouse pointer position. You can click on the foreground and background colours to change them using the colour picker.

Transparency

You can paint with transparent colours. SetRGB can take as input a four-member list as well as a three-member list. The fourth member, if present, is opacity - 1.0 means completely opaque, 0.0 means completely transparent.

Trace Window

If the trace window is displayed, each function and procedure call is written to the window. This can produce a lot of output, so don't use it unless you need to debug a procedure.

Bugs

If the trace window is displayed, updating of the graphics window sticks until you click on it.

Occasional updating problems with the info window.

Release 1.1 (Jan 2002)

Primitives/Functions

A number of functions/primitives which did not work at all or did the wrong thing have been fixed.

Graphics

The Graphicstype function now takes a note of the turtle heading, and will display text at the appropriate angle. Font characteristics for Graphicstype can now be set using the normal font menu. The graphics window needs to be fromtmost for this to take effect.

A new function, Fillpath, has been introduced. This addresses some of the drawbacks of the other fill methods. It fills the path (polygon) made by the turtle since the last pen down. This fill is a lot quicker and looks a lot better than the other fill methods.

Exporting

As well as bitmap graphics (TIFFs), Scalable Vector Graphics (SVGs) can be exported. These are an emerging web standard, but you need a plug-in to view them as the current browsers can't read them. The importance of them is that,unlike bitmaps, they can be magnified without loss of quality. For a simple picture, they will take up less space than a bitmap, but for a very complex path, they will take up a lot more space. Note that pixel-type operations such as fill, fillin and dot do not get exported. Forward, back and fillpath do. For more information on SVGs, see SVG Links and SVG Books.

The Export text menu command will save all of the main text window, together with all procedure text, in a plain text file.

Printing

You can now print the currently selected text in the main window rather than the whole document using the Print Selection menu item.

You can print procedures - either the whole lot, or selected ones.

Procedures

I've completely changed the way this works - hopefully it's a change for the better. The procedure window now uses a table view rather then a pop-up menu to select the procedure. This allows you to select multiple procedures for, say, deleting or printing. Undo/redo should work for most actions.

Interface

Windows for saved documents, when reopened, should open in the last saved position.

 

 

 

 

 

Alan Smith
Norwich, UK
January 2002