Home » Archimedes archive » Micro User » MU 1991-07.adf » PD-Stuff » Utilities/HelpReader/!HelpGen/Text/!DemoApp/MakeHelp/Text

Utilities/HelpReader/!HelpGen/Text/!DemoApp/MakeHelp/Text

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 » Micro User » MU 1991-07.adf » PD-Stuff
Filename: Utilities/HelpReader/!HelpGen/Text/!DemoApp/MakeHelp/Text
Read OK:
File size: 26A5 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
@#introduction
Getting the best from the Acorn Outline Font Manager
====================================================

@%drawing#Drawing characters
@%configure#Configuration commands
@%notes#Miscellaneous Notes

This document describes some aspects of RISC OS' new Outline Font Manager,
and contains some hints as to how to get the best from it. The font manager
is a complex piece of software which must sometimes make delicate tradeoffs
between speed, space, and font quality. Getting this completely optimal
involves reading the user's mind and predicting the future, both of which
most computers still find a little tricky.

The fonts controlled by the Font Manager live in files in some filing
system, usually inside a directory called !Fonts. Although it can still read
the font files used in the old Font Manager, the recommended form in which
they now exist defines each character by its *outline*. This can then be
scaled to any desired size, when rendering the character on a printer or on
the screen.

@#drawing
Two sophisticated tricks are used to improve the quality of the rendered
fonts, and one sophisticated trick to improve the speed of the overall
system.

The first is called *anti-aliasing*: rather than just rendering the
characters using black and white pixels, grey pixels are also used to make
curves look smoother, and to provide a better approximation to the desired
image when few pixels are available. This results in an astonishing jump in
quality when few pixels are available, such as on the screen. The old Arthur
1.20 Font Manager also used this.

The second is called *hinting*. This means subtly altering the outline of
the character being rendered in ways that depend on the target pixel grid.
This allows properties concerning the symmetry of the character to be
accurately preserved when the character is arbitrarily scaled. This is
particularly useful when grey pixels are not available (such as on most
printers). This is the major innovation of the new Outline Font Manager,
previously such algorithms have only been in general use inside expensive
PostScript printers. Acorn's implementation of this is so effective that
many people find hinted character quality on the screen perfectly acceptable
even without anti-alasing.

The performance trick is called *cacheing*. Unfortunately, loading a
character's outline from a file and computing a bitmap from it (using
hinting and/or anti-aliasing) takes time. In order to get round this, such
bitmaps are retained in the font manager when they have been computed, in
case they are needed again. This is where predicting the future comes in: of
the many hundreds and thousands of characters and sizes that the font
manager must cache (e.g. retain), which ones are worth keeping? All that the
Font Manager can do is to keep as many as it has space for, discarding ones
that have not been used for some time.

As the user of this system you can provide input to this process in the
following way (this is where the Font Manager's inability at mind-reading is
annoying).

First, only you can decide how much memory the Font Manager may use for
cacheing, and how much you need for other things. This is done by setting
the Font cache size in the Task Window, or via *Configure FontSize (the
latter will set the power-on default value).

You can also spend disc memory to main certain operations faster. It's
possible to save extra files inside !Fonts that contain prescaled,
anti-aliased files

Second, only you can decide how important character quality is to you, and
how much time and memory you are prepared to spend on the quality of the
results you see on the screen. Different people have different perceptions
of "quality" too.

@#configure
You can control this using several new *Configure commands, as follows. If
you do not touch these values then you will find that reasonable defaults
are set up.

*Configure FontMax2
This sets the maximum size of anti-aliased characters, in pixels. If a
character is larger than this value then anti-aliasing will not be used.
Anti-aliasing quadruples the size of retained bitmaps in the cache, and
slows down conversion from outlines too. Set this to 0 to turn anti-aliasing
off entirely.

*Configure FontMax3
This sets of the maximum size of any form of retained bitmap. If a character
to be drawn is larger than this then the outline will be drawn directly to
the screen (or printer) with no cacheing happening at all. This is so that
document headings, etc., where a few larger characters appear, do not flush
everything else out of the font cache.

The value is set in pixels (rather than points) because it is the pixel size
that affects cache usage. This corresponds to different point sizes on the
screen and on the printer.

*Configure FontMax4
If this is non-zero then *sub-pixel anti-aliasing* is used. This is a
refinement of anti-aliasing in which four separate versions of each
character are retained, depending on the placement of the character at
sub-pixel accuracy. This can have a noticeable effect on character quality
at small sizes but for most users the delay involved is unacceptable. Thus,
most users leave this at the default value of 0.

*Configure FontMax5
If this is non-zero then sub-pixel anti-alaiasing is used in the vertical
direction as well as the horizontal direction. This is even rarer than use
of FontMax4. Almost all users leave this at the default value of 0.

(Do not use *Configure FontMax1, it is for controlling the mixed use of
outline and bitmap files and is of little importance to most users.)

@#trouble
Troubleshooting
---------------

If every repaint on the screen causes intensive disc and hourglass activity
then you may be having trouble with the font cache *thrashing* (e.g. it's
too small to hold the range of fonts you are using at the moment). There may
be other causes, e.g. the DTP program can cause disc activity without the
font manager being involved.

Try the following things:

1. Change the size of the font cache using the Task Window. Does slightly
more memory make it work better?

2. Change FontMax2 to zero (reconfiguring these values takes immediate
effect, you do not have to reboot). Is the quality of characters still
acceptable? Does performance improve?

3. Change FontMax3 to a lower value, or even 0. This should sharply reduce
thrashing, but the action of painting on the screen will become much slower.

Remember that these values will survive a reset or power-on.

@#notes
Miscellaneous Notes
-------------------

The above should be enough information to allow the typical user to get the
most out of the Outline Font Manager. Here is some additional information on
various related subjects, and some more advanced tips for effective use.

The technology in the Outline Font Manager really is state-of-the-art. The
hinting gives outstanding quality at low resolutions. No competing system
has enough processor power to be able to use anti-aliasing effectively. The
generation of screen and printer fonts from the same source (with precisely
matching metrics) makes it easy to distribute new fonts, and solves many
problems in creating powerful WYSIWYG applications. Unlike some other
companies with similar technology, Acorn encourages the creation of new
fonts by third parties and does not attempt to encrypt the fonts themselves.

The default FontMax settings are designed for a user of a small system. A
system with more than 1MB on which DTP-like applications are used
intensively, would typically be configured with slightly larger values.

A font is actually cached in blocks of 32 characters, with adjacent ASCII
codes. Thus, just painting a single character will typically pull in 31
others. This is because each disc operation has a subtantial start-up time.

It's possible to save precomputed bitmaps from the cache into the filing
system, this can speed up the use of certain sizes of font at the cost of
disc space. *Configure FontMax 1 is used to control this.

@#smallfonts
What is sub-pixel anti-aliasing? The width of each character is stored to
greater accuracy than the pixels on the screen. Thus, in !Edit in mode 12,
create a line consisting of lots of lower-case Trinity.Medium 'l's. See how
they bunch up in groups of about 6 characters, with an extra pixel gap
between bunches? This is because the width of this letter is not an exact
multiple of the size of a screen pixel. Now set *Configure FontMax4 to 20,
and see the difference: the bunching is smoothed out. Use !Magnifier to
study the effect in more detail.

It's possible for the font cache to grow if its size is definitely too
small, up to a limit set by *Configure FontMax. If this happens it will then
shrink back to the normal current size as soon as any fonts can be
discarded. The FontMgr decides to do this rather than throw away cached
blocks of currently "open" fonts. This can be used as a hint by application
programs to make fix #1 in the "Troubleshooting" (@%trouble#) section happen
automatically.

When printing, there are conflicting requirements for memory. The Font
manager needs memory to cache fonts, and the printer driver needs memory to
build up a page image to send to the printer. Both of these affect printing
speed, you will have to experiment to find the optimum. Changing to screen
mode 0 while printing, for instance, can speed it up considerably. The print
buffer is created from the Wimp free pool. As a general rule these remarks
do not apply to PostScript printing, which operates in a different way.

