FontFix - Desktop and printing enhancements

by David Pilling and Bernard Veasey

FontFix provides a desktop front-end to David Pilling's FontFix module. The module provides the following facilities:

 Background blending of fonts in most applications
 Anti-aliasing of Draw objects in most applications, using Computer Concepts' GDraw system
 Printing fix for users of certain printing systems, such as Calligraph laser printers

A Draw file called Example is provided inside the application. It contains vector objects and editable text on a coloured background, and can be used to observe the effects of enabling and disabling the FontFix background blending and vector anti-aliasing options.

Running the application in the normal way opens a window which allows a number of options to chosen. These options are as follows:

Background blending
This option allows all applications to make use of the background blending feature of the latest versions of Acorn's Font Manager. Background blending means that text is automatically anti-aliased to the background, whatever it might be. Applications that were written before this feature became available will not normally be able to use the facility because it requires additional parameters to be added to SWI calls made to the Font Manager. FontFix intercepts such calls and adds the missing parameters if this option is set.

Users of Impression will find this option particularly useful, as it will make the text in their documents appear much smoother against coloured backgrounds, just like in Ovation Pro.

The background blending feature will only work with machines on which the background blending version of the font manager is available. This includes machines fitted with RISC OS 3.7 or later, and those machines that have been updated with Acorn's new Boot sequence and Window Manager, supplied on the Browse and Java CD-ROMs.

Vector anti-aliasing
When this option is set, Computer Concepts' GDraw module is used instead of the standard Acorn Draw module to plot vector objects on the screen. This allows all such objects to be anti-aliased, and works with most applications. Note that this option is only relevant for screen output, and will not affect printouts in any way; all printer output will use the standard Draw module as normal. (The GDraw module was tested with printouts, and found to have adverse effects.)

Users of Ovation Pro and Draw (or similar) will find this option particularly useful, as it will make the drawn objects in their documents appear smoothly anti-aliased against the background, just like in ArtWorks and Impression.

Printing fix
There is a known printing problem which affects users of Calligraph printers, and possibly some other systems. When printing from certain applications, text within Draw files may vanish. This happens most frequently when printing pages which include Draw files in DTP packages such as Ovation Pro and Impression. It does not affect 'normal' text on the DTP page, or text which has been converted into vector shapes. It merely affects the text which remains true, editable text within Draw files. If you have ever found that this kind of text sometimes vanishes from your printouts, then you need to use this printing fix.

The problem involves the use of dynamic areas on machines running RISC OS 3.5 or later, and the fix involves shifting the text to low memory (from a dynamic area) before printing it. Note that there are no ill-effects from doing this, even if it is unnecessary. If you think that you do not suffer from the problem, it's still safe for you to leave this option turned on.

FontFix off
This button enables you to completely disable FontFix with a single click.

Open window on loading
When this option is set, the main FontFix front-end window is opened when it is run.

Note that if you close the window, it can be re-opened by pressing Ctrl-F1.

Install icon on icon bar
When this option is set, the FontFix front-end will place an icon on the icon bar.

If you close the window and have no icon installed on the icon bar, you can still re-open the window by pressing Ctrl-F1.

At the bottom of the FontFix window are two buttons labelled Save and Cancel. Clicking on Save saves both the current options and the position of the main FontFix window. Clicking with Select closes the window whilst Adjust keeps it open, as per the normal conventions. Clicking Cancel with either button simply closes the window. Note that all switches in the window work with immediate effect; there is no need to click Save just to make a temporary change.

Application exclusion lists
The two main options, Background blending and Vector anti-aliasing, both have an associated Auto-disabling switch. These are present because a small number of applications have problems if you try to use FontFix to force them to perform blending or anti-aliasing. Known problem applications are as follows:

Problems with font background blending:
WordWorks: the main text in the window will occasionally be drawn in grey or white (the latter making it completely invisible), although resizing the window will normally restore the text to black.
PMS (music typesetting application): background blending makes the music display appear blotchy at normal or small sizes.

Problems with vector anti-aliasing:
Impression family: if viewing the links between frames, the linking arrows vanish if vector anti-aliasing is forced. (Of course, Impression uses GDraw itself in any case, so the use of the FontFix anti-aliasing feature with it is irrelevant, although the blending feature is a major benefit which works well with Impression.)
FontFX: unfortunately, forcing vector anti-aliasing causes FontFX to hang the computer when opening the output preview window. Note that you can still press Alt-Break to invoke the RISC OS Watchdog and kill off FontFX with no ill-effects to your system.
EFF applications: certain applications from the Electronic Font Foundry (EFF TrueType Translator and the various catalogue programs on their font CD-ROMs) hang the computer (non-disastrously) when you try to view a font sample, in much the same way as FontFX, above.

Because of these minor problems, the FontFix front-end can automatically disable the individual features while applications which do not work properly with them are loaded. As soon as such an application is loaded, the feature is turned off, and turned on again once that application is quit. More than one application can be loaded, and the feature will not be re-enabled until all excluded applications have been quit.

This feature works by the use of exclusion lists: there are two text files inside !FontFix, called NoBlending and NoVector. In these, you should list the task names (exactly as they appear in the Task Manager window) of any applications for which the blending or anti-aliasing features need to be turned off. Each file can contain a maximum of 128 entries. Note that if you edit either of these files while the FontFX front-end is running, you will need to quit and reload it for your changes to take effect.

The presence of the automatic disabling facilities means that you can install FontFX in your boot sequence and largely forget about it, simply enjoying its benefits and leaving it to turn itself off when necessary. We therefore suggest that you copy it into the following directory on your system:
	!Boot.Choices.Boot.Tasks
Then it will load each time your turn your computer on.

General information
The FontFixStart$Delay time, set in the !Run file, may need to be adjusted to suit your boot-up requirements if FontFix is placed in the !Boot.Choices.Boot.Tasks directory. If the FontFix module loads too early, the system font will be displayed in the desktop instead of the usual outline font. If that happens, the time delay set by this variable needs to be increased.

The hot-key used to open the FontFix window defaults to Ctrl-F1, but can be changed by editing the !Run file.

Clicking on the i icon in the About this program window will load this help information into your default text editor.

To use the Vector anti-aliasing feature you will need the GDraw and DitherExtend modules. These are not supplied on this disc, but usually come with Computer Concepts' products such as Impression and ArtWorks, and normally reside in:
	!System.!CCShared.RMStore
By default, FontFix tries to load the modules from there, but again this behaviour can be altered by editing the !Run file. Note that almost everyone will have copies of these modules already, because they are supplied with the freeware ArtWorks viewer application, AWViewer, a copy of which is supplied in the Diversions directory of all new Acorn computers, or can be obtained on numerous clip-art collections or from public domain libraries.

Note that the GDraw system does not attempt to anti-alias 'thin' lines (which, by definition, are one pixel wide). This is helpful, because use of thin lines is generally a bad idea, particularly if a graphic is intended for printing, and the fact that thin lines are not anti-aliased on the screen makes them easier to spot and correct. (When printed, thin lines come out at one 'pixel' width on the output medium, so the better the printer, the more likely thin lines are to be invisible!)

Important note about the FontFix module
The FontFix module is actually available in two forms, from two sources.

FontFix version 0.01 is freeware, and may be downloaded from David Pilling's Web site:
	http://www.netlink.co.uk/users/pilling/index.html
This initial version of the module was created as a bug-fix for the benefit of all Calligraph printer users, and as such contains nothing more than the printing fix described above.

Later versions of FontFix, however, which currently also include the background blending and GDraw anti-aliasing features, are not freeware, and may not be distributed without permission. Module version 0.03, with desktop front-end, as supplied on this disc, is a RISC User product and may be subject to future upgrades.

FontFix module copyright  David Pilling 1997, 1998
FontFix desktop front-end  Bernard Veasey 1998
GDraw module  Computer Concepts Ltd 1992, 1993
DitherExtend module  Computer Concepts Ltd 1992, 1993

Copyright  RISC User magazine 1998