The font manager actually finds the fonts in !Fonts by examining directories
named in the environment variable Font$Path. By default this (for
compatibility with Arthur 1.20) points to another environment variable,
Font$Prefix. It's possible to get the font manager to search more than one
directory for fonts, by adding other directories to Font$Path.
00000000  40 23 69 6e 74 72 6f 64  75 63 74 69 6f 6e 0a 47  |@#introduction.G|
00000010  65 74 74 69 6e 67 20 74  68 65 20 62 65 73 74 20  |etting the best |
00000020  66 72 6f 6d 20 74 68 65  20 41 63 6f 72 6e 20 4f  |from the Acorn O|
00000030  75 74 6c 69 6e 65 20 46  6f 6e 74 20 4d 61 6e 61  |utline Font Mana|
00000040  67 65 72 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ger.============|
00000050  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000070  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 40 25 64 72 61 77  |========..@%draw|
00000080  69 6e 67 23 44 72 61 77  69 6e 67 20 63 68 61 72  |ing#Drawing char|
00000090  61 63 74 65 72 73 0a 40  25 63 6f 6e 66 69 67 75  |acters.@%configu|
000000a0  72 65 23 43 6f 6e 66 69  67 75 72 61 74 69 6f 6e  |re#Configuration|
000000b0  20 63 6f 6d 6d 61 6e 64  73 0a 40 25 6e 6f 74 65  | commands.@%note|
000000c0  73 23 4d 69 73 63 65 6c  6c 61 6e 65 6f 75 73 20  |s#Miscellaneous |
000000d0  4e 6f 74 65 73 0a 0a 54  68 69 73 20 64 6f 63 75  |Notes..This docu|
000000e0  6d 65 6e 74 20 64 65 73  63 72 69 62 65 73 20 73  |ment describes s|
000000f0  6f 6d 65 20 61 73 70 65  63 74 73 20 6f 66 20 52  |ome aspects of R|
00000100  49 53 43 20 4f 53 27 20  6e 65 77 20 4f 75 74 6c  |ISC OS' new Outl|
00000110  69 6e 65 20 46 6f 6e 74  20 4d 61 6e 61 67 65 72  |ine Font Manager|
00000120  2c 0a 61 6e 64 20 63 6f  6e 74 61 69 6e 73 20 73  |,.and contains s|
00000130  6f 6d 65 20 68 69 6e 74  73 20 61 73 20 74 6f 20  |ome hints as to |
00000140  68 6f 77 20 74 6f 20 67  65 74 20 74 68 65 20 62  |how to get the b|
00000150  65 73 74 20 66 72 6f 6d  20 69 74 2e 20 54 68 65  |est from it. The|
00000160  20 66 6f 6e 74 20 6d 61  6e 61 67 65 72 0a 69 73  | font manager.is|
00000170  20 61 20 63 6f 6d 70 6c  65 78 20 70 69 65 63 65  | a complex piece|
00000180  20 6f 66 20 73 6f 66 74  77 61 72 65 20 77 68 69  | of software whi|
00000190  63 68 20 6d 75 73 74 20  73 6f 6d 65 74 69 6d 65  |ch must sometime|
000001a0  73 20 6d 61 6b 65 20 64  65 6c 69 63 61 74 65 20  |s make delicate |
000001b0  74 72 61 64 65 6f 66 66  73 0a 62 65 74 77 65 65  |tradeoffs.betwee|
000001c0  6e 20 73 70 65 65 64 2c  20 73 70 61 63 65 2c 20  |n speed, space, |
000001d0  61 6e 64 20 66 6f 6e 74  20 71 75 61 6c 69 74 79  |and font quality|
000001e0  2e 20 47 65 74 74 69 6e  67 20 74 68 69 73 20 63  |. Getting this c|
000001f0  6f 6d 70 6c 65 74 65 6c  79 20 6f 70 74 69 6d 61  |ompletely optima|
00000200  6c 0a 69 6e 76 6f 6c 76  65 73 20 72 65 61 64 69  |l.involves readi|
00000210  6e 67 20 74 68 65 20 75  73 65 72 27 73 20 6d 69  |ng the user's mi|
00000220  6e 64 20 61 6e 64 20 70  72 65 64 69 63 74 69 6e  |nd and predictin|
00000230  67 20 74 68 65 20 66 75  74 75 72 65 2c 20 62 6f  |g the future, bo|
00000240  74 68 20 6f 66 20 77 68  69 63 68 0a 6d 6f 73 74  |th of which.most|
00000250  20 63 6f 6d 70 75 74 65  72 73 20 73 74 69 6c 6c  | computers still|
00000260  20 66 69 6e 64 20 61 20  6c 69 74 74 6c 65 20 74  | find a little t|
00000270  72 69 63 6b 79 2e 0a 0a  54 68 65 20 66 6f 6e 74  |ricky...The font|
00000280  73 20 63 6f 6e 74 72 6f  6c 6c 65 64 20 62 79 20  |s controlled by |
00000290  74 68 65 20 46 6f 6e 74  20 4d 61 6e 61 67 65 72  |the Font Manager|
000002a0  20 6c 69 76 65 20 69 6e  20 66 69 6c 65 73 20 69  | live in files i|
000002b0  6e 20 73 6f 6d 65 20 66  69 6c 69 6e 67 0a 73 79  |n some filing.sy|
000002c0  73 74 65 6d 2c 20 75 73  75 61 6c 6c 79 20 69 6e  |stem, usually in|
000002d0  73 69 64 65 20 61 20 64  69 72 65 63 74 6f 72 79  |side a directory|
000002e0  20 63 61 6c 6c 65 64 20  21 46 6f 6e 74 73 2e 20  | called !Fonts. |
000002f0  41 6c 74 68 6f 75 67 68  20 69 74 20 63 61 6e 20  |Although it can |
00000300  73 74 69 6c 6c 20 72 65  61 64 0a 74 68 65 20 66  |still read.the f|
00000310  6f 6e 74 20 66 69 6c 65  73 20 75 73 65 64 20 69  |ont files used i|
00000320  6e 20 74 68 65 20 6f 6c  64 20 46 6f 6e 74 20 4d  |n the old Font M|
00000330  61 6e 61 67 65 72 2c 20  74 68 65 20 72 65 63 6f  |anager, the reco|
00000340  6d 6d 65 6e 64 65 64 20  66 6f 72 6d 20 69 6e 20  |mmended form in |
00000350  77 68 69 63 68 0a 74 68  65 79 20 6e 6f 77 20 65  |which.they now e|
00000360  78 69 73 74 20 64 65 66  69 6e 65 73 20 65 61 63  |xist defines eac|
00000370  68 20 63 68 61 72 61 63  74 65 72 20 62 79 20 69  |h character by i|
00000380  74 73 20 2a 6f 75 74 6c  69 6e 65 2a 2e 20 54 68  |ts *outline*. Th|
00000390  69 73 20 63 61 6e 20 74  68 65 6e 20 62 65 0a 73  |is can then be.s|
000003a0  63 61 6c 65 64 20 74 6f  20 61 6e 79 20 64 65 73  |caled to any des|
000003b0  69 72 65 64 20 73 69 7a  65 2c 20 77 68 65 6e 20  |ired size, when |
000003c0  72 65 6e 64 65 72 69 6e  67 20 74 68 65 20 63 68  |rendering the ch|
000003d0  61 72 61 63 74 65 72 20  6f 6e 20 61 20 70 72 69  |aracter on a pri|
000003e0  6e 74 65 72 20 6f 72 20  6f 6e 0a 74 68 65 20 73  |nter or on.the s|
000003f0  63 72 65 65 6e 2e 0a 0a  40 23 64 72 61 77 69 6e  |creen...@#drawin|
00000400  67 0a 54 77 6f 20 73 6f  70 68 69 73 74 69 63 61  |g.Two sophistica|
00000410  74 65 64 20 74 72 69 63  6b 73 20 61 72 65 20 75  |ted tricks are u|
00000420  73 65 64 20 74 6f 20 69  6d 70 72 6f 76 65 20 74  |sed to improve t|
00000430  68 65 20 71 75 61 6c 69  74 79 20 6f 66 20 74 68  |he quality of th|
00000440  65 20 72 65 6e 64 65 72  65 64 0a 66 6f 6e 74 73  |e rendered.fonts|
00000450  2c 20 61 6e 64 20 6f 6e  65 20 73 6f 70 68 69 73  |, and one sophis|
00000460  74 69 63 61 74 65 64 20  74 72 69 63 6b 20 74 6f  |ticated trick to|
00000470  20 69 6d 70 72 6f 76 65  20 74 68 65 20 73 70 65  | improve the spe|
00000480  65 64 20 6f 66 20 74 68  65 20 6f 76 65 72 61 6c  |ed of the overal|
00000490  6c 0a 73 79 73 74 65 6d  2e 0a 0a 54 68 65 20 66  |l.system...The f|
000004a0  69 72 73 74 20 69 73 20  63 61 6c 6c 65 64 20 2a  |irst is called *|
000004b0  61 6e 74 69 2d 61 6c 69  61 73 69 6e 67 2a 3a 20  |anti-aliasing*: |
000004c0  72 61 74 68 65 72 20 74  68 61 6e 20 6a 75 73 74  |rather than just|
000004d0  20 72 65 6e 64 65 72 69  6e 67 20 74 68 65 0a 63  | rendering the.c|
000004e0  68 61 72 61 63 74 65 72  73 20 75 73 69 6e 67 20  |haracters using |
000004f0  62 6c 61 63 6b 20 61 6e  64 20 77 68 69 74 65 20  |black and white |
00000500  70 69 78 65 6c 73 2c 20  67 72 65 79 20 70 69 78  |pixels, grey pix|
00000510  65 6c 73 20 61 72 65 20  61 6c 73 6f 20 75 73 65  |els are also use|
00000520  64 20 74 6f 20 6d 61 6b  65 0a 63 75 72 76 65 73  |d to make.curves|
00000530  20 6c 6f 6f 6b 20 73 6d  6f 6f 74 68 65 72 2c 20  | look smoother, |
00000540  61 6e 64 20 74 6f 20 70  72 6f 76 69 64 65 20 61  |and to provide a|
00000550  20 62 65 74 74 65 72 20  61 70 70 72 6f 78 69 6d  | better approxim|
00000560  61 74 69 6f 6e 20 74 6f  20 74 68 65 20 64 65 73  |ation to the des|
00000570  69 72 65 64 0a 69 6d 61  67 65 20 77 68 65 6e 20  |ired.image when |
00000580  66 65 77 20 70 69 78 65  6c 73 20 61 72 65 20 61  |few pixels are a|
00000590  76 61 69 6c 61 62 6c 65  2e 20 54 68 69 73 20 72  |vailable. This r|
000005a0  65 73 75 6c 74 73 20 69  6e 20 61 6e 20 61 73 74  |esults in an ast|
000005b0  6f 6e 69 73 68 69 6e 67  20 6a 75 6d 70 20 69 6e  |onishing jump in|
000005c0  0a 71 75 61 6c 69 74 79  20 77 68 65 6e 20 66 65  |.quality when fe|
000005d0  77 20 70 69 78 65 6c 73  20 61 72 65 20 61 76 61  |w pixels are ava|
000005e0  69 6c 61 62 6c 65 2c 20  73 75 63 68 20 61 73 20  |ilable, such as |
000005f0  6f 6e 20 74 68 65 20 73  63 72 65 65 6e 2e 20 54  |on the screen. T|
00000600  68 65 20 6f 6c 64 20 41  72 74 68 75 72 0a 31 2e  |he old Arthur.1.|
00000610  32 30 20 46 6f 6e 74 20  4d 61 6e 61 67 65 72 20  |20 Font Manager |
00000620  61 6c 73 6f 20 75 73 65  64 20 74 68 69 73 2e 0a  |also used this..|
00000630  0a 54 68 65 20 73 65 63  6f 6e 64 20 69 73 20 63  |.The second is c|
00000640  61 6c 6c 65 64 20 2a 68  69 6e 74 69 6e 67 2a 2e  |alled *hinting*.|
00000650  20 54 68 69 73 20 6d 65  61 6e 73 20 73 75 62 74  | This means subt|
00000660  6c 79 20 61 6c 74 65 72  69 6e 67 20 74 68 65 20  |ly altering the |
00000670  6f 75 74 6c 69 6e 65 20  6f 66 0a 74 68 65 20 63  |outline of.the c|
00000680  68 61 72 61 63 74 65 72  20 62 65 69 6e 67 20 72  |haracter being r|
00000690  65 6e 64 65 72 65 64 20  69 6e 20 77 61 79 73 20  |endered in ways |
000006a0  74 68 61 74 20 64 65 70  65 6e 64 20 6f 6e 20 74  |that depend on t|
000006b0  68 65 20 74 61 72 67 65  74 20 70 69 78 65 6c 20  |he target pixel |
000006c0  67 72 69 64 2e 0a 54 68  69 73 20 61 6c 6c 6f 77  |grid..This allow|
000006d0  73 20 70 72 6f 70 65 72  74 69 65 73 20 63 6f 6e  |s properties con|
000006e0  63 65 72 6e 69 6e 67 20  74 68 65 20 73 79 6d 6d  |cerning the symm|
000006f0  65 74 72 79 20 6f 66 20  74 68 65 20 63 68 61 72  |etry of the char|
00000700  61 63 74 65 72 20 74 6f  20 62 65 0a 61 63 63 75  |acter to be.accu|
00000710  72 61 74 65 6c 79 20 70  72 65 73 65 72 76 65 64  |rately preserved|
00000720  20 77 68 65 6e 20 74 68  65 20 63 68 61 72 61 63  | when the charac|
00000730  74 65 72 20 69 73 20 61  72 62 69 74 72 61 72 69  |ter is arbitrari|
00000740  6c 79 20 73 63 61 6c 65  64 2e 20 54 68 69 73 20  |ly scaled. This |
00000750  69 73 0a 70 61 72 74 69  63 75 6c 61 72 6c 79 20  |is.particularly |
00000760  75 73 65 66 75 6c 20 77  68 65 6e 20 67 72 65 79  |useful when grey|
00000770  20 70 69 78 65 6c 73 20  61 72 65 20 6e 6f 74 20  | pixels are not |
00000780  61 76 61 69 6c 61 62 6c  65 20 28 73 75 63 68 20  |available (such |
00000790  61 73 20 6f 6e 20 6d 6f  73 74 0a 70 72 69 6e 74  |as on most.print|
000007a0  65 72 73 29 2e 20 54 68  69 73 20 69 73 20 74 68  |ers). This is th|
000007b0  65 20 6d 61 6a 6f 72 20  69 6e 6e 6f 76 61 74 69  |e major innovati|
000007c0  6f 6e 20 6f 66 20 74 68  65 20 6e 65 77 20 4f 75  |on of the new Ou|
000007d0  74 6c 69 6e 65 20 46 6f  6e 74 20 4d 61 6e 61 67  |tline Font Manag|
000007e0  65 72 2c 0a 70 72 65 76  69 6f 75 73 6c 79 20 73  |er,.previously s|
000007f0  75 63 68 20 61 6c 67 6f  72 69 74 68 6d 73 20 68  |uch algorithms h|
00000800  61 76 65 20 6f 6e 6c 79  20 62 65 65 6e 20 69 6e  |ave only been in|
00000810  20 67 65 6e 65 72 61 6c  20 75 73 65 20 69 6e 73  | general use ins|
00000820  69 64 65 20 65 78 70 65  6e 73 69 76 65 0a 50 6f  |ide expensive.Po|
00000830  73 74 53 63 72 69 70 74  20 70 72 69 6e 74 65 72  |stScript printer|
00000840  73 2e 20 41 63 6f 72 6e  27 73 20 69 6d 70 6c 65  |s. Acorn's imple|
00000850  6d 65 6e 74 61 74 69 6f  6e 20 6f 66 20 74 68 69  |mentation of thi|
00000860  73 20 69 73 20 73 6f 20  65 66 66 65 63 74 69 76  |s is so effectiv|
00000870  65 20 74 68 61 74 0a 6d  61 6e 79 20 70 65 6f 70  |e that.many peop|
00000880  6c 65 20 66 69 6e 64 20  68 69 6e 74 65 64 20 63  |le find hinted c|
00000890  68 61 72 61 63 74 65 72  20 71 75 61 6c 69 74 79  |haracter quality|
000008a0  20 6f 6e 20 74 68 65 20  73 63 72 65 65 6e 20 70  | on the screen p|
000008b0  65 72 66 65 63 74 6c 79  20 61 63 63 65 70 74 61  |erfectly accepta|
000008c0  62 6c 65 0a 65 76 65 6e  20 77 69 74 68 6f 75 74  |ble.even without|
000008d0  20 61 6e 74 69 2d 61 6c  61 73 69 6e 67 2e 0a 0a  | anti-alasing...|
000008e0  54 68 65 20 70 65 72 66  6f 72 6d 61 6e 63 65 20  |The performance |
000008f0  74 72 69 63 6b 20 69 73  20 63 61 6c 6c 65 64 20  |trick is called |
00000900  2a 63 61 63 68 65 69 6e  67 2a 2e 20 55 6e 66 6f  |*cacheing*. Unfo|
00000910  72 74 75 6e 61 74 65 6c  79 2c 20 6c 6f 61 64 69  |rtunately, loadi|
00000920  6e 67 20 61 0a 63 68 61  72 61 63 74 65 72 27 73  |ng a.character's|
00000930  20 6f 75 74 6c 69 6e 65  20 66 72 6f 6d 20 61 20  | outline from a |
00000940  66 69 6c 65 20 61 6e 64  20 63 6f 6d 70 75 74 69  |file and computi|
00000950  6e 67 20 61 20 62 69 74  6d 61 70 20 66 72 6f 6d  |ng a bitmap from|
00000960  20 69 74 20 28 75 73 69  6e 67 0a 68 69 6e 74 69  | it (using.hinti|
00000970  6e 67 20 61 6e 64 2f 6f  72 20 61 6e 74 69 2d 61  |ng and/or anti-a|
00000980  6c 69 61 73 69 6e 67 29  20 74 61 6b 65 73 20 74  |liasing) takes t|
00000990  69 6d 65 2e 20 49 6e 20  6f 72 64 65 72 20 74 6f  |ime. In order to|
000009a0  20 67 65 74 20 72 6f 75  6e 64 20 74 68 69 73 2c  | get round this,|
000009b0  20 73 75 63 68 0a 62 69  74 6d 61 70 73 20 61 72  | such.bitmaps ar|
000009c0  65 20 72 65 74 61 69 6e  65 64 20 69 6e 20 74 68  |e retained in th|
000009d0  65 20 66 6f 6e 74 20 6d  61 6e 61 67 65 72 20 77  |e font manager w|
000009e0  68 65 6e 20 74 68 65 79  20 68 61 76 65 20 62 65  |hen they have be|
000009f0  65 6e 20 63 6f 6d 70 75  74 65 64 2c 20 69 6e 0a  |en computed, in.|
00000a00  63 61 73 65 20 74 68 65  79 20 61 72 65 20 6e 65  |case they are ne|
00000a10  65 64 65 64 20 61 67 61  69 6e 2e 20 54 68 69 73  |eded again. This|
00000a20  20 69 73 20 77 68 65 72  65 20 70 72 65 64 69 63  | is where predic|
00000a30  74 69 6e 67 20 74 68 65  20 66 75 74 75 72 65 20  |ting the future |
00000a40  63 6f 6d 65 73 20 69 6e  3a 20 6f 66 0a 74 68 65  |comes in: of.the|
00000a50  20 6d 61 6e 79 20 68 75  6e 64 72 65 64 73 20 61  | many hundreds a|
00000a60  6e 64 20 74 68 6f 75 73  61 6e 64 73 20 6f 66 20  |nd thousands of |
00000a70  63 68 61 72 61 63 74 65  72 73 20 61 6e 64 20 73  |characters and s|
00000a80  69 7a 65 73 20 74 68 61  74 20 74 68 65 20 66 6f  |izes that the fo|
00000a90  6e 74 0a 6d 61 6e 61 67  65 72 20 6d 75 73 74 20  |nt.manager must |
00000aa0  63 61 63 68 65 20 28 65  2e 67 2e 20 72 65 74 61  |cache (e.g. reta|
00000ab0  69 6e 29 2c 20 77 68 69  63 68 20 6f 6e 65 73 20  |in), which ones |
00000ac0  61 72 65 20 77 6f 72 74  68 20 6b 65 65 70 69 6e  |are worth keepin|
00000ad0  67 3f 20 41 6c 6c 20 74  68 61 74 20 74 68 65 0a  |g? All that the.|
00000ae0  46 6f 6e 74 20 4d 61 6e  61 67 65 72 20 63 61 6e  |Font Manager can|
00000af0  20 64 6f 20 69 73 20 74  6f 20 6b 65 65 70 20 61  | do is to keep a|
00000b00  73 20 6d 61 6e 79 20 61  73 20 69 74 20 68 61 73  |s many as it has|
00000b10  20 73 70 61 63 65 20 66  6f 72 2c 20 64 69 73 63  | space for, disc|
00000b20  61 72 64 69 6e 67 20 6f  6e 65 73 0a 74 68 61 74  |arding ones.that|
00000b30  20 68 61 76 65 20 6e 6f  74 20 62 65 65 6e 20 75  | have not been u|
00000b40  73 65 64 20 66 6f 72 20  73 6f 6d 65 20 74 69 6d  |sed for some tim|
00000b50  65 2e 0a 0a 41 73 20 74  68 65 20 75 73 65 72 20  |e...As the user |
00000b60  6f 66 20 74 68 69 73 20  73 79 73 74 65 6d 20 79  |of this system y|
00000b70  6f 75 20 63 61 6e 20 70  72 6f 76 69 64 65 20 69  |ou can provide i|
00000b80  6e 70 75 74 20 74 6f 20  74 68 69 73 20 70 72 6f  |nput to this pro|
00000b90  63 65 73 73 20 69 6e 20  74 68 65 0a 66 6f 6c 6c  |cess in the.foll|
00000ba0  6f 77 69 6e 67 20 77 61  79 20 28 74 68 69 73 20  |owing way (this |
00000bb0  69 73 20 77 68 65 72 65  20 74 68 65 20 46 6f 6e  |is where the Fon|
00000bc0  74 20 4d 61 6e 61 67 65  72 27 73 20 69 6e 61 62  |t Manager's inab|
00000bd0  69 6c 69 74 79 20 61 74  20 6d 69 6e 64 2d 72 65  |ility at mind-re|
00000be0  61 64 69 6e 67 20 69 73  0a 61 6e 6e 6f 79 69 6e  |ading is.annoyin|
00000bf0  67 29 2e 0a 0a 46 69 72  73 74 2c 20 6f 6e 6c 79  |g)...First, only|
00000c00  20 79 6f 75 20 63 61 6e  20 64 65 63 69 64 65 20  | you can decide |
00000c10  68 6f 77 20 6d 75 63 68  20 6d 65 6d 6f 72 79 20  |how much memory |
00000c20  74 68 65 20 46 6f 6e 74  20 4d 61 6e 61 67 65 72  |the Font Manager|
00000c30  20 6d 61 79 20 75 73 65  20 66 6f 72 0a 63 61 63  | may use for.cac|
00000c40  68 65 69 6e 67 2c 20 61  6e 64 20 68 6f 77 20 6d  |heing, and how m|
00000c50  75 63 68 20 79 6f 75 20  6e 65 65 64 20 66 6f 72  |uch you need for|
00000c60  20 6f 74 68 65 72 20 74  68 69 6e 67 73 2e 20 54  | other things. T|
00000c70  68 69 73 20 69 73 20 64  6f 6e 65 20 62 79 20 73  |his is done by s|
00000c80  65 74 74 69 6e 67 0a 74  68 65 20 46 6f 6e 74 20  |etting.the Font |
00000c90  63 61 63 68 65 20 73 69  7a 65 20 69 6e 20 74 68  |cache size in th|
00000ca0  65 20 54 61 73 6b 20 57  69 6e 64 6f 77 2c 20 6f  |e Task Window, o|
00000cb0  72 20 76 69 61 20 2a 43  6f 6e 66 69 67 75 72 65  |r via *Configure|
00000cc0  20 46 6f 6e 74 53 69 7a  65 20 28 74 68 65 0a 6c  | FontSize (the.l|
00000cd0  61 74 74 65 72 20 77 69  6c 6c 20 73 65 74 20 74  |atter will set t|
00000ce0  68 65 20 70 6f 77 65 72  2d 6f 6e 20 64 65 66 61  |he power-on defa|
00000cf0  75 6c 74 20 76 61 6c 75  65 29 2e 0a 0a 59 6f 75  |ult value)...You|
00000d00  20 63 61 6e 20 61 6c 73  6f 20 73 70 65 6e 64 20  | can also spend |
00000d10  64 69 73 63 20 6d 65 6d  6f 72 79 20 74 6f 20 6d  |disc memory to m|
00000d20  61 69 6e 20 63 65 72 74  61 69 6e 20 6f 70 65 72  |ain certain oper|
00000d30  61 74 69 6f 6e 73 20 66  61 73 74 65 72 2e 20 49  |ations faster. I|
00000d40  74 27 73 0a 70 6f 73 73  69 62 6c 65 20 74 6f 20  |t's.possible to |
00000d50  73 61 76 65 20 65 78 74  72 61 20 66 69 6c 65 73  |save extra files|
00000d60  20 69 6e 73 69 64 65 20  21 46 6f 6e 74 73 20 74  | inside !Fonts t|
00000d70  68 61 74 20 63 6f 6e 74  61 69 6e 20 70 72 65 73  |hat contain pres|
00000d80  63 61 6c 65 64 2c 0a 61  6e 74 69 2d 61 6c 69 61  |caled,.anti-alia|
00000d90  73 65 64 20 66 69 6c 65  73 0a 0a 53 65 63 6f 6e  |sed files..Secon|
00000da0  64 2c 20 6f 6e 6c 79 20  79 6f 75 20 63 61 6e 20  |d, only you can |
00000db0  64 65 63 69 64 65 20 68  6f 77 20 69 6d 70 6f 72  |decide how impor|
00000dc0  74 61 6e 74 20 63 68 61  72 61 63 74 65 72 20 71  |tant character q|
00000dd0  75 61 6c 69 74 79 20 69  73 20 74 6f 20 79 6f 75  |uality is to you|
00000de0  2c 20 61 6e 64 0a 68 6f  77 20 6d 75 63 68 20 74  |, and.how much t|
00000df0  69 6d 65 20 61 6e 64 20  6d 65 6d 6f 72 79 20 79  |ime and memory y|
00000e00  6f 75 20 61 72 65 20 70  72 65 70 61 72 65 64 20  |ou are prepared |
00000e10  74 6f 20 73 70 65 6e 64  20 6f 6e 20 74 68 65 20  |to spend on the |
00000e20  71 75 61 6c 69 74 79 20  6f 66 20 74 68 65 0a 72  |quality of the.r|
00000e30  65 73 75 6c 74 73 20 79  6f 75 20 73 65 65 20 6f  |esults you see o|
00000e40  6e 20 74 68 65 20 73 63  72 65 65 6e 2e 20 44 69  |n the screen. Di|
00000e50  66 66 65 72 65 6e 74 20  70 65 6f 70 6c 65 20 68  |fferent people h|
00000e60  61 76 65 20 64 69 66 66  65 72 65 6e 74 20 70 65  |ave different pe|
00000e70  72 63 65 70 74 69 6f 6e  73 0a 6f 66 20 22 71 75  |rceptions.of "qu|
00000e80  61 6c 69 74 79 22 20 74  6f 6f 2e 0a 0a 40 23 63  |ality" too...@#c|
00000e90  6f 6e 66 69 67 75 72 65  0a 59 6f 75 20 63 61 6e  |onfigure.You can|
00000ea0  20 63 6f 6e 74 72 6f 6c  20 74 68 69 73 20 75 73  | control this us|
00000eb0  69 6e 67 20 73 65 76 65  72 61 6c 20 6e 65 77 20  |ing several new |
00000ec0  2a 43 6f 6e 66 69 67 75  72 65 20 63 6f 6d 6d 61  |*Configure comma|
00000ed0  6e 64 73 2c 20 61 73 20  66 6f 6c 6c 6f 77 73 2e  |nds, as follows.|
00000ee0  20 49 66 0a 79 6f 75 20  64 6f 20 6e 6f 74 20 74  | If.you do not t|
00000ef0  6f 75 63 68 20 74 68 65  73 65 20 76 61 6c 75 65  |ouch these value|
00000f00  73 20 74 68 65 6e 20 79  6f 75 20 77 69 6c 6c 20  |s then you will |
00000f10  66 69 6e 64 20 74 68 61  74 20 72 65 61 73 6f 6e  |find that reason|
00000f20  61 62 6c 65 20 64 65 66  61 75 6c 74 73 0a 61 72  |able defaults.ar|
00000f30  65 20 73 65 74 20 75 70  2e 0a 0a 2a 43 6f 6e 66  |e set up...*Conf|
00000f40  69 67 75 72 65 20 46 6f  6e 74 4d 61 78 32 0a 54  |igure FontMax2.T|
00000f50  68 69 73 20 73 65 74 73  20 74 68 65 20 6d 61 78  |his sets the max|
00000f60  69 6d 75 6d 20 73 69 7a  65 20 6f 66 20 61 6e 74  |imum size of ant|
00000f70  69 2d 61 6c 69 61 73 65  64 20 63 68 61 72 61 63  |i-aliased charac|
00000f80  74 65 72 73 2c 20 69 6e  20 70 69 78 65 6c 73 2e  |ters, in pixels.|
00000f90  20 49 66 20 61 0a 63 68  61 72 61 63 74 65 72 20  | If a.character |
00000fa0  69 73 20 6c 61 72 67 65  72 20 74 68 61 6e 20 74  |is larger than t|
00000fb0  68 69 73 20 76 61 6c 75  65 20 74 68 65 6e 20 61  |his value then a|
00000fc0  6e 74 69 2d 61 6c 69 61  73 69 6e 67 20 77 69 6c  |nti-aliasing wil|
00000fd0  6c 20 6e 6f 74 20 62 65  20 75 73 65 64 2e 0a 41  |l not be used..A|
00000fe0  6e 74 69 2d 61 6c 69 61  73 69 6e 67 20 71 75 61  |nti-aliasing qua|
00000ff0  64 72 75 70 6c 65 73 20  74 68 65 20 73 69 7a 65  |druples the size|
00001000  20 6f 66 20 72 65 74 61  69 6e 65 64 20 62 69 74  | of retained bit|
00001010  6d 61 70 73 20 69 6e 20  74 68 65 20 63 61 63 68  |maps in the cach|
00001020  65 2c 20 61 6e 64 0a 73  6c 6f 77 73 20 64 6f 77  |e, and.slows dow|
00001030  6e 20 63 6f 6e 76 65 72  73 69 6f 6e 20 66 72 6f  |n conversion fro|
00001040  6d 20 6f 75 74 6c 69 6e  65 73 20 74 6f 6f 2e 20  |m outlines too. |
00001050  53 65 74 20 74 68 69 73  20 74 6f 20 30 20 74 6f  |Set this to 0 to|
00001060  20 74 75 72 6e 20 61 6e  74 69 2d 61 6c 69 61 73  | turn anti-alias|
00001070  69 6e 67 0a 6f 66 66 20  65 6e 74 69 72 65 6c 79  |ing.off entirely|
00001080  2e 0a 0a 2a 43 6f 6e 66  69 67 75 72 65 20 46 6f  |...*Configure Fo|
00001090  6e 74 4d 61 78 33 0a 54  68 69 73 20 73 65 74 73  |ntMax3.This sets|
000010a0  20 6f 66 20 74 68 65 20  6d 61 78 69 6d 75 6d 20  | of the maximum |
000010b0  73 69 7a 65 20 6f 66 20  61 6e 79 20 66 6f 72 6d  |size of any form|
000010c0  20 6f 66 20 72 65 74 61  69 6e 65 64 20 62 69 74  | of retained bit|
000010d0  6d 61 70 2e 20 49 66 20  61 20 63 68 61 72 61 63  |map. If a charac|
000010e0  74 65 72 0a 74 6f 20 62  65 20 64 72 61 77 6e 20  |ter.to be drawn |
000010f0  69 73 20 6c 61 72 67 65  72 20 74 68 61 6e 20 74  |is larger than t|
00001100  68 69 73 20 74 68 65 6e  20 74 68 65 20 6f 75 74  |his then the out|
00001110  6c 69 6e 65 20 77 69 6c  6c 20 62 65 20 64 72 61  |line will be dra|
00001120  77 6e 20 64 69 72 65 63  74 6c 79 20 74 6f 0a 74  |wn directly to.t|
00001130  68 65 20 73 63 72 65 65  6e 20 28 6f 72 20 70 72  |he screen (or pr|
00001140  69 6e 74 65 72 29 20 77  69 74 68 20 6e 6f 20 63  |inter) with no c|
00001150  61 63 68 65 69 6e 67 20  68 61 70 70 65 6e 69 6e  |acheing happenin|
00001160  67 20 61 74 20 61 6c 6c  2e 20 54 68 69 73 20 69  |g at all. This i|
00001170  73 20 73 6f 20 74 68 61  74 0a 64 6f 63 75 6d 65  |s so that.docume|
00001180  6e 74 20 68 65 61 64 69  6e 67 73 2c 20 65 74 63  |nt headings, etc|
00001190  2e 2c 20 77 68 65 72 65  20 61 20 66 65 77 20 6c  |., where a few l|
000011a0  61 72 67 65 72 20 63 68  61 72 61 63 74 65 72 73  |arger characters|
000011b0  20 61 70 70 65 61 72 2c  20 64 6f 20 6e 6f 74 20  | appear, do not |
000011c0  66 6c 75 73 68 0a 65 76  65 72 79 74 68 69 6e 67  |flush.everything|
000011d0  20 65 6c 73 65 20 6f 75  74 20 6f 66 20 74 68 65  | else out of the|
000011e0  20 66 6f 6e 74 20 63 61  63 68 65 2e 0a 0a 54 68  | font cache...Th|
000011f0  65 20 76 61 6c 75 65 20  69 73 20 73 65 74 20 69  |e value is set i|
00001200  6e 20 70 69 78 65 6c 73  20 28 72 61 74 68 65 72  |n pixels (rather|
00001210  20 74 68 61 6e 20 70 6f  69 6e 74 73 29 20 62 65  | than points) be|
00001220  63 61 75 73 65 20 69 74  20 69 73 20 74 68 65 20  |cause it is the |
00001230  70 69 78 65 6c 20 73 69  7a 65 0a 74 68 61 74 20  |pixel size.that |
00001240  61 66 66 65 63 74 73 20  63 61 63 68 65 20 75 73  |affects cache us|
00001250  61 67 65 2e 20 54 68 69  73 20 63 6f 72 72 65 73  |age. This corres|
00001260  70 6f 6e 64 73 20 74 6f  20 64 69 66 66 65 72 65  |ponds to differe|
00001270  6e 74 20 70 6f 69 6e 74  20 73 69 7a 65 73 20 6f  |nt point sizes o|
00001280  6e 20 74 68 65 0a 73 63  72 65 65 6e 20 61 6e 64  |n the.screen and|
00001290  20 6f 6e 20 74 68 65 20  70 72 69 6e 74 65 72 2e  | on the printer.|
000012a0  0a 0a 2a 43 6f 6e 66 69  67 75 72 65 20 46 6f 6e  |..*Configure Fon|
000012b0  74 4d 61 78 34 0a 49 66  20 74 68 69 73 20 69 73  |tMax4.If this is|
000012c0  20 6e 6f 6e 2d 7a 65 72  6f 20 74 68 65 6e 20 2a  | non-zero then *|
000012d0  73 75 62 2d 70 69 78 65  6c 20 61 6e 74 69 2d 61  |sub-pixel anti-a|
000012e0  6c 69 61 73 69 6e 67 2a  20 69 73 20 75 73 65 64  |liasing* is used|
000012f0  2e 20 54 68 69 73 20 69  73 20 61 0a 72 65 66 69  |. This is a.refi|
00001300  6e 65 6d 65 6e 74 20 6f  66 20 61 6e 74 69 2d 61  |nement of anti-a|
00001310  6c 69 61 73 69 6e 67 20  69 6e 20 77 68 69 63 68  |liasing in which|
00001320  20 66 6f 75 72 20 73 65  70 61 72 61 74 65 20 76  | four separate v|
00001330  65 72 73 69 6f 6e 73 20  6f 66 20 65 61 63 68 0a  |ersions of each.|
00001340  63 68 61 72 61 63 74 65  72 20 61 72 65 20 72 65  |character are re|
00001350  74 61 69 6e 65 64 2c 20  64 65 70 65 6e 64 69 6e  |tained, dependin|
00001360  67 20 6f 6e 20 74 68 65  20 70 6c 61 63 65 6d 65  |g on the placeme|
00001370  6e 74 20 6f 66 20 74 68  65 20 63 68 61 72 61 63  |nt of the charac|
00001380  74 65 72 20 61 74 0a 73  75 62 2d 70 69 78 65 6c  |ter at.sub-pixel|
00001390  20 61 63 63 75 72 61 63  79 2e 20 54 68 69 73 20  | accuracy. This |
000013a0  63 61 6e 20 68 61 76 65  20 61 20 6e 6f 74 69 63  |can have a notic|
000013b0  65 61 62 6c 65 20 65 66  66 65 63 74 20 6f 6e 20  |eable effect on |
000013c0  63 68 61 72 61 63 74 65  72 20 71 75 61 6c 69 74  |character qualit|
000013d0  79 0a 61 74 20 73 6d 61  6c 6c 20 73 69 7a 65 73  |y.at small sizes|
000013e0  20 62 75 74 20 66 6f 72  20 6d 6f 73 74 20 75 73  | but for most us|
000013f0  65 72 73 20 74 68 65 20  64 65 6c 61 79 20 69 6e  |ers the delay in|
00001400  76 6f 6c 76 65 64 20 69  73 20 75 6e 61 63 63 65  |volved is unacce|
00001410  70 74 61 62 6c 65 2e 20  54 68 75 73 2c 0a 6d 6f  |ptable. Thus,.mo|
00001420  73 74 20 75 73 65 72 73  20 6c 65 61 76 65 20 74  |st users leave t|
00001430  68 69 73 20 61 74 20 74  68 65 20 64 65 66 61 75  |his at the defau|
00001440  6c 74 20 76 61 6c 75 65  20 6f 66 20 30 2e 0a 0a  |lt value of 0...|
00001450  2a 43 6f 6e 66 69 67 75  72 65 20 46 6f 6e 74 4d  |*Configure FontM|
00001460  61 78 35 0a 49 66 20 74  68 69 73 20 69 73 20 6e  |ax5.If this is n|
00001470  6f 6e 2d 7a 65 72 6f 20  74 68 65 6e 20 73 75 62  |on-zero then sub|
00001480  2d 70 69 78 65 6c 20 61  6e 74 69 2d 61 6c 61 69  |-pixel anti-alai|
00001490  61 73 69 6e 67 20 69 73  20 75 73 65 64 20 69 6e  |asing is used in|
000014a0  20 74 68 65 20 76 65 72  74 69 63 61 6c 0a 64 69  | the vertical.di|
000014b0  72 65 63 74 69 6f 6e 20  61 73 20 77 65 6c 6c 20  |rection as well |
000014c0  61 73 20 74 68 65 20 68  6f 72 69 7a 6f 6e 74 61  |as the horizonta|
000014d0  6c 20 64 69 72 65 63 74  69 6f 6e 2e 20 54 68 69  |l direction. Thi|
000014e0  73 20 69 73 20 65 76 65  6e 20 72 61 72 65 72 20  |s is even rarer |
000014f0  74 68 61 6e 20 75 73 65  0a 6f 66 20 46 6f 6e 74  |than use.of Font|
00001500  4d 61 78 34 2e 20 41 6c  6d 6f 73 74 20 61 6c 6c  |Max4. Almost all|
00001510  20 75 73 65 72 73 20 6c  65 61 76 65 20 74 68 69  | users leave thi|
00001520  73 20 61 74 20 74 68 65  20 64 65 66 61 75 6c 74  |s at the default|
00001530  20 76 61 6c 75 65 20 6f  66 20 30 2e 0a 0a 28 44  | value of 0...(D|
00001540  6f 20 6e 6f 74 20 75 73  65 20 2a 43 6f 6e 66 69  |o not use *Confi|
00001550  67 75 72 65 20 46 6f 6e  74 4d 61 78 31 2c 20 69  |gure FontMax1, i|
00001560  74 20 69 73 20 66 6f 72  20 63 6f 6e 74 72 6f 6c  |t is for control|
00001570  6c 69 6e 67 20 74 68 65  20 6d 69 78 65 64 20 75  |ling the mixed u|
00001580  73 65 20 6f 66 0a 6f 75  74 6c 69 6e 65 20 61 6e  |se of.outline an|
00001590  64 20 62 69 74 6d 61 70  20 66 69 6c 65 73 20 61  |d bitmap files a|
000015a0  6e 64 20 69 73 20 6f 66  20 6c 69 74 74 6c 65 20  |nd is of little |
000015b0  69 6d 70 6f 72 74 61 6e  63 65 20 74 6f 20 6d 6f  |importance to mo|
000015c0  73 74 20 75 73 65 72 73  2e 29 0a 0a 40 23 74 72  |st users.)..@#tr|
000015d0  6f 75 62 6c 65 0a 54 72  6f 75 62 6c 65 73 68 6f  |ouble.Troublesho|
000015e0  6f 74 69 6e 67 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |oting.----------|
000015f0  2d 2d 2d 2d 2d 0a 0a 49  66 20 65 76 65 72 79 20  |-----..If every |
00001600  72 65 70 61 69 6e 74 20  6f 6e 20 74 68 65 20 73  |repaint on the s|
00001610  63 72 65 65 6e 20 63 61  75 73 65 73 20 69 6e 74  |creen causes int|
00001620  65 6e 73 69 76 65 20 64  69 73 63 20 61 6e 64 20  |ensive disc and |
00001630  68 6f 75 72 67 6c 61 73  73 20 61 63 74 69 76 69  |hourglass activi|
00001640  74 79 0a 74 68 65 6e 20  79 6f 75 20 6d 61 79 20  |ty.then you may |
00001650  62 65 20 68 61 76 69 6e  67 20 74 72 6f 75 62 6c  |be having troubl|
00001660  65 20 77 69 74 68 20 74  68 65 20 66 6f 6e 74 20  |e with the font |
00001670  63 61 63 68 65 20 2a 74  68 72 61 73 68 69 6e 67  |cache *thrashing|
00001680  2a 20 28 65 2e 67 2e 20  69 74 27 73 0a 74 6f 6f  |* (e.g. it's.too|
00001690  20 73 6d 61 6c 6c 20 74  6f 20 68 6f 6c 64 20 74  | small to hold t|
000016a0  68 65 20 72 61 6e 67 65  20 6f 66 20 66 6f 6e 74  |he range of font|
000016b0  73 20 79 6f 75 20 61 72  65 20 75 73 69 6e 67 20  |s you are using |
000016c0  61 74 20 74 68 65 20 6d  6f 6d 65 6e 74 29 2e 20  |at the moment). |
000016d0  54 68 65 72 65 20 6d 61  79 0a 62 65 20 6f 74 68  |There may.be oth|
000016e0  65 72 20 63 61 75 73 65  73 2c 20 65 2e 67 2e 20  |er causes, e.g. |
000016f0  74 68 65 20 44 54 50 20  70 72 6f 67 72 61 6d 20  |the DTP program |
00001700  63 61 6e 20 63 61 75 73  65 20 64 69 73 63 20 61  |can cause disc a|
00001710  63 74 69 76 69 74 79 20  77 69 74 68 6f 75 74 20  |ctivity without |
00001720  74 68 65 0a 66 6f 6e 74  20 6d 61 6e 61 67 65 72  |the.font manager|
00001730  20 62 65 69 6e 67 20 69  6e 76 6f 6c 76 65 64 2e  | being involved.|
00001740  0a 0a 54 72 79 20 74 68  65 20 66 6f 6c 6c 6f 77  |..Try the follow|
00001750  69 6e 67 20 74 68 69 6e  67 73 3a 0a 0a 31 2e 20  |ing things:..1. |
00001760  43 68 61 6e 67 65 20 74  68 65 20 73 69 7a 65 20  |Change the size |
00001770  6f 66 20 74 68 65 20 66  6f 6e 74 20 63 61 63 68  |of the font cach|
00001780  65 20 75 73 69 6e 67 20  74 68 65 20 54 61 73 6b  |e using the Task|
00001790  20 57 69 6e 64 6f 77 2e  20 44 6f 65 73 20 73 6c  | Window. Does sl|
000017a0  69 67 68 74 6c 79 0a 6d  6f 72 65 20 6d 65 6d 6f  |ightly.more memo|
000017b0  72 79 20 6d 61 6b 65 20  69 74 20 77 6f 72 6b 20  |ry make it work |
000017c0  62 65 74 74 65 72 3f 0a  0a 32 2e 20 43 68 61 6e  |better?..2. Chan|
000017d0  67 65 20 46 6f 6e 74 4d  61 78 32 20 74 6f 20 7a  |ge FontMax2 to z|
000017e0  65 72 6f 20 28 72 65 63  6f 6e 66 69 67 75 72 69  |ero (reconfiguri|
000017f0  6e 67 20 74 68 65 73 65  20 76 61 6c 75 65 73 20  |ng these values |
00001800  74 61 6b 65 73 20 69 6d  6d 65 64 69 61 74 65 0a  |takes immediate.|
00001810  65 66 66 65 63 74 2c 20  79 6f 75 20 64 6f 20 6e  |effect, you do n|
00001820  6f 74 20 68 61 76 65 20  74 6f 20 72 65 62 6f 6f  |ot have to reboo|
00001830  74 29 2e 20 49 73 20 74  68 65 20 71 75 61 6c 69  |t). Is the quali|
00001840  74 79 20 6f 66 20 63 68  61 72 61 63 74 65 72 73  |ty of characters|
00001850  20 73 74 69 6c 6c 0a 61  63 63 65 70 74 61 62 6c  | still.acceptabl|
00001860  65 3f 20 44 6f 65 73 20  70 65 72 66 6f 72 6d 61  |e? Does performa|
00001870  6e 63 65 20 69 6d 70 72  6f 76 65 3f 0a 0a 33 2e  |nce improve?..3.|
00001880  20 43 68 61 6e 67 65 20  46 6f 6e 74 4d 61 78 33  | Change FontMax3|
00001890  20 74 6f 20 61 20 6c 6f  77 65 72 20 76 61 6c 75  | to a lower valu|
000018a0  65 2c 20 6f 72 20 65 76  65 6e 20 30 2e 20 54 68  |e, or even 0. Th|
000018b0  69 73 20 73 68 6f 75 6c  64 20 73 68 61 72 70 6c  |is should sharpl|
000018c0  79 20 72 65 64 75 63 65  0a 74 68 72 61 73 68 69  |y reduce.thrashi|
000018d0  6e 67 2c 20 62 75 74 20  74 68 65 20 61 63 74 69  |ng, but the acti|
000018e0  6f 6e 20 6f 66 20 70 61  69 6e 74 69 6e 67 20 6f  |on of painting o|
000018f0  6e 20 74 68 65 20 73 63  72 65 65 6e 20 77 69 6c  |n the screen wil|
00001900  6c 20 62 65 63 6f 6d 65  20 6d 75 63 68 20 73 6c  |l become much sl|
00001910  6f 77 65 72 2e 0a 0a 52  65 6d 65 6d 62 65 72 20  |ower...Remember |
00001920  74 68 61 74 20 74 68 65  73 65 20 76 61 6c 75 65  |that these value|
00001930  73 20 77 69 6c 6c 20 73  75 72 76 69 76 65 20 61  |s will survive a|
00001940  20 72 65 73 65 74 20 6f  72 20 70 6f 77 65 72 2d  | reset or power-|
00001950  6f 6e 2e 0a 0a 40 23 6e  6f 74 65 73 0a 4d 69 73  |on...@#notes.Mis|
00001960  63 65 6c 6c 61 6e 65 6f  75 73 20 4e 6f 74 65 73  |cellaneous Notes|
00001970  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00001980  2d 2d 2d 2d 0a 0a 54 68  65 20 61 62 6f 76 65 20  |----..The above |
00001990  73 68 6f 75 6c 64 20 62  65 20 65 6e 6f 75 67 68  |should be enough|
000019a0  20 69 6e 66 6f 72 6d 61  74 69 6f 6e 20 74 6f 20  | information to |
000019b0  61 6c 6c 6f 77 20 74 68  65 20 74 79 70 69 63 61  |allow the typica|
000019c0  6c 20 75 73 65 72 20 74  6f 20 67 65 74 20 74 68  |l user to get th|
000019d0  65 0a 6d 6f 73 74 20 6f  75 74 20 6f 66 20 74 68  |e.most out of th|
000019e0  65 20 4f 75 74 6c 69 6e  65 20 46 6f 6e 74 20 4d  |e Outline Font M|
000019f0  61 6e 61 67 65 72 2e 20  48 65 72 65 20 69 73 20  |anager. Here is |
00001a00  73 6f 6d 65 20 61 64 64  69 74 69 6f 6e 61 6c 20  |some additional |
00001a10  69 6e 66 6f 72 6d 61 74  69 6f 6e 20 6f 6e 0a 76  |information on.v|
00001a20  61 72 69 6f 75 73 20 72  65 6c 61 74 65 64 20 73  |arious related s|
00001a30  75 62 6a 65 63 74 73 2c  20 61 6e 64 20 73 6f 6d  |ubjects, and som|
00001a40  65 20 6d 6f 72 65 20 61  64 76 61 6e 63 65 64 20  |e more advanced |
00001a50  74 69 70 73 20 66 6f 72  20 65 66 66 65 63 74 69  |tips for effecti|
00001a60  76 65 20 75 73 65 2e 0a  0a 54 68 65 20 74 65 63  |ve use...The tec|
00001a70  68 6e 6f 6c 6f 67 79 20  69 6e 20 74 68 65 20 4f  |hnology in the O|
00001a80  75 74 6c 69 6e 65 20 46  6f 6e 74 20 4d 61 6e 61  |utline Font Mana|
00001a90  67 65 72 20 72 65 61 6c  6c 79 20 69 73 20 73 74  |ger really is st|
00001aa0  61 74 65 2d 6f 66 2d 74  68 65 2d 61 72 74 2e 20  |ate-of-the-art. |
00001ab0  54 68 65 0a 68 69 6e 74  69 6e 67 20 67 69 76 65  |The.hinting give|
00001ac0  73 20 6f 75 74 73 74 61  6e 64 69 6e 67 20 71 75  |s outstanding qu|
00001ad0  61 6c 69 74 79 20 61 74  20 6c 6f 77 20 72 65 73  |ality at low res|
00001ae0  6f 6c 75 74 69 6f 6e 73  2e 20 4e 6f 20 63 6f 6d  |olutions. No com|
00001af0  70 65 74 69 6e 67 20 73  79 73 74 65 6d 0a 68 61  |peting system.ha|
00001b00  73 20 65 6e 6f 75 67 68  20 70 72 6f 63 65 73 73  |s enough process|
00001b10  6f 72 20 70 6f 77 65 72  20 74 6f 20 62 65 20 61  |or power to be a|
00001b20  62 6c 65 20 74 6f 20 75  73 65 20 61 6e 74 69 2d  |ble to use anti-|
00001b30  61 6c 69 61 73 69 6e 67  20 65 66 66 65 63 74 69  |aliasing effecti|
00001b40  76 65 6c 79 2e 20 54 68  65 0a 67 65 6e 65 72 61  |vely. The.genera|
00001b50  74 69 6f 6e 20 6f 66 20  73 63 72 65 65 6e 20 61  |tion of screen a|
00001b60  6e 64 20 70 72 69 6e 74  65 72 20 66 6f 6e 74 73  |nd printer fonts|
00001b70  20 66 72 6f 6d 20 74 68  65 20 73 61 6d 65 20 73  | from the same s|
00001b80  6f 75 72 63 65 20 28 77  69 74 68 20 70 72 65 63  |ource (with prec|
00001b90  69 73 65 6c 79 0a 6d 61  74 63 68 69 6e 67 20 6d  |isely.matching m|
00001ba0  65 74 72 69 63 73 29 20  6d 61 6b 65 73 20 69 74  |etrics) makes it|
00001bb0  20 65 61 73 79 20 74 6f  20 64 69 73 74 72 69 62  | easy to distrib|
00001bc0  75 74 65 20 6e 65 77 20  66 6f 6e 74 73 2c 20 61  |ute new fonts, a|
00001bd0  6e 64 20 73 6f 6c 76 65  73 20 6d 61 6e 79 0a 70  |nd solves many.p|
00001be0  72 6f 62 6c 65 6d 73 20  69 6e 20 63 72 65 61 74  |roblems in creat|
00001bf0  69 6e 67 20 70 6f 77 65  72 66 75 6c 20 57 59 53  |ing powerful WYS|
00001c00  49 57 59 47 20 61 70 70  6c 69 63 61 74 69 6f 6e  |IWYG application|
00001c10  73 2e 20 55 6e 6c 69 6b  65 20 73 6f 6d 65 20 6f  |s. Unlike some o|
00001c20  74 68 65 72 0a 63 6f 6d  70 61 6e 69 65 73 20 77  |ther.companies w|
00001c30  69 74 68 20 73 69 6d 69  6c 61 72 20 74 65 63 68  |ith similar tech|
00001c40  6e 6f 6c 6f 67 79 2c 20  41 63 6f 72 6e 20 65 6e  |nology, Acorn en|
00001c50  63 6f 75 72 61 67 65 73  20 74 68 65 20 63 72 65  |courages the cre|
00001c60  61 74 69 6f 6e 20 6f 66  20 6e 65 77 0a 66 6f 6e  |ation of new.fon|
00001c70  74 73 20 62 79 20 74 68  69 72 64 20 70 61 72 74  |ts by third part|
00001c80  69 65 73 20 61 6e 64 20  64 6f 65 73 20 6e 6f 74  |ies and does not|
00001c90  20 61 74 74 65 6d 70 74  20 74 6f 20 65 6e 63 72  | attempt to encr|
00001ca0  79 70 74 20 74 68 65 20  66 6f 6e 74 73 20 74 68  |ypt the fonts th|
00001cb0  65 6d 73 65 6c 76 65 73  2e 0a 0a 54 68 65 20 64  |emselves...The d|
00001cc0  65 66 61 75 6c 74 20 46  6f 6e 74 4d 61 78 20 73  |efault FontMax s|
00001cd0  65 74 74 69 6e 67 73 20  61 72 65 20 64 65 73 69  |ettings are desi|
00001ce0  67 6e 65 64 20 66 6f 72  20 61 20 75 73 65 72 20  |gned for a user |
00001cf0  6f 66 20 61 20 73 6d 61  6c 6c 20 73 79 73 74 65  |of a small syste|
00001d00  6d 2e 20 41 0a 73 79 73  74 65 6d 20 77 69 74 68  |m. A.system with|
00001d10  20 6d 6f 72 65 20 74 68  61 6e 20 31 4d 42 20 6f  | more than 1MB o|
00001d20  6e 20 77 68 69 63 68 20  44 54 50 2d 6c 69 6b 65  |n which DTP-like|
00001d30  20 61 70 70 6c 69 63 61  74 69 6f 6e 73 20 61 72  | applications ar|
00001d40  65 20 75 73 65 64 0a 69  6e 74 65 6e 73 69 76 65  |e used.intensive|
00001d50  6c 79 2c 20 77 6f 75 6c  64 20 74 79 70 69 63 61  |ly, would typica|
00001d60  6c 6c 79 20 62 65 20 63  6f 6e 66 69 67 75 72 65  |lly be configure|
00001d70  64 20 77 69 74 68 20 73  6c 69 67 68 74 6c 79 20  |d with slightly |
00001d80  6c 61 72 67 65 72 20 76  61 6c 75 65 73 2e 0a 0a  |larger values...|
00001d90  41 20 66 6f 6e 74 20 69  73 20 61 63 74 75 61 6c  |A font is actual|
00001da0  6c 79 20 63 61 63 68 65  64 20 69 6e 20 62 6c 6f  |ly cached in blo|
00001db0  63 6b 73 20 6f 66 20 33  32 20 63 68 61 72 61 63  |cks of 32 charac|
00001dc0  74 65 72 73 2c 20 77 69  74 68 20 61 64 6a 61 63  |ters, with adjac|
00001dd0  65 6e 74 20 41 53 43 49  49 0a 63 6f 64 65 73 2e  |ent ASCII.codes.|
00001de0  20 54 68 75 73 2c 20 6a  75 73 74 20 70 61 69 6e  | Thus, just pain|
00001df0  74 69 6e 67 20 61 20 73  69 6e 67 6c 65 20 63 68  |ting a single ch|
00001e00  61 72 61 63 74 65 72 20  77 69 6c 6c 20 74 79 70  |aracter will typ|
00001e10  69 63 61 6c 6c 79 20 70  75 6c 6c 20 69 6e 20 33  |ically pull in 3|
00001e20  31 0a 6f 74 68 65 72 73  2e 20 54 68 69 73 20 69  |1.others. This i|
00001e30  73 20 62 65 63 61 75 73  65 20 65 61 63 68 20 64  |s because each d|
00001e40  69 73 63 20 6f 70 65 72  61 74 69 6f 6e 20 68 61  |isc operation ha|
00001e50  73 20 61 20 73 75 62 74  61 6e 74 69 61 6c 20 73  |s a subtantial s|
00001e60  74 61 72 74 2d 75 70 20  74 69 6d 65 2e 0a 0a 49  |tart-up time...I|
00001e70  74 27 73 20 70 6f 73 73  69 62 6c 65 20 74 6f 20  |t's possible to |
00001e80  73 61 76 65 20 70 72 65  63 6f 6d 70 75 74 65 64  |save precomputed|
00001e90  20 62 69 74 6d 61 70 73  20 66 72 6f 6d 20 74 68  | bitmaps from th|
00001ea0  65 20 63 61 63 68 65 20  69 6e 74 6f 20 74 68 65  |e cache into the|
00001eb0  20 66 69 6c 69 6e 67 0a  73 79 73 74 65 6d 2c 20  | filing.system, |
00001ec0  74 68 69 73 20 63 61 6e  20 73 70 65 65 64 20 75  |this can speed u|
00001ed0  70 20 74 68 65 20 75 73  65 20 6f 66 20 63 65 72  |p the use of cer|
00001ee0  74 61 69 6e 20 73 69 7a  65 73 20 6f 66 20 66 6f  |tain sizes of fo|
00001ef0  6e 74 20 61 74 20 74 68  65 20 63 6f 73 74 20 6f  |nt at the cost o|
00001f00  66 0a 64 69 73 63 20 73  70 61 63 65 2e 20 2a 43  |f.disc space. *C|
00001f10  6f 6e 66 69 67 75 72 65  20 46 6f 6e 74 4d 61 78  |onfigure FontMax|
00001f20  20 31 20 69 73 20 75 73  65 64 20 74 6f 20 63 6f  | 1 is used to co|
00001f30  6e 74 72 6f 6c 20 74 68  69 73 2e 0a 0a 40 23 73  |ntrol this...@#s|
00001f40  6d 61 6c 6c 66 6f 6e 74  73 0a 57 68 61 74 20 69  |mallfonts.What i|
00001f50  73 20 73 75 62 2d 70 69  78 65 6c 20 61 6e 74 69  |s sub-pixel anti|
00001f60  2d 61 6c 69 61 73 69 6e  67 3f 20 54 68 65 20 77  |-aliasing? The w|
00001f70  69 64 74 68 20 6f 66 20  65 61 63 68 20 63 68 61  |idth of each cha|
00001f80  72 61 63 74 65 72 20 69  73 20 73 74 6f 72 65 64  |racter is stored|
00001f90  20 74 6f 0a 67 72 65 61  74 65 72 20 61 63 63 75  | to.greater accu|
00001fa0  72 61 63 79 20 74 68 61  6e 20 74 68 65 20 70 69  |racy than the pi|
00001fb0  78 65 6c 73 20 6f 6e 20  74 68 65 20 73 63 72 65  |xels on the scre|
00001fc0  65 6e 2e 20 54 68 75 73  2c 20 69 6e 20 21 45 64  |en. Thus, in !Ed|
00001fd0  69 74 20 69 6e 20 6d 6f  64 65 20 31 32 2c 0a 63  |it in mode 12,.c|
00001fe0  72 65 61 74 65 20 61 20  6c 69 6e 65 20 63 6f 6e  |reate a line con|
00001ff0  73 69 73 74 69 6e 67 20  6f 66 20 6c 6f 74 73 20  |sisting of lots |
00002000  6f 66 20 6c 6f 77 65 72  2d 63 61 73 65 20 54 72  |of lower-case Tr|
00002010  69 6e 69 74 79 2e 4d 65  64 69 75 6d 20 27 6c 27  |inity.Medium 'l'|
00002020  73 2e 20 53 65 65 20 68  6f 77 0a 74 68 65 79 20  |s. See how.they |
00002030  62 75 6e 63 68 20 75 70  20 69 6e 20 67 72 6f 75  |bunch up in grou|
00002040  70 73 20 6f 66 20 61 62  6f 75 74 20 36 20 63 68  |ps of about 6 ch|
00002050  61 72 61 63 74 65 72 73  2c 20 77 69 74 68 20 61  |aracters, with a|
00002060  6e 20 65 78 74 72 61 20  70 69 78 65 6c 20 67 61  |n extra pixel ga|
00002070  70 0a 62 65 74 77 65 65  6e 20 62 75 6e 63 68 65  |p.between bunche|
00002080  73 3f 20 54 68 69 73 20  69 73 20 62 65 63 61 75  |s? This is becau|
00002090  73 65 20 74 68 65 20 77  69 64 74 68 20 6f 66 20  |se the width of |
000020a0  74 68 69 73 20 6c 65 74  74 65 72 20 69 73 20 6e  |this letter is n|
000020b0  6f 74 20 61 6e 20 65 78  61 63 74 0a 6d 75 6c 74  |ot an exact.mult|
000020c0  69 70 6c 65 20 6f 66 20  74 68 65 20 73 69 7a 65  |iple of the size|
000020d0  20 6f 66 20 61 20 73 63  72 65 65 6e 20 70 69 78  | of a screen pix|
000020e0  65 6c 2e 20 4e 6f 77 20  73 65 74 20 2a 43 6f 6e  |el. Now set *Con|
000020f0  66 69 67 75 72 65 20 46  6f 6e 74 4d 61 78 34 20  |figure FontMax4 |
00002100  74 6f 20 32 30 2c 0a 61  6e 64 20 73 65 65 20 74  |to 20,.and see t|
00002110  68 65 20 64 69 66 66 65  72 65 6e 63 65 3a 20 74  |he difference: t|
00002120  68 65 20 62 75 6e 63 68  69 6e 67 20 69 73 20 73  |he bunching is s|
00002130  6d 6f 6f 74 68 65 64 20  6f 75 74 2e 20 55 73 65  |moothed out. Use|
00002140  20 21 4d 61 67 6e 69 66  69 65 72 20 74 6f 0a 73  | !Magnifier to.s|
00002150  74 75 64 79 20 74 68 65  20 65 66 66 65 63 74 20  |tudy the effect |
00002160  69 6e 20 6d 6f 72 65 20  64 65 74 61 69 6c 2e 0a  |in more detail..|
00002170  0a 49 74 27 73 20 70 6f  73 73 69 62 6c 65 20 66  |.It's possible f|
00002180  6f 72 20 74 68 65 20 66  6f 6e 74 20 63 61 63 68  |or the font cach|
00002190  65 20 74 6f 20 67 72 6f  77 20 69 66 20 69 74 73  |e to grow if its|
000021a0  20 73 69 7a 65 20 69 73  20 64 65 66 69 6e 69 74  | size is definit|
000021b0  65 6c 79 20 74 6f 6f 0a  73 6d 61 6c 6c 2c 20 75  |ely too.small, u|
000021c0  70 20 74 6f 20 61 20 6c  69 6d 69 74 20 73 65 74  |p to a limit set|
000021d0  20 62 79 20 2a 43 6f 6e  66 69 67 75 72 65 20 46  | by *Configure F|
000021e0  6f 6e 74 4d 61 78 2e 20  49 66 20 74 68 69 73 20  |ontMax. If this |
000021f0  68 61 70 70 65 6e 73 20  69 74 20 77 69 6c 6c 20  |happens it will |
00002200  74 68 65 6e 0a 73 68 72  69 6e 6b 20 62 61 63 6b  |then.shrink back|
00002210  20 74 6f 20 74 68 65 20  6e 6f 72 6d 61 6c 20 63  | to the normal c|
00002220  75 72 72 65 6e 74 20 73  69 7a 65 20 61 73 20 73  |urrent size as s|
00002230  6f 6f 6e 20 61 73 20 61  6e 79 20 66 6f 6e 74 73  |oon as any fonts|
00002240  20 63 61 6e 20 62 65 0a  64 69 73 63 61 72 64 65  | can be.discarde|
00002250  64 2e 20 54 68 65 20 46  6f 6e 74 4d 67 72 20 64  |d. The FontMgr d|
00002260  65 63 69 64 65 73 20 74  6f 20 64 6f 20 74 68 69  |ecides to do thi|
00002270  73 20 72 61 74 68 65 72  20 74 68 61 6e 20 74 68  |s rather than th|
00002280  72 6f 77 20 61 77 61 79  20 63 61 63 68 65 64 0a  |row away cached.|
00002290  62 6c 6f 63 6b 73 20 6f  66 20 63 75 72 72 65 6e  |blocks of curren|
000022a0  74 6c 79 20 22 6f 70 65  6e 22 20 66 6f 6e 74 73  |tly "open" fonts|
000022b0  2e 20 54 68 69 73 20 63  61 6e 20 62 65 20 75 73  |. This can be us|
000022c0  65 64 20 61 73 20 61 20  68 69 6e 74 20 62 79 20  |ed as a hint by |
000022d0  61 70 70 6c 69 63 61 74  69 6f 6e 0a 70 72 6f 67  |application.prog|
000022e0  72 61 6d 73 20 74 6f 20  6d 61 6b 65 20 66 69 78  |rams to make fix|
000022f0  20 23 31 20 69 6e 20 74  68 65 20 22 54 72 6f 75  | #1 in the "Trou|
00002300  62 6c 65 73 68 6f 6f 74  69 6e 67 22 20 28 40 25  |bleshooting" (@%|
00002310  74 72 6f 75 62 6c 65 23  29 20 73 65 63 74 69 6f  |trouble#) sectio|
00002320  6e 20 68 61 70 70 65 6e  0a 61 75 74 6f 6d 61 74  |n happen.automat|
00002330  69 63 61 6c 6c 79 2e 0a  0a 57 68 65 6e 20 70 72  |ically...When pr|
00002340  69 6e 74 69 6e 67 2c 20  74 68 65 72 65 20 61 72  |inting, there ar|
00002350  65 20 63 6f 6e 66 6c 69  63 74 69 6e 67 20 72 65  |e conflicting re|
00002360  71 75 69 72 65 6d 65 6e  74 73 20 66 6f 72 20 6d  |quirements for m|
00002370  65 6d 6f 72 79 2e 20 54  68 65 20 46 6f 6e 74 0a  |emory. The Font.|
00002380  6d 61 6e 61 67 65 72 20  6e 65 65 64 73 20 6d 65  |manager needs me|
00002390  6d 6f 72 79 20 74 6f 20  63 61 63 68 65 20 66 6f  |mory to cache fo|
000023a0  6e 74 73 2c 20 61 6e 64  20 74 68 65 20 70 72 69  |nts, and the pri|
000023b0  6e 74 65 72 20 64 72 69  76 65 72 20 6e 65 65 64  |nter driver need|
000023c0  73 20 6d 65 6d 6f 72 79  20 74 6f 0a 62 75 69 6c  |s memory to.buil|
000023d0  64 20 75 70 20 61 20 70  61 67 65 20 69 6d 61 67  |d up a page imag|
000023e0  65 20 74 6f 20 73 65 6e  64 20 74 6f 20 74 68 65  |e to send to the|
000023f0  20 70 72 69 6e 74 65 72  2e 20 42 6f 74 68 20 6f  | printer. Both o|
00002400  66 20 74 68 65 73 65 20  61 66 66 65 63 74 20 70  |f these affect p|
00002410  72 69 6e 74 69 6e 67 0a  73 70 65 65 64 2c 20 79  |rinting.speed, y|
00002420  6f 75 20 77 69 6c 6c 20  68 61 76 65 20 74 6f 20  |ou will have to |
00002430  65 78 70 65 72 69 6d 65  6e 74 20 74 6f 20 66 69  |experiment to fi|
00002440  6e 64 20 74 68 65 20 6f  70 74 69 6d 75 6d 2e 20  |nd the optimum. |
00002450  43 68 61 6e 67 69 6e 67  20 74 6f 20 73 63 72 65  |Changing to scre|
00002460  65 6e 0a 6d 6f 64 65 20  30 20 77 68 69 6c 65 20  |en.mode 0 while |
00002470  70 72 69 6e 74 69 6e 67  2c 20 66 6f 72 20 69 6e  |printing, for in|
00002480  73 74 61 6e 63 65 2c 20  63 61 6e 20 73 70 65 65  |stance, can spee|
00002490  64 20 69 74 20 75 70 20  63 6f 6e 73 69 64 65 72  |d it up consider|
000024a0  61 62 6c 79 2e 20 54 68  65 20 70 72 69 6e 74 0a  |ably. The print.|
000024b0  62 75 66 66 65 72 20 69  73 20 63 72 65 61 74 65  |buffer is create|
000024c0  64 20 66 72 6f 6d 20 74  68 65 20 57 69 6d 70 20  |d from the Wimp |
000024d0  66 72 65 65 20 70 6f 6f  6c 2e 20 41 73 20 61 20  |free pool. As a |
000024e0  67 65 6e 65 72 61 6c 20  72 75 6c 65 20 74 68 65  |general rule the|
000024f0  73 65 20 72 65 6d 61 72  6b 73 0a 64 6f 20 6e 6f  |se remarks.do no|
00002500  74 20 61 70 70 6c 79 20  74 6f 20 50 6f 73 74 53  |t apply to PostS|
00002510  63 72 69 70 74 20 70 72  69 6e 74 69 6e 67 2c 20  |cript printing, |
00002520  77 68 69 63 68 20 6f 70  65 72 61 74 65 73 20 69  |which operates i|
00002530  6e 20 61 20 64 69 66 66  65 72 65 6e 74 20 77 61  |n a different wa|
00002540  79 2e 0a 0a 54 68 65 20  66 6f 6e 74 20 6d 61 6e  |y...The font man|
00002550  61 67 65 72 20 61 63 74  75 61 6c 6c 79 20 66 69  |ager actually fi|
00002560  6e 64 73 20 74 68 65 20  66 6f 6e 74 73 20 69 6e  |nds the fonts in|
00002570  20 21 46 6f 6e 74 73 20  62 79 20 65 78 61 6d 69  | !Fonts by exami|
00002580  6e 69 6e 67 20 64 69 72  65 63 74 6f 72 69 65 73  |ning directories|
00002590  0a 6e 61 6d 65 64 20 69  6e 20 74 68 65 20 65 6e  |.named in the en|
000025a0  76 69 72 6f 6e 6d 65 6e  74 20 76 61 72 69 61 62  |vironment variab|
000025b0  6c 65 20 46 6f 6e 74 24  50 61 74 68 2e 20 42 79  |le Font$Path. By|
000025c0  20 64 65 66 61 75 6c 74  20 74 68 69 73 20 28 66  | default this (f|
000025d0  6f 72 0a 63 6f 6d 70 61  74 69 62 69 6c 69 74 79  |or.compatibility|
000025e0  20 77 69 74 68 20 41 72  74 68 75 72 20 31 2e 32  | with Arthur 1.2|
000025f0  30 29 20 70 6f 69 6e 74  73 20 74 6f 20 61 6e 6f  |0) points to ano|
00002600  74 68 65 72 20 65 6e 76  69 72 6f 6e 6d 65 6e 74  |ther environment|
00002610  20 76 61 72 69 61 62 6c  65 2c 0a 46 6f 6e 74 24  | variable,.Font$|
00002620  50 72 65 66 69 78 2e 20  49 74 27 73 20 70 6f 73  |Prefix. It's pos|
00002630  73 69 62 6c 65 20 74 6f  20 67 65 74 20 74 68 65  |sible to get the|
00002640  20 66 6f 6e 74 20 6d 61  6e 61 67 65 72 20 74 6f  | font manager to|
00002650  20 73 65 61 72 63 68 20  6d 6f 72 65 20 74 68 61  | search more tha|
00002660  6e 20 6f 6e 65 0a 64 69  72 65 63 74 6f 72 79 20  |n one.directory |
00002670  66 6f 72 20 66 6f 6e 74  73 2c 20 62 79 20 61 64  |for fonts, by ad|
00002680  64 69 6e 67 20 6f 74 68  65 72 20 64 69 72 65 63  |ding other direc|
00002690  74 6f 72 69 65 73 20 74  6f 20 46 6f 6e 74 24 50  |tories to Font$P|
000026a0  61 74 68 2e 0a                                    |ath..|
000026a5