Home » Archimedes archive » Zipped Apps » PipeDream » Fonts/!Fonts/!Help

Fonts/!Fonts/!Help

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 » Zipped Apps » PipeDream
Filename: Fonts/!Fonts/!Help
Read OK:
File size: 25F7 bytes
Load address: 0000
Exec address: 0000
File contents
Getting the best from the Acorn Outline Font Manager
====================================================

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.

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.

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.)

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.

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.

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" 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  47 65 74 74 69 6e 67 20  74 68 65 20 62 65 73 74  |Getting the best|
00000010  20 66 72 6f 6d 20 74 68  65 20 41 63 6f 72 6e 20  | from the Acorn |
00000020  4f 75 74 6c 69 6e 65 20  46 6f 6e 74 20 4d 61 6e  |Outline Font Man|
00000030  61 67 65 72 0a 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ager.===========|
00000040  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000060  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 54 68 69 73 20  |=========..This |
00000070  64 6f 63 75 6d 65 6e 74  20 64 65 73 63 72 69 62  |document describ|
00000080  65 73 20 73 6f 6d 65 20  61 73 70 65 63 74 73 20  |es some aspects |
00000090  6f 66 20 52 49 53 43 20  4f 53 27 20 6e 65 77 20  |of RISC OS' new |
000000a0  4f 75 74 6c 69 6e 65 20  46 6f 6e 74 20 4d 61 6e  |Outline Font Man|
000000b0  61 67 65 72 2c 0a 61 6e  64 20 63 6f 6e 74 61 69  |ager,.and contai|
000000c0  6e 73 20 73 6f 6d 65 20  68 69 6e 74 73 20 61 73  |ns some hints as|
000000d0  20 74 6f 20 68 6f 77 20  74 6f 20 67 65 74 20 74  | to how to get t|
000000e0  68 65 20 62 65 73 74 20  66 72 6f 6d 20 69 74 2e  |he best from it.|
000000f0  20 54 68 65 20 66 6f 6e  74 20 6d 61 6e 61 67 65  | The font manage|
00000100  72 0a 69 73 20 61 20 63  6f 6d 70 6c 65 78 20 70  |r.is a complex p|
00000110  69 65 63 65 20 6f 66 20  73 6f 66 74 77 61 72 65  |iece of software|
00000120  20 77 68 69 63 68 20 6d  75 73 74 20 73 6f 6d 65  | which must some|
00000130  74 69 6d 65 73 20 6d 61  6b 65 20 64 65 6c 69 63  |times make delic|
00000140  61 74 65 20 74 72 61 64  65 6f 66 66 73 0a 62 65  |ate tradeoffs.be|
00000150  74 77 65 65 6e 20 73 70  65 65 64 2c 20 73 70 61  |tween speed, spa|
00000160  63 65 2c 20 61 6e 64 20  66 6f 6e 74 20 71 75 61  |ce, and font qua|
00000170  6c 69 74 79 2e 20 47 65  74 74 69 6e 67 20 74 68  |lity. Getting th|
00000180  69 73 20 63 6f 6d 70 6c  65 74 65 6c 79 20 6f 70  |is completely op|
00000190  74 69 6d 61 6c 0a 69 6e  76 6f 6c 76 65 73 20 72  |timal.involves r|
000001a0  65 61 64 69 6e 67 20 74  68 65 20 75 73 65 72 27  |eading the user'|
000001b0  73 20 6d 69 6e 64 20 61  6e 64 20 70 72 65 64 69  |s mind and predi|
000001c0  63 74 69 6e 67 20 74 68  65 20 66 75 74 75 72 65  |cting the future|
000001d0  2c 20 62 6f 74 68 20 6f  66 20 77 68 69 63 68 0a  |, both of which.|
000001e0  6d 6f 73 74 20 63 6f 6d  70 75 74 65 72 73 20 73  |most computers s|
000001f0  74 69 6c 6c 20 66 69 6e  64 20 61 20 6c 69 74 74  |till find a litt|
00000200  6c 65 20 74 72 69 63 6b  79 2e 0a 0a 54 68 65 20  |le tricky...The |
00000210  66 6f 6e 74 73 20 63 6f  6e 74 72 6f 6c 6c 65 64  |fonts controlled|
00000220  20 62 79 20 74 68 65 20  46 6f 6e 74 20 4d 61 6e  | by the Font Man|
00000230  61 67 65 72 20 6c 69 76  65 20 69 6e 20 66 69 6c  |ager live in fil|
00000240  65 73 20 69 6e 20 73 6f  6d 65 20 66 69 6c 69 6e  |es in some filin|
00000250  67 0a 73 79 73 74 65 6d  2c 20 75 73 75 61 6c 6c  |g.system, usuall|
00000260  79 20 69 6e 73 69 64 65  20 61 20 64 69 72 65 63  |y inside a direc|
00000270  74 6f 72 79 20 63 61 6c  6c 65 64 20 21 46 6f 6e  |tory called !Fon|
00000280  74 73 2e 20 41 6c 74 68  6f 75 67 68 20 69 74 20  |ts. Although it |
00000290  63 61 6e 20 73 74 69 6c  6c 20 72 65 61 64 0a 74  |can still read.t|
000002a0  68 65 20 66 6f 6e 74 20  66 69 6c 65 73 20 75 73  |he font files us|
000002b0  65 64 20 69 6e 20 74 68  65 20 6f 6c 64 20 46 6f  |ed in the old Fo|
000002c0  6e 74 20 4d 61 6e 61 67  65 72 2c 20 74 68 65 20  |nt Manager, the |
000002d0  72 65 63 6f 6d 6d 65 6e  64 65 64 20 66 6f 72 6d  |recommended form|
000002e0  20 69 6e 20 77 68 69 63  68 0a 74 68 65 79 20 6e  | in which.they n|
000002f0  6f 77 20 65 78 69 73 74  20 64 65 66 69 6e 65 73  |ow exist defines|
00000300  20 65 61 63 68 20 63 68  61 72 61 63 74 65 72 20  | each character |
00000310  62 79 20 69 74 73 20 2a  6f 75 74 6c 69 6e 65 2a  |by its *outline*|
00000320  2e 20 54 68 69 73 20 63  61 6e 20 74 68 65 6e 20  |. This can then |
00000330  62 65 0a 73 63 61 6c 65  64 20 74 6f 20 61 6e 79  |be.scaled to any|
00000340  20 64 65 73 69 72 65 64  20 73 69 7a 65 2c 20 77  | desired size, w|
00000350  68 65 6e 20 72 65 6e 64  65 72 69 6e 67 20 74 68  |hen rendering th|
00000360  65 20 63 68 61 72 61 63  74 65 72 20 6f 6e 20 61  |e character on a|
00000370  20 70 72 69 6e 74 65 72  20 6f 72 20 6f 6e 0a 74  | printer or on.t|
00000380  68 65 20 73 63 72 65 65  6e 2e 0a 0a 54 77 6f 20  |he screen...Two |
00000390  73 6f 70 68 69 73 74 69  63 61 74 65 64 20 74 72  |sophisticated tr|
000003a0  69 63 6b 73 20 61 72 65  20 75 73 65 64 20 74 6f  |icks are used to|
000003b0  20 69 6d 70 72 6f 76 65  20 74 68 65 20 71 75 61  | improve the qua|
000003c0  6c 69 74 79 20 6f 66 20  74 68 65 20 72 65 6e 64  |lity of the rend|
000003d0  65 72 65 64 0a 66 6f 6e  74 73 2c 20 61 6e 64 20  |ered.fonts, and |
000003e0  6f 6e 65 20 73 6f 70 68  69 73 74 69 63 61 74 65  |one sophisticate|
000003f0  64 20 74 72 69 63 6b 20  74 6f 20 69 6d 70 72 6f  |d trick to impro|
00000400  76 65 20 74 68 65 20 73  70 65 65 64 20 6f 66 20  |ve the speed of |
00000410  74 68 65 20 6f 76 65 72  61 6c 6c 0a 73 79 73 74  |the overall.syst|
00000420  65 6d 2e 0a 0a 54 68 65  20 66 69 72 73 74 20 69  |em...The first i|
00000430  73 20 63 61 6c 6c 65 64  20 2a 61 6e 74 69 2d 61  |s called *anti-a|
00000440  6c 69 61 73 69 6e 67 2a  3a 20 72 61 74 68 65 72  |liasing*: rather|
00000450  20 74 68 61 6e 20 6a 75  73 74 20 72 65 6e 64 65  | than just rende|
00000460  72 69 6e 67 20 74 68 65  0a 63 68 61 72 61 63 74  |ring the.charact|
00000470  65 72 73 20 75 73 69 6e  67 20 62 6c 61 63 6b 20  |ers using black |
00000480  61 6e 64 20 77 68 69 74  65 20 70 69 78 65 6c 73  |and white pixels|
00000490  2c 20 67 72 65 79 20 70  69 78 65 6c 73 20 61 72  |, grey pixels ar|
000004a0  65 20 61 6c 73 6f 20 75  73 65 64 20 74 6f 20 6d  |e also used to m|
000004b0  61 6b 65 0a 63 75 72 76  65 73 20 6c 6f 6f 6b 20  |ake.curves look |
000004c0  73 6d 6f 6f 74 68 65 72  2c 20 61 6e 64 20 74 6f  |smoother, and to|
000004d0  20 70 72 6f 76 69 64 65  20 61 20 62 65 74 74 65  | provide a bette|
000004e0  72 20 61 70 70 72 6f 78  69 6d 61 74 69 6f 6e 20  |r approximation |
000004f0  74 6f 20 74 68 65 20 64  65 73 69 72 65 64 0a 69  |to the desired.i|
00000500  6d 61 67 65 20 77 68 65  6e 20 66 65 77 20 70 69  |mage when few pi|
00000510  78 65 6c 73 20 61 72 65  20 61 76 61 69 6c 61 62  |xels are availab|
00000520  6c 65 2e 20 54 68 69 73  20 72 65 73 75 6c 74 73  |le. This results|
00000530  20 69 6e 20 61 6e 20 61  73 74 6f 6e 69 73 68 69  | in an astonishi|
00000540  6e 67 20 6a 75 6d 70 20  69 6e 0a 71 75 61 6c 69  |ng jump in.quali|
00000550  74 79 20 77 68 65 6e 20  66 65 77 20 70 69 78 65  |ty when few pixe|
00000560  6c 73 20 61 72 65 20 61  76 61 69 6c 61 62 6c 65  |ls are available|
00000570  2c 20 73 75 63 68 20 61  73 20 6f 6e 20 74 68 65  |, such as on the|
00000580  20 73 63 72 65 65 6e 2e  20 54 68 65 20 6f 6c 64  | screen. The old|
00000590  20 41 72 74 68 75 72 0a  31 2e 32 30 20 46 6f 6e  | Arthur.1.20 Fon|
000005a0  74 20 4d 61 6e 61 67 65  72 20 61 6c 73 6f 20 75  |t Manager also u|
000005b0  73 65 64 20 74 68 69 73  2e 0a 0a 54 68 65 20 73  |sed this...The s|
000005c0  65 63 6f 6e 64 20 69 73  20 63 61 6c 6c 65 64 20  |econd is called |
000005d0  2a 68 69 6e 74 69 6e 67  2a 2e 20 54 68 69 73 20  |*hinting*. This |
000005e0  6d 65 61 6e 73 20 73 75  62 74 6c 79 20 61 6c 74  |means subtly alt|
000005f0  65 72 69 6e 67 20 74 68  65 20 6f 75 74 6c 69 6e  |ering the outlin|
00000600  65 20 6f 66 0a 74 68 65  20 63 68 61 72 61 63 74  |e of.the charact|
00000610  65 72 20 62 65 69 6e 67  20 72 65 6e 64 65 72 65  |er being rendere|
00000620  64 20 69 6e 20 77 61 79  73 20 74 68 61 74 20 64  |d in ways that d|
00000630  65 70 65 6e 64 20 6f 6e  20 74 68 65 20 74 61 72  |epend on the tar|
00000640  67 65 74 20 70 69 78 65  6c 20 67 72 69 64 2e 0a  |get pixel grid..|
00000650  54 68 69 73 20 61 6c 6c  6f 77 73 20 70 72 6f 70  |This allows prop|
00000660  65 72 74 69 65 73 20 63  6f 6e 63 65 72 6e 69 6e  |erties concernin|
00000670  67 20 74 68 65 20 73 79  6d 6d 65 74 72 79 20 6f  |g the symmetry o|
00000680  66 20 74 68 65 20 63 68  61 72 61 63 74 65 72 20  |f the character |
00000690  74 6f 20 62 65 0a 61 63  63 75 72 61 74 65 6c 79  |to be.accurately|
000006a0  20 70 72 65 73 65 72 76  65 64 20 77 68 65 6e 20  | preserved when |
000006b0  74 68 65 20 63 68 61 72  61 63 74 65 72 20 69 73  |the character is|
000006c0  20 61 72 62 69 74 72 61  72 69 6c 79 20 73 63 61  | arbitrarily sca|
000006d0  6c 65 64 2e 20 54 68 69  73 20 69 73 0a 70 61 72  |led. This is.par|
000006e0  74 69 63 75 6c 61 72 6c  79 20 75 73 65 66 75 6c  |ticularly useful|
000006f0  20 77 68 65 6e 20 67 72  65 79 20 70 69 78 65 6c  | when grey pixel|
00000700  73 20 61 72 65 20 6e 6f  74 20 61 76 61 69 6c 61  |s are not availa|
00000710  62 6c 65 20 28 73 75 63  68 20 61 73 20 6f 6e 20  |ble (such as on |
00000720  6d 6f 73 74 0a 70 72 69  6e 74 65 72 73 29 2e 20  |most.printers). |
00000730  54 68 69 73 20 69 73 20  74 68 65 20 6d 61 6a 6f  |This is the majo|
00000740  72 20 69 6e 6e 6f 76 61  74 69 6f 6e 20 6f 66 20  |r innovation of |
00000750  74 68 65 20 6e 65 77 20  4f 75 74 6c 69 6e 65 20  |the new Outline |
00000760  46 6f 6e 74 20 4d 61 6e  61 67 65 72 2c 0a 70 72  |Font Manager,.pr|
00000770  65 76 69 6f 75 73 6c 79  20 73 75 63 68 20 61 6c  |eviously such al|
00000780  67 6f 72 69 74 68 6d 73  20 68 61 76 65 20 6f 6e  |gorithms have on|
00000790  6c 79 20 62 65 65 6e 20  69 6e 20 67 65 6e 65 72  |ly been in gener|
000007a0  61 6c 20 75 73 65 20 69  6e 73 69 64 65 20 65 78  |al use inside ex|
000007b0  70 65 6e 73 69 76 65 0a  50 6f 73 74 53 63 72 69  |pensive.PostScri|
000007c0  70 74 20 70 72 69 6e 74  65 72 73 2e 20 41 63 6f  |pt printers. Aco|
000007d0  72 6e 27 73 20 69 6d 70  6c 65 6d 65 6e 74 61 74  |rn's implementat|
000007e0  69 6f 6e 20 6f 66 20 74  68 69 73 20 69 73 20 73  |ion of this is s|
000007f0  6f 20 65 66 66 65 63 74  69 76 65 20 74 68 61 74  |o effective that|
00000800  0a 6d 61 6e 79 20 70 65  6f 70 6c 65 20 66 69 6e  |.many people fin|
00000810  64 20 68 69 6e 74 65 64  20 63 68 61 72 61 63 74  |d hinted charact|
00000820  65 72 20 71 75 61 6c 69  74 79 20 6f 6e 20 74 68  |er quality on th|
00000830  65 20 73 63 72 65 65 6e  20 70 65 72 66 65 63 74  |e screen perfect|
00000840  6c 79 20 61 63 63 65 70  74 61 62 6c 65 0a 65 76  |ly acceptable.ev|
00000850  65 6e 20 77 69 74 68 6f  75 74 20 61 6e 74 69 2d  |en without anti-|
00000860  61 6c 61 73 69 6e 67 2e  0a 0a 54 68 65 20 70 65  |alasing...The pe|
00000870  72 66 6f 72 6d 61 6e 63  65 20 74 72 69 63 6b 20  |rformance trick |
00000880  69 73 20 63 61 6c 6c 65  64 20 2a 63 61 63 68 65  |is called *cache|
00000890  69 6e 67 2a 2e 20 55 6e  66 6f 72 74 75 6e 61 74  |ing*. Unfortunat|
000008a0  65 6c 79 2c 20 6c 6f 61  64 69 6e 67 20 61 0a 63  |ely, loading a.c|
000008b0  68 61 72 61 63 74 65 72  27 73 20 6f 75 74 6c 69  |haracter's outli|
000008c0  6e 65 20 66 72 6f 6d 20  61 20 66 69 6c 65 20 61  |ne from a file a|
000008d0  6e 64 20 63 6f 6d 70 75  74 69 6e 67 20 61 20 62  |nd computing a b|
000008e0  69 74 6d 61 70 20 66 72  6f 6d 20 69 74 20 28 75  |itmap from it (u|
000008f0  73 69 6e 67 0a 68 69 6e  74 69 6e 67 20 61 6e 64  |sing.hinting and|
00000900  2f 6f 72 20 61 6e 74 69  2d 61 6c 69 61 73 69 6e  |/or anti-aliasin|
00000910  67 29 20 74 61 6b 65 73  20 74 69 6d 65 2e 20 49  |g) takes time. I|
00000920  6e 20 6f 72 64 65 72 20  74 6f 20 67 65 74 20 72  |n order to get r|
00000930  6f 75 6e 64 20 74 68 69  73 2c 20 73 75 63 68 0a  |ound this, such.|
00000940  62 69 74 6d 61 70 73 20  61 72 65 20 72 65 74 61  |bitmaps are reta|
00000950  69 6e 65 64 20 69 6e 20  74 68 65 20 66 6f 6e 74  |ined in the font|
00000960  20 6d 61 6e 61 67 65 72  20 77 68 65 6e 20 74 68  | manager when th|
00000970  65 79 20 68 61 76 65 20  62 65 65 6e 20 63 6f 6d  |ey have been com|
00000980  70 75 74 65 64 2c 20 69  6e 0a 63 61 73 65 20 74  |puted, in.case t|
00000990  68 65 79 20 61 72 65 20  6e 65 65 64 65 64 20 61  |hey are needed a|
000009a0  67 61 69 6e 2e 20 54 68  69 73 20 69 73 20 77 68  |gain. This is wh|
000009b0  65 72 65 20 70 72 65 64  69 63 74 69 6e 67 20 74  |ere predicting t|
000009c0  68 65 20 66 75 74 75 72  65 20 63 6f 6d 65 73 20  |he future comes |
000009d0  69 6e 3a 20 6f 66 0a 74  68 65 20 6d 61 6e 79 20  |in: of.the many |
000009e0  68 75 6e 64 72 65 64 73  20 61 6e 64 20 74 68 6f  |hundreds and tho|
000009f0  75 73 61 6e 64 73 20 6f  66 20 63 68 61 72 61 63  |usands of charac|
00000a00  74 65 72 73 20 61 6e 64  20 73 69 7a 65 73 20 74  |ters and sizes t|
00000a10  68 61 74 20 74 68 65 20  66 6f 6e 74 0a 6d 61 6e  |hat the font.man|
00000a20  61 67 65 72 20 6d 75 73  74 20 63 61 63 68 65 20  |ager must cache |
00000a30  28 65 2e 67 2e 20 72 65  74 61 69 6e 29 2c 20 77  |(e.g. retain), w|
00000a40  68 69 63 68 20 6f 6e 65  73 20 61 72 65 20 77 6f  |hich ones are wo|
00000a50  72 74 68 20 6b 65 65 70  69 6e 67 3f 20 41 6c 6c  |rth keeping? All|
00000a60  20 74 68 61 74 20 74 68  65 0a 46 6f 6e 74 20 4d  | that the.Font M|
00000a70  61 6e 61 67 65 72 20 63  61 6e 20 64 6f 20 69 73  |anager can do is|
00000a80  20 74 6f 20 6b 65 65 70  20 61 73 20 6d 61 6e 79  | to keep as many|
00000a90  20 61 73 20 69 74 20 68  61 73 20 73 70 61 63 65  | as it has space|
00000aa0  20 66 6f 72 2c 20 64 69  73 63 61 72 64 69 6e 67  | for, discarding|
00000ab0  20 6f 6e 65 73 0a 74 68  61 74 20 68 61 76 65 20  | ones.that have |
00000ac0  6e 6f 74 20 62 65 65 6e  20 75 73 65 64 20 66 6f  |not been used fo|
00000ad0  72 20 73 6f 6d 65 20 74  69 6d 65 2e 0a 0a 41 73  |r some time...As|
00000ae0  20 74 68 65 20 75 73 65  72 20 6f 66 20 74 68 69  | the user of thi|
00000af0  73 20 73 79 73 74 65 6d  20 79 6f 75 20 63 61 6e  |s system you can|
00000b00  20 70 72 6f 76 69 64 65  20 69 6e 70 75 74 20 74  | provide input t|
00000b10  6f 20 74 68 69 73 20 70  72 6f 63 65 73 73 20 69  |o this process i|
00000b20  6e 20 74 68 65 0a 66 6f  6c 6c 6f 77 69 6e 67 20  |n the.following |
00000b30  77 61 79 20 28 74 68 69  73 20 69 73 20 77 68 65  |way (this is whe|
00000b40  72 65 20 74 68 65 20 46  6f 6e 74 20 4d 61 6e 61  |re the Font Mana|
00000b50  67 65 72 27 73 20 69 6e  61 62 69 6c 69 74 79 20  |ger's inability |
00000b60  61 74 20 6d 69 6e 64 2d  72 65 61 64 69 6e 67 20  |at mind-reading |
00000b70  69 73 0a 61 6e 6e 6f 79  69 6e 67 29 2e 0a 0a 46  |is.annoying)...F|
00000b80  69 72 73 74 2c 20 6f 6e  6c 79 20 79 6f 75 20 63  |irst, only you c|
00000b90  61 6e 20 64 65 63 69 64  65 20 68 6f 77 20 6d 75  |an decide how mu|
00000ba0  63 68 20 6d 65 6d 6f 72  79 20 74 68 65 20 46 6f  |ch memory the Fo|
00000bb0  6e 74 20 4d 61 6e 61 67  65 72 20 6d 61 79 20 75  |nt Manager may u|
00000bc0  73 65 20 66 6f 72 0a 63  61 63 68 65 69 6e 67 2c  |se for.cacheing,|
00000bd0  20 61 6e 64 20 68 6f 77  20 6d 75 63 68 20 79 6f  | and how much yo|
00000be0  75 20 6e 65 65 64 20 66  6f 72 20 6f 74 68 65 72  |u need for other|
00000bf0  20 74 68 69 6e 67 73 2e  20 54 68 69 73 20 69 73  | things. This is|
00000c00  20 64 6f 6e 65 20 62 79  20 73 65 74 74 69 6e 67  | done by setting|
00000c10  0a 74 68 65 20 46 6f 6e  74 20 63 61 63 68 65 20  |.the Font cache |
00000c20  73 69 7a 65 20 69 6e 20  74 68 65 20 54 61 73 6b  |size in the Task|
00000c30  20 57 69 6e 64 6f 77 2c  20 6f 72 20 76 69 61 20  | Window, or via |
00000c40  2a 43 6f 6e 66 69 67 75  72 65 20 46 6f 6e 74 53  |*Configure FontS|
00000c50  69 7a 65 20 28 74 68 65  0a 6c 61 74 74 65 72 20  |ize (the.latter |
00000c60  77 69 6c 6c 20 73 65 74  20 74 68 65 20 70 6f 77  |will set the pow|
00000c70  65 72 2d 6f 6e 20 64 65  66 61 75 6c 74 20 76 61  |er-on default va|
00000c80  6c 75 65 29 2e 0a 0a 59  6f 75 20 63 61 6e 20 61  |lue)...You can a|
00000c90  6c 73 6f 20 73 70 65 6e  64 20 64 69 73 63 20 6d  |lso spend disc m|
00000ca0  65 6d 6f 72 79 20 74 6f  20 6d 61 69 6e 20 63 65  |emory to main ce|
00000cb0  72 74 61 69 6e 20 6f 70  65 72 61 74 69 6f 6e 73  |rtain operations|
00000cc0  20 66 61 73 74 65 72 2e  20 49 74 27 73 0a 70 6f  | faster. It's.po|
00000cd0  73 73 69 62 6c 65 20 74  6f 20 73 61 76 65 20 65  |ssible to save e|
00000ce0  78 74 72 61 20 66 69 6c  65 73 20 69 6e 73 69 64  |xtra files insid|
00000cf0  65 20 21 46 6f 6e 74 73  20 74 68 61 74 20 63 6f  |e !Fonts that co|
00000d00  6e 74 61 69 6e 20 70 72  65 73 63 61 6c 65 64 2c  |ntain prescaled,|
00000d10  0a 61 6e 74 69 2d 61 6c  69 61 73 65 64 20 66 69  |.anti-aliased fi|
00000d20  6c 65 73 0a 0a 53 65 63  6f 6e 64 2c 20 6f 6e 6c  |les..Second, onl|
00000d30  79 20 79 6f 75 20 63 61  6e 20 64 65 63 69 64 65  |y you can decide|
00000d40  20 68 6f 77 20 69 6d 70  6f 72 74 61 6e 74 20 63  | how important c|
00000d50  68 61 72 61 63 74 65 72  20 71 75 61 6c 69 74 79  |haracter quality|
00000d60  20 69 73 20 74 6f 20 79  6f 75 2c 20 61 6e 64 0a  | is to you, and.|
00000d70  68 6f 77 20 6d 75 63 68  20 74 69 6d 65 20 61 6e  |how much time an|
00000d80  64 20 6d 65 6d 6f 72 79  20 79 6f 75 20 61 72 65  |d memory you are|
00000d90  20 70 72 65 70 61 72 65  64 20 74 6f 20 73 70 65  | prepared to spe|
00000da0  6e 64 20 6f 6e 20 74 68  65 20 71 75 61 6c 69 74  |nd on the qualit|
00000db0  79 20 6f 66 20 74 68 65  0a 72 65 73 75 6c 74 73  |y of the.results|
00000dc0  20 79 6f 75 20 73 65 65  20 6f 6e 20 74 68 65 20  | you see on the |
00000dd0  73 63 72 65 65 6e 2e 20  44 69 66 66 65 72 65 6e  |screen. Differen|
00000de0  74 20 70 65 6f 70 6c 65  20 68 61 76 65 20 64 69  |t people have di|
00000df0  66 66 65 72 65 6e 74 20  70 65 72 63 65 70 74 69  |fferent percepti|
00000e00  6f 6e 73 0a 6f 66 20 22  71 75 61 6c 69 74 79 22  |ons.of "quality"|
00000e10  20 74 6f 6f 2e 0a 0a 59  6f 75 20 63 61 6e 20 63  | too...You can c|
00000e20  6f 6e 74 72 6f 6c 20 74  68 69 73 20 75 73 69 6e  |ontrol this usin|
00000e30  67 20 73 65 76 65 72 61  6c 20 6e 65 77 20 2a 43  |g several new *C|
00000e40  6f 6e 66 69 67 75 72 65  20 63 6f 6d 6d 61 6e 64  |onfigure command|
00000e50  73 2c 20 61 73 20 66 6f  6c 6c 6f 77 73 2e 20 49  |s, as follows. I|
00000e60  66 0a 79 6f 75 20 64 6f  20 6e 6f 74 20 74 6f 75  |f.you do not tou|
00000e70  63 68 20 74 68 65 73 65  20 76 61 6c 75 65 73 20  |ch these values |
00000e80  74 68 65 6e 20 79 6f 75  20 77 69 6c 6c 20 66 69  |then you will fi|
00000e90  6e 64 20 74 68 61 74 20  72 65 61 73 6f 6e 61 62  |nd that reasonab|
00000ea0  6c 65 20 64 65 66 61 75  6c 74 73 0a 61 72 65 20  |le defaults.are |
00000eb0  73 65 74 20 75 70 2e 0a  0a 2a 43 6f 6e 66 69 67  |set up...*Config|
00000ec0  75 72 65 20 46 6f 6e 74  4d 61 78 32 0a 54 68 69  |ure FontMax2.Thi|
00000ed0  73 20 73 65 74 73 20 74  68 65 20 6d 61 78 69 6d  |s sets the maxim|
00000ee0  75 6d 20 73 69 7a 65 20  6f 66 20 61 6e 74 69 2d  |um size of anti-|
00000ef0  61 6c 69 61 73 65 64 20  63 68 61 72 61 63 74 65  |aliased characte|
00000f00  72 73 2c 20 69 6e 20 70  69 78 65 6c 73 2e 20 49  |rs, in pixels. I|
00000f10  66 20 61 0a 63 68 61 72  61 63 74 65 72 20 69 73  |f a.character is|
00000f20  20 6c 61 72 67 65 72 20  74 68 61 6e 20 74 68 69  | larger than thi|
00000f30  73 20 76 61 6c 75 65 20  74 68 65 6e 20 61 6e 74  |s value then ant|
00000f40  69 2d 61 6c 69 61 73 69  6e 67 20 77 69 6c 6c 20  |i-aliasing will |
00000f50  6e 6f 74 20 62 65 20 75  73 65 64 2e 0a 41 6e 74  |not be used..Ant|
00000f60  69 2d 61 6c 69 61 73 69  6e 67 20 71 75 61 64 72  |i-aliasing quadr|
00000f70  75 70 6c 65 73 20 74 68  65 20 73 69 7a 65 20 6f  |uples the size o|
00000f80  66 20 72 65 74 61 69 6e  65 64 20 62 69 74 6d 61  |f retained bitma|
00000f90  70 73 20 69 6e 20 74 68  65 20 63 61 63 68 65 2c  |ps in the cache,|
00000fa0  20 61 6e 64 0a 73 6c 6f  77 73 20 64 6f 77 6e 20  | and.slows down |
00000fb0  63 6f 6e 76 65 72 73 69  6f 6e 20 66 72 6f 6d 20  |conversion from |
00000fc0  6f 75 74 6c 69 6e 65 73  20 74 6f 6f 2e 20 53 65  |outlines too. Se|
00000fd0  74 20 74 68 69 73 20 74  6f 20 30 20 74 6f 20 74  |t this to 0 to t|
00000fe0  75 72 6e 20 61 6e 74 69  2d 61 6c 69 61 73 69 6e  |urn anti-aliasin|
00000ff0  67 0a 6f 66 66 20 65 6e  74 69 72 65 6c 79 2e 0a  |g.off entirely..|
00001000  0a 2a 43 6f 6e 66 69 67  75 72 65 20 46 6f 6e 74  |.*Configure Font|
00001010  4d 61 78 33 0a 54 68 69  73 20 73 65 74 73 20 6f  |Max3.This sets o|
00001020  66 20 74 68 65 20 6d 61  78 69 6d 75 6d 20 73 69  |f the maximum si|
00001030  7a 65 20 6f 66 20 61 6e  79 20 66 6f 72 6d 20 6f  |ze of any form o|
00001040  66 20 72 65 74 61 69 6e  65 64 20 62 69 74 6d 61  |f retained bitma|
00001050  70 2e 20 49 66 20 61 20  63 68 61 72 61 63 74 65  |p. If a characte|
00001060  72 0a 74 6f 20 62 65 20  64 72 61 77 6e 20 69 73  |r.to be drawn is|
00001070  20 6c 61 72 67 65 72 20  74 68 61 6e 20 74 68 69  | larger than thi|
00001080  73 20 74 68 65 6e 20 74  68 65 20 6f 75 74 6c 69  |s then the outli|
00001090  6e 65 20 77 69 6c 6c 20  62 65 20 64 72 61 77 6e  |ne will be drawn|
000010a0  20 64 69 72 65 63 74 6c  79 20 74 6f 0a 74 68 65  | directly to.the|
000010b0  20 73 63 72 65 65 6e 20  28 6f 72 20 70 72 69 6e  | screen (or prin|
000010c0  74 65 72 29 20 77 69 74  68 20 6e 6f 20 63 61 63  |ter) with no cac|
000010d0  68 65 69 6e 67 20 68 61  70 70 65 6e 69 6e 67 20  |heing happening |
000010e0  61 74 20 61 6c 6c 2e 20  54 68 69 73 20 69 73 20  |at all. This is |
000010f0  73 6f 20 74 68 61 74 0a  64 6f 63 75 6d 65 6e 74  |so that.document|
00001100  20 68 65 61 64 69 6e 67  73 2c 20 65 74 63 2e 2c  | headings, etc.,|
00001110  20 77 68 65 72 65 20 61  20 66 65 77 20 6c 61 72  | where a few lar|
00001120  67 65 72 20 63 68 61 72  61 63 74 65 72 73 20 61  |ger characters a|
00001130  70 70 65 61 72 2c 20 64  6f 20 6e 6f 74 20 66 6c  |ppear, do not fl|
00001140  75 73 68 0a 65 76 65 72  79 74 68 69 6e 67 20 65  |ush.everything e|
00001150  6c 73 65 20 6f 75 74 20  6f 66 20 74 68 65 20 66  |lse out of the f|
00001160  6f 6e 74 20 63 61 63 68  65 2e 0a 0a 54 68 65 20  |ont cache...The |
00001170  76 61 6c 75 65 20 69 73  20 73 65 74 20 69 6e 20  |value is set in |
00001180  70 69 78 65 6c 73 20 28  72 61 74 68 65 72 20 74  |pixels (rather t|
00001190  68 61 6e 20 70 6f 69 6e  74 73 29 20 62 65 63 61  |han points) beca|
000011a0  75 73 65 20 69 74 20 69  73 20 74 68 65 20 70 69  |use it is the pi|
000011b0  78 65 6c 20 73 69 7a 65  0a 74 68 61 74 20 61 66  |xel size.that af|
000011c0  66 65 63 74 73 20 63 61  63 68 65 20 75 73 61 67  |fects cache usag|
000011d0  65 2e 20 54 68 69 73 20  63 6f 72 72 65 73 70 6f  |e. This correspo|
000011e0  6e 64 73 20 74 6f 20 64  69 66 66 65 72 65 6e 74  |nds to different|
000011f0  20 70 6f 69 6e 74 20 73  69 7a 65 73 20 6f 6e 20  | point sizes on |
00001200  74 68 65 0a 73 63 72 65  65 6e 20 61 6e 64 20 6f  |the.screen and o|
00001210  6e 20 74 68 65 20 70 72  69 6e 74 65 72 2e 0a 0a  |n the printer...|
00001220  2a 43 6f 6e 66 69 67 75  72 65 20 46 6f 6e 74 4d  |*Configure FontM|
00001230  61 78 34 0a 49 66 20 74  68 69 73 20 69 73 20 6e  |ax4.If this is n|
00001240  6f 6e 2d 7a 65 72 6f 20  74 68 65 6e 20 2a 73 75  |on-zero then *su|
00001250  62 2d 70 69 78 65 6c 20  61 6e 74 69 2d 61 6c 69  |b-pixel anti-ali|
00001260  61 73 69 6e 67 2a 20 69  73 20 75 73 65 64 2e 20  |asing* is used. |
00001270  54 68 69 73 20 69 73 20  61 0a 72 65 66 69 6e 65  |This is a.refine|
00001280  6d 65 6e 74 20 6f 66 20  61 6e 74 69 2d 61 6c 69  |ment of anti-ali|
00001290  61 73 69 6e 67 20 69 6e  20 77 68 69 63 68 20 66  |asing in which f|
000012a0  6f 75 72 20 73 65 70 61  72 61 74 65 20 76 65 72  |our separate ver|
000012b0  73 69 6f 6e 73 20 6f 66  20 65 61 63 68 0a 63 68  |sions of each.ch|
000012c0  61 72 61 63 74 65 72 20  61 72 65 20 72 65 74 61  |aracter are reta|
000012d0  69 6e 65 64 2c 20 64 65  70 65 6e 64 69 6e 67 20  |ined, depending |
000012e0  6f 6e 20 74 68 65 20 70  6c 61 63 65 6d 65 6e 74  |on the placement|
000012f0  20 6f 66 20 74 68 65 20  63 68 61 72 61 63 74 65  | of the characte|
00001300  72 20 61 74 0a 73 75 62  2d 70 69 78 65 6c 20 61  |r at.sub-pixel a|
00001310  63 63 75 72 61 63 79 2e  20 54 68 69 73 20 63 61  |ccuracy. This ca|
00001320  6e 20 68 61 76 65 20 61  20 6e 6f 74 69 63 65 61  |n have a noticea|
00001330  62 6c 65 20 65 66 66 65  63 74 20 6f 6e 20 63 68  |ble effect on ch|
00001340  61 72 61 63 74 65 72 20  71 75 61 6c 69 74 79 0a  |aracter quality.|
00001350  61 74 20 73 6d 61 6c 6c  20 73 69 7a 65 73 20 62  |at small sizes b|
00001360  75 74 20 66 6f 72 20 6d  6f 73 74 20 75 73 65 72  |ut for most user|
00001370  73 20 74 68 65 20 64 65  6c 61 79 20 69 6e 76 6f  |s the delay invo|
00001380  6c 76 65 64 20 69 73 20  75 6e 61 63 63 65 70 74  |lved is unaccept|
00001390  61 62 6c 65 2e 20 54 68  75 73 2c 0a 6d 6f 73 74  |able. Thus,.most|
000013a0  20 75 73 65 72 73 20 6c  65 61 76 65 20 74 68 69  | users leave thi|
000013b0  73 20 61 74 20 74 68 65  20 64 65 66 61 75 6c 74  |s at the default|
000013c0  20 76 61 6c 75 65 20 6f  66 20 30 2e 0a 0a 2a 43  | value of 0...*C|
000013d0  6f 6e 66 69 67 75 72 65  20 46 6f 6e 74 4d 61 78  |onfigure FontMax|
000013e0  35 0a 49 66 20 74 68 69  73 20 69 73 20 6e 6f 6e  |5.If this is non|
000013f0  2d 7a 65 72 6f 20 74 68  65 6e 20 73 75 62 2d 70  |-zero then sub-p|
00001400  69 78 65 6c 20 61 6e 74  69 2d 61 6c 61 69 61 73  |ixel anti-alaias|
00001410  69 6e 67 20 69 73 20 75  73 65 64 20 69 6e 20 74  |ing is used in t|
00001420  68 65 20 76 65 72 74 69  63 61 6c 0a 64 69 72 65  |he vertical.dire|
00001430  63 74 69 6f 6e 20 61 73  20 77 65 6c 6c 20 61 73  |ction as well as|
00001440  20 74 68 65 20 68 6f 72  69 7a 6f 6e 74 61 6c 20  | the horizontal |
00001450  64 69 72 65 63 74 69 6f  6e 2e 20 54 68 69 73 20  |direction. This |
00001460  69 73 20 65 76 65 6e 20  72 61 72 65 72 20 74 68  |is even rarer th|
00001470  61 6e 20 75 73 65 0a 6f  66 20 46 6f 6e 74 4d 61  |an use.of FontMa|
00001480  78 34 2e 20 41 6c 6d 6f  73 74 20 61 6c 6c 20 75  |x4. Almost all u|
00001490  73 65 72 73 20 6c 65 61  76 65 20 74 68 69 73 20  |sers leave this |
000014a0  61 74 20 74 68 65 20 64  65 66 61 75 6c 74 20 76  |at the default v|
000014b0  61 6c 75 65 20 6f 66 20  30 2e 0a 0a 28 44 6f 20  |alue of 0...(Do |
000014c0  6e 6f 74 20 75 73 65 20  2a 43 6f 6e 66 69 67 75  |not use *Configu|
000014d0  72 65 20 46 6f 6e 74 4d  61 78 31 2c 20 69 74 20  |re FontMax1, it |
000014e0  69 73 20 66 6f 72 20 63  6f 6e 74 72 6f 6c 6c 69  |is for controlli|
000014f0  6e 67 20 74 68 65 20 6d  69 78 65 64 20 75 73 65  |ng the mixed use|
00001500  20 6f 66 0a 6f 75 74 6c  69 6e 65 20 61 6e 64 20  | of.outline and |
00001510  62 69 74 6d 61 70 20 66  69 6c 65 73 20 61 6e 64  |bitmap files and|
00001520  20 69 73 20 6f 66 20 6c  69 74 74 6c 65 20 69 6d  | is of little im|
00001530  70 6f 72 74 61 6e 63 65  20 74 6f 20 6d 6f 73 74  |portance to most|
00001540  20 75 73 65 72 73 2e 29  0a 0a 54 72 6f 75 62 6c  | users.)..Troubl|
00001550  65 73 68 6f 6f 74 69 6e  67 0a 2d 2d 2d 2d 2d 2d  |eshooting.------|
00001560  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 49 66 20 65 76  |---------..If ev|
00001570  65 72 79 20 72 65 70 61  69 6e 74 20 6f 6e 20 74  |ery repaint on t|
00001580  68 65 20 73 63 72 65 65  6e 20 63 61 75 73 65 73  |he screen causes|
00001590  20 69 6e 74 65 6e 73 69  76 65 20 64 69 73 63 20  | intensive disc |
000015a0  61 6e 64 20 68 6f 75 72  67 6c 61 73 73 20 61 63  |and hourglass ac|
000015b0  74 69 76 69 74 79 0a 74  68 65 6e 20 79 6f 75 20  |tivity.then you |
000015c0  6d 61 79 20 62 65 20 68  61 76 69 6e 67 20 74 72  |may be having tr|
000015d0  6f 75 62 6c 65 20 77 69  74 68 20 74 68 65 20 66  |ouble with the f|
000015e0  6f 6e 74 20 63 61 63 68  65 20 2a 74 68 72 61 73  |ont cache *thras|
000015f0  68 69 6e 67 2a 20 28 65  2e 67 2e 20 69 74 27 73  |hing* (e.g. it's|
00001600  0a 74 6f 6f 20 73 6d 61  6c 6c 20 74 6f 20 68 6f  |.too small to ho|
00001610  6c 64 20 74 68 65 20 72  61 6e 67 65 20 6f 66 20  |ld the range of |
00001620  66 6f 6e 74 73 20 79 6f  75 20 61 72 65 20 75 73  |fonts you are us|
00001630  69 6e 67 20 61 74 20 74  68 65 20 6d 6f 6d 65 6e  |ing at the momen|
00001640  74 29 2e 20 54 68 65 72  65 20 6d 61 79 0a 62 65  |t). There may.be|
00001650  20 6f 74 68 65 72 20 63  61 75 73 65 73 2c 20 65  | other causes, e|
00001660  2e 67 2e 20 74 68 65 20  44 54 50 20 70 72 6f 67  |.g. the DTP prog|
00001670  72 61 6d 20 63 61 6e 20  63 61 75 73 65 20 64 69  |ram can cause di|
00001680  73 63 20 61 63 74 69 76  69 74 79 20 77 69 74 68  |sc activity with|
00001690  6f 75 74 20 74 68 65 0a  66 6f 6e 74 20 6d 61 6e  |out the.font man|
000016a0  61 67 65 72 20 62 65 69  6e 67 20 69 6e 76 6f 6c  |ager being invol|
000016b0  76 65 64 2e 0a 0a 54 72  79 20 74 68 65 20 66 6f  |ved...Try the fo|
000016c0  6c 6c 6f 77 69 6e 67 20  74 68 69 6e 67 73 3a 0a  |llowing things:.|
000016d0  0a 31 2e 20 43 68 61 6e  67 65 20 74 68 65 20 73  |.1. Change the s|
000016e0  69 7a 65 20 6f 66 20 74  68 65 20 66 6f 6e 74 20  |ize of the font |
000016f0  63 61 63 68 65 20 75 73  69 6e 67 20 74 68 65 20  |cache using the |
00001700  54 61 73 6b 20 57 69 6e  64 6f 77 2e 20 44 6f 65  |Task Window. Doe|
00001710  73 20 73 6c 69 67 68 74  6c 79 0a 6d 6f 72 65 20  |s slightly.more |
00001720  6d 65 6d 6f 72 79 20 6d  61 6b 65 20 69 74 20 77  |memory make it w|
00001730  6f 72 6b 20 62 65 74 74  65 72 3f 0a 0a 32 2e 20  |ork better?..2. |
00001740  43 68 61 6e 67 65 20 46  6f 6e 74 4d 61 78 32 20  |Change FontMax2 |
00001750  74 6f 20 7a 65 72 6f 20  28 72 65 63 6f 6e 66 69  |to zero (reconfi|
00001760  67 75 72 69 6e 67 20 74  68 65 73 65 20 76 61 6c  |guring these val|
00001770  75 65 73 20 74 61 6b 65  73 20 69 6d 6d 65 64 69  |ues takes immedi|
00001780  61 74 65 0a 65 66 66 65  63 74 2c 20 79 6f 75 20  |ate.effect, you |
00001790  64 6f 20 6e 6f 74 20 68  61 76 65 20 74 6f 20 72  |do not have to r|
000017a0  65 62 6f 6f 74 29 2e 20  49 73 20 74 68 65 20 71  |eboot). Is the q|
000017b0  75 61 6c 69 74 79 20 6f  66 20 63 68 61 72 61 63  |uality of charac|
000017c0  74 65 72 73 20 73 74 69  6c 6c 0a 61 63 63 65 70  |ters still.accep|
000017d0  74 61 62 6c 65 3f 20 44  6f 65 73 20 70 65 72 66  |table? Does perf|
000017e0  6f 72 6d 61 6e 63 65 20  69 6d 70 72 6f 76 65 3f  |ormance improve?|
000017f0  0a 0a 33 2e 20 43 68 61  6e 67 65 20 46 6f 6e 74  |..3. Change Font|
00001800  4d 61 78 33 20 74 6f 20  61 20 6c 6f 77 65 72 20  |Max3 to a lower |
00001810  76 61 6c 75 65 2c 20 6f  72 20 65 76 65 6e 20 30  |value, or even 0|
00001820  2e 20 54 68 69 73 20 73  68 6f 75 6c 64 20 73 68  |. This should sh|
00001830  61 72 70 6c 79 20 72 65  64 75 63 65 0a 74 68 72  |arply reduce.thr|
00001840  61 73 68 69 6e 67 2c 20  62 75 74 20 74 68 65 20  |ashing, but the |
00001850  61 63 74 69 6f 6e 20 6f  66 20 70 61 69 6e 74 69  |action of painti|
00001860  6e 67 20 6f 6e 20 74 68  65 20 73 63 72 65 65 6e  |ng on the screen|
00001870  20 77 69 6c 6c 20 62 65  63 6f 6d 65 20 6d 75 63  | will become muc|
00001880  68 20 73 6c 6f 77 65 72  2e 0a 0a 52 65 6d 65 6d  |h slower...Remem|
00001890  62 65 72 20 74 68 61 74  20 74 68 65 73 65 20 76  |ber that these v|
000018a0  61 6c 75 65 73 20 77 69  6c 6c 20 73 75 72 76 69  |alues will survi|
000018b0  76 65 20 61 20 72 65 73  65 74 20 6f 72 20 70 6f  |ve a reset or po|
000018c0  77 65 72 2d 6f 6e 2e 0a  0a 4d 69 73 63 65 6c 6c  |wer-on...Miscell|
000018d0  61 6e 65 6f 75 73 20 4e  6f 74 65 73 0a 2d 2d 2d  |aneous Notes.---|
000018e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000018f0  0a 0a 54 68 65 20 61 62  6f 76 65 20 73 68 6f 75  |..The above shou|
00001900  6c 64 20 62 65 20 65 6e  6f 75 67 68 20 69 6e 66  |ld be enough inf|
00001910  6f 72 6d 61 74 69 6f 6e  20 74 6f 20 61 6c 6c 6f  |ormation to allo|
00001920  77 20 74 68 65 20 74 79  70 69 63 61 6c 20 75 73  |w the typical us|
00001930  65 72 20 74 6f 20 67 65  74 20 74 68 65 0a 6d 6f  |er to get the.mo|
00001940  73 74 20 6f 75 74 20 6f  66 20 74 68 65 20 4f 75  |st out of the Ou|
00001950  74 6c 69 6e 65 20 46 6f  6e 74 20 4d 61 6e 61 67  |tline Font Manag|
00001960  65 72 2e 20 48 65 72 65  20 69 73 20 73 6f 6d 65  |er. Here is some|
00001970  20 61 64 64 69 74 69 6f  6e 61 6c 20 69 6e 66 6f  | additional info|
00001980  72 6d 61 74 69 6f 6e 20  6f 6e 0a 76 61 72 69 6f  |rmation on.vario|
00001990  75 73 20 72 65 6c 61 74  65 64 20 73 75 62 6a 65  |us related subje|
000019a0  63 74 73 2c 20 61 6e 64  20 73 6f 6d 65 20 6d 6f  |cts, and some mo|
000019b0  72 65 20 61 64 76 61 6e  63 65 64 20 74 69 70 73  |re advanced tips|
000019c0  20 66 6f 72 20 65 66 66  65 63 74 69 76 65 20 75  | for effective u|
000019d0  73 65 2e 0a 0a 54 68 65  20 74 65 63 68 6e 6f 6c  |se...The technol|
000019e0  6f 67 79 20 69 6e 20 74  68 65 20 4f 75 74 6c 69  |ogy in the Outli|
000019f0  6e 65 20 46 6f 6e 74 20  4d 61 6e 61 67 65 72 20  |ne Font Manager |
00001a00  72 65 61 6c 6c 79 20 69  73 20 73 74 61 74 65 2d  |really is state-|
00001a10  6f 66 2d 74 68 65 2d 61  72 74 2e 20 54 68 65 0a  |of-the-art. The.|
00001a20  68 69 6e 74 69 6e 67 20  67 69 76 65 73 20 6f 75  |hinting gives ou|
00001a30  74 73 74 61 6e 64 69 6e  67 20 71 75 61 6c 69 74  |tstanding qualit|
00001a40  79 20 61 74 20 6c 6f 77  20 72 65 73 6f 6c 75 74  |y at low resolut|
00001a50  69 6f 6e 73 2e 20 4e 6f  20 63 6f 6d 70 65 74 69  |ions. No competi|
00001a60  6e 67 20 73 79 73 74 65  6d 0a 68 61 73 20 65 6e  |ng system.has en|
00001a70  6f 75 67 68 20 70 72 6f  63 65 73 73 6f 72 20 70  |ough processor p|
00001a80  6f 77 65 72 20 74 6f 20  62 65 20 61 62 6c 65 20  |ower to be able |
00001a90  74 6f 20 75 73 65 20 61  6e 74 69 2d 61 6c 69 61  |to use anti-alia|
00001aa0  73 69 6e 67 20 65 66 66  65 63 74 69 76 65 6c 79  |sing effectively|
00001ab0  2e 20 54 68 65 0a 67 65  6e 65 72 61 74 69 6f 6e  |. The.generation|
00001ac0  20 6f 66 20 73 63 72 65  65 6e 20 61 6e 64 20 70  | of screen and p|
00001ad0  72 69 6e 74 65 72 20 66  6f 6e 74 73 20 66 72 6f  |rinter fonts fro|
00001ae0  6d 20 74 68 65 20 73 61  6d 65 20 73 6f 75 72 63  |m the same sourc|
00001af0  65 20 28 77 69 74 68 20  70 72 65 63 69 73 65 6c  |e (with precisel|
00001b00  79 0a 6d 61 74 63 68 69  6e 67 20 6d 65 74 72 69  |y.matching metri|
00001b10  63 73 29 20 6d 61 6b 65  73 20 69 74 20 65 61 73  |cs) makes it eas|
00001b20  79 20 74 6f 20 64 69 73  74 72 69 62 75 74 65 20  |y to distribute |
00001b30  6e 65 77 20 66 6f 6e 74  73 2c 20 61 6e 64 20 73  |new fonts, and s|
00001b40  6f 6c 76 65 73 20 6d 61  6e 79 0a 70 72 6f 62 6c  |olves many.probl|
00001b50  65 6d 73 20 69 6e 20 63  72 65 61 74 69 6e 67 20  |ems in creating |
00001b60  70 6f 77 65 72 66 75 6c  20 57 59 53 49 57 59 47  |powerful WYSIWYG|
00001b70  20 61 70 70 6c 69 63 61  74 69 6f 6e 73 2e 20 55  | applications. U|
00001b80  6e 6c 69 6b 65 20 73 6f  6d 65 20 6f 74 68 65 72  |nlike some other|
00001b90  0a 63 6f 6d 70 61 6e 69  65 73 20 77 69 74 68 20  |.companies with |
00001ba0  73 69 6d 69 6c 61 72 20  74 65 63 68 6e 6f 6c 6f  |similar technolo|
00001bb0  67 79 2c 20 41 63 6f 72  6e 20 65 6e 63 6f 75 72  |gy, Acorn encour|
00001bc0  61 67 65 73 20 74 68 65  20 63 72 65 61 74 69 6f  |ages the creatio|
00001bd0  6e 20 6f 66 20 6e 65 77  0a 66 6f 6e 74 73 20 62  |n of new.fonts b|
00001be0  79 20 74 68 69 72 64 20  70 61 72 74 69 65 73 20  |y third parties |
00001bf0  61 6e 64 20 64 6f 65 73  20 6e 6f 74 20 61 74 74  |and does not att|
00001c00  65 6d 70 74 20 74 6f 20  65 6e 63 72 79 70 74 20  |empt to encrypt |
00001c10  74 68 65 20 66 6f 6e 74  73 20 74 68 65 6d 73 65  |the fonts themse|
00001c20  6c 76 65 73 2e 0a 0a 54  68 65 20 64 65 66 61 75  |lves...The defau|
00001c30  6c 74 20 46 6f 6e 74 4d  61 78 20 73 65 74 74 69  |lt FontMax setti|
00001c40  6e 67 73 20 61 72 65 20  64 65 73 69 67 6e 65 64  |ngs are designed|
00001c50  20 66 6f 72 20 61 20 75  73 65 72 20 6f 66 20 61  | for a user of a|
00001c60  20 73 6d 61 6c 6c 20 73  79 73 74 65 6d 2e 20 41  | small system. A|
00001c70  0a 73 79 73 74 65 6d 20  77 69 74 68 20 6d 6f 72  |.system with mor|
00001c80  65 20 74 68 61 6e 20 31  4d 42 20 6f 6e 20 77 68  |e than 1MB on wh|
00001c90  69 63 68 20 44 54 50 2d  6c 69 6b 65 20 61 70 70  |ich DTP-like app|
00001ca0  6c 69 63 61 74 69 6f 6e  73 20 61 72 65 20 75 73  |lications are us|
00001cb0  65 64 0a 69 6e 74 65 6e  73 69 76 65 6c 79 2c 20  |ed.intensively, |
00001cc0  77 6f 75 6c 64 20 74 79  70 69 63 61 6c 6c 79 20  |would typically |
00001cd0  62 65 20 63 6f 6e 66 69  67 75 72 65 64 20 77 69  |be configured wi|
00001ce0  74 68 20 73 6c 69 67 68  74 6c 79 20 6c 61 72 67  |th slightly larg|
00001cf0  65 72 20 76 61 6c 75 65  73 2e 0a 0a 41 20 66 6f  |er values...A fo|
00001d00  6e 74 20 69 73 20 61 63  74 75 61 6c 6c 79 20 63  |nt is actually c|
00001d10  61 63 68 65 64 20 69 6e  20 62 6c 6f 63 6b 73 20  |ached in blocks |
00001d20  6f 66 20 33 32 20 63 68  61 72 61 63 74 65 72 73  |of 32 characters|
00001d30  2c 20 77 69 74 68 20 61  64 6a 61 63 65 6e 74 20  |, with adjacent |
00001d40  41 53 43 49 49 0a 63 6f  64 65 73 2e 20 54 68 75  |ASCII.codes. Thu|
00001d50  73 2c 20 6a 75 73 74 20  70 61 69 6e 74 69 6e 67  |s, just painting|
00001d60  20 61 20 73 69 6e 67 6c  65 20 63 68 61 72 61 63  | a single charac|
00001d70  74 65 72 20 77 69 6c 6c  20 74 79 70 69 63 61 6c  |ter will typical|
00001d80  6c 79 20 70 75 6c 6c 20  69 6e 20 33 31 0a 6f 74  |ly pull in 31.ot|
00001d90  68 65 72 73 2e 20 54 68  69 73 20 69 73 20 62 65  |hers. This is be|
00001da0  63 61 75 73 65 20 65 61  63 68 20 64 69 73 63 20  |cause each disc |
00001db0  6f 70 65 72 61 74 69 6f  6e 20 68 61 73 20 61 20  |operation has a |
00001dc0  73 75 62 74 61 6e 74 69  61 6c 20 73 74 61 72 74  |subtantial start|
00001dd0  2d 75 70 20 74 69 6d 65  2e 0a 0a 49 74 27 73 20  |-up time...It's |
00001de0  70 6f 73 73 69 62 6c 65  20 74 6f 20 73 61 76 65  |possible to save|
00001df0  20 70 72 65 63 6f 6d 70  75 74 65 64 20 62 69 74  | precomputed bit|
00001e00  6d 61 70 73 20 66 72 6f  6d 20 74 68 65 20 63 61  |maps from the ca|
00001e10  63 68 65 20 69 6e 74 6f  20 74 68 65 20 66 69 6c  |che into the fil|
00001e20  69 6e 67 0a 73 79 73 74  65 6d 2c 20 74 68 69 73  |ing.system, this|
00001e30  20 63 61 6e 20 73 70 65  65 64 20 75 70 20 74 68  | can speed up th|
00001e40  65 20 75 73 65 20 6f 66  20 63 65 72 74 61 69 6e  |e use of certain|
00001e50  20 73 69 7a 65 73 20 6f  66 20 66 6f 6e 74 20 61  | sizes of font a|
00001e60  74 20 74 68 65 20 63 6f  73 74 20 6f 66 0a 64 69  |t the cost of.di|
00001e70  73 63 20 73 70 61 63 65  2e 20 2a 43 6f 6e 66 69  |sc space. *Confi|
00001e80  67 75 72 65 20 46 6f 6e  74 4d 61 78 20 31 20 69  |gure FontMax 1 i|
00001e90  73 20 75 73 65 64 20 74  6f 20 63 6f 6e 74 72 6f  |s used to contro|
00001ea0  6c 20 74 68 69 73 2e 0a  0a 57 68 61 74 20 69 73  |l this...What is|
00001eb0  20 73 75 62 2d 70 69 78  65 6c 20 61 6e 74 69 2d  | sub-pixel anti-|
00001ec0  61 6c 69 61 73 69 6e 67  3f 20 54 68 65 20 77 69  |aliasing? The wi|
00001ed0  64 74 68 20 6f 66 20 65  61 63 68 20 63 68 61 72  |dth of each char|
00001ee0  61 63 74 65 72 20 69 73  20 73 74 6f 72 65 64 20  |acter is stored |
00001ef0  74 6f 0a 67 72 65 61 74  65 72 20 61 63 63 75 72  |to.greater accur|
00001f00  61 63 79 20 74 68 61 6e  20 74 68 65 20 70 69 78  |acy than the pix|
00001f10  65 6c 73 20 6f 6e 20 74  68 65 20 73 63 72 65 65  |els on the scree|
00001f20  6e 2e 20 54 68 75 73 2c  20 69 6e 20 21 45 64 69  |n. Thus, in !Edi|
00001f30  74 20 69 6e 20 6d 6f 64  65 20 31 32 2c 0a 63 72  |t in mode 12,.cr|
00001f40  65 61 74 65 20 61 20 6c  69 6e 65 20 63 6f 6e 73  |eate a line cons|
00001f50  69 73 74 69 6e 67 20 6f  66 20 6c 6f 74 73 20 6f  |isting of lots o|
00001f60  66 20 6c 6f 77 65 72 2d  63 61 73 65 20 54 72 69  |f lower-case Tri|
00001f70  6e 69 74 79 2e 4d 65 64  69 75 6d 20 27 6c 27 73  |nity.Medium 'l's|
00001f80  2e 20 53 65 65 20 68 6f  77 0a 74 68 65 79 20 62  |. See how.they b|
00001f90  75 6e 63 68 20 75 70 20  69 6e 20 67 72 6f 75 70  |unch up in group|
00001fa0  73 20 6f 66 20 61 62 6f  75 74 20 36 20 63 68 61  |s of about 6 cha|
00001fb0  72 61 63 74 65 72 73 2c  20 77 69 74 68 20 61 6e  |racters, with an|
00001fc0  20 65 78 74 72 61 20 70  69 78 65 6c 20 67 61 70  | extra pixel gap|
00001fd0  0a 62 65 74 77 65 65 6e  20 62 75 6e 63 68 65 73  |.between bunches|
00001fe0  3f 20 54 68 69 73 20 69  73 20 62 65 63 61 75 73  |? This is becaus|
00001ff0  65 20 74 68 65 20 77 69  64 74 68 20 6f 66 20 74  |e the width of t|
00002000  68 69 73 20 6c 65 74 74  65 72 20 69 73 20 6e 6f  |his letter is no|
00002010  74 20 61 6e 20 65 78 61  63 74 0a 6d 75 6c 74 69  |t an exact.multi|
00002020  70 6c 65 20 6f 66 20 74  68 65 20 73 69 7a 65 20  |ple of the size |
00002030  6f 66 20 61 20 73 63 72  65 65 6e 20 70 69 78 65  |of a screen pixe|
00002040  6c 2e 20 4e 6f 77 20 73  65 74 20 2a 43 6f 6e 66  |l. Now set *Conf|
00002050  69 67 75 72 65 20 46 6f  6e 74 4d 61 78 34 20 74  |igure FontMax4 t|
00002060  6f 20 32 30 2c 0a 61 6e  64 20 73 65 65 20 74 68  |o 20,.and see th|
00002070  65 20 64 69 66 66 65 72  65 6e 63 65 3a 20 74 68  |e difference: th|
00002080  65 20 62 75 6e 63 68 69  6e 67 20 69 73 20 73 6d  |e bunching is sm|
00002090  6f 6f 74 68 65 64 20 6f  75 74 2e 20 55 73 65 20  |oothed out. Use |
000020a0  21 4d 61 67 6e 69 66 69  65 72 20 74 6f 0a 73 74  |!Magnifier to.st|
000020b0  75 64 79 20 74 68 65 20  65 66 66 65 63 74 20 69  |udy the effect i|
000020c0  6e 20 6d 6f 72 65 20 64  65 74 61 69 6c 2e 0a 0a  |n more detail...|
000020d0  49 74 27 73 20 70 6f 73  73 69 62 6c 65 20 66 6f  |It's possible fo|
000020e0  72 20 74 68 65 20 66 6f  6e 74 20 63 61 63 68 65  |r the font cache|
000020f0  20 74 6f 20 67 72 6f 77  20 69 66 20 69 74 73 20  | to grow if its |
00002100  73 69 7a 65 20 69 73 20  64 65 66 69 6e 69 74 65  |size is definite|
00002110  6c 79 20 74 6f 6f 0a 73  6d 61 6c 6c 2c 20 75 70  |ly too.small, up|
00002120  20 74 6f 20 61 20 6c 69  6d 69 74 20 73 65 74 20  | to a limit set |
00002130  62 79 20 2a 43 6f 6e 66  69 67 75 72 65 20 46 6f  |by *Configure Fo|
00002140  6e 74 4d 61 78 2e 20 49  66 20 74 68 69 73 20 68  |ntMax. If this h|
00002150  61 70 70 65 6e 73 20 69  74 20 77 69 6c 6c 20 74  |appens it will t|
00002160  68 65 6e 0a 73 68 72 69  6e 6b 20 62 61 63 6b 20  |hen.shrink back |
00002170  74 6f 20 74 68 65 20 6e  6f 72 6d 61 6c 20 63 75  |to the normal cu|
00002180  72 72 65 6e 74 20 73 69  7a 65 20 61 73 20 73 6f  |rrent size as so|
00002190  6f 6e 20 61 73 20 61 6e  79 20 66 6f 6e 74 73 20  |on as any fonts |
000021a0  63 61 6e 20 62 65 0a 64  69 73 63 61 72 64 65 64  |can be.discarded|
000021b0  2e 20 54 68 65 20 46 6f  6e 74 4d 67 72 20 64 65  |. The FontMgr de|
000021c0  63 69 64 65 73 20 74 6f  20 64 6f 20 74 68 69 73  |cides to do this|
000021d0  20 72 61 74 68 65 72 20  74 68 61 6e 20 74 68 72  | rather than thr|
000021e0  6f 77 20 61 77 61 79 20  63 61 63 68 65 64 0a 62  |ow away cached.b|
000021f0  6c 6f 63 6b 73 20 6f 66  20 63 75 72 72 65 6e 74  |locks of current|
00002200  6c 79 20 22 6f 70 65 6e  22 20 66 6f 6e 74 73 2e  |ly "open" fonts.|
00002210  20 54 68 69 73 20 63 61  6e 20 62 65 20 75 73 65  | This can be use|
00002220  64 20 61 73 20 61 20 68  69 6e 74 20 62 79 20 61  |d as a hint by a|
00002230  70 70 6c 69 63 61 74 69  6f 6e 0a 70 72 6f 67 72  |pplication.progr|
00002240  61 6d 73 20 74 6f 20 6d  61 6b 65 20 66 69 78 20  |ams to make fix |
00002250  23 31 20 69 6e 20 74 68  65 20 22 54 72 6f 75 62  |#1 in the "Troub|
00002260  6c 65 73 68 6f 6f 74 69  6e 67 22 20 73 65 63 74  |leshooting" sect|
00002270  69 6f 6e 20 68 61 70 70  65 6e 0a 61 75 74 6f 6d  |ion happen.autom|
00002280  61 74 69 63 61 6c 6c 79  2e 0a 0a 57 68 65 6e 20  |atically...When |
00002290  70 72 69 6e 74 69 6e 67  2c 20 74 68 65 72 65 20  |printing, there |
000022a0  61 72 65 20 63 6f 6e 66  6c 69 63 74 69 6e 67 20  |are conflicting |
000022b0  72 65 71 75 69 72 65 6d  65 6e 74 73 20 66 6f 72  |requirements for|
000022c0  20 6d 65 6d 6f 72 79 2e  20 54 68 65 20 46 6f 6e  | memory. The Fon|
000022d0  74 0a 6d 61 6e 61 67 65  72 20 6e 65 65 64 73 20  |t.manager needs |
000022e0  6d 65 6d 6f 72 79 20 74  6f 20 63 61 63 68 65 20  |memory to cache |
000022f0  66 6f 6e 74 73 2c 20 61  6e 64 20 74 68 65 20 70  |fonts, and the p|
00002300  72 69 6e 74 65 72 20 64  72 69 76 65 72 20 6e 65  |rinter driver ne|
00002310  65 64 73 20 6d 65 6d 6f  72 79 20 74 6f 0a 62 75  |eds memory to.bu|
00002320  69 6c 64 20 75 70 20 61  20 70 61 67 65 20 69 6d  |ild up a page im|
00002330  61 67 65 20 74 6f 20 73  65 6e 64 20 74 6f 20 74  |age to send to t|
00002340  68 65 20 70 72 69 6e 74  65 72 2e 20 42 6f 74 68  |he printer. Both|
00002350  20 6f 66 20 74 68 65 73  65 20 61 66 66 65 63 74  | of these affect|
00002360  20 70 72 69 6e 74 69 6e  67 0a 73 70 65 65 64 2c  | printing.speed,|
00002370  20 79 6f 75 20 77 69 6c  6c 20 68 61 76 65 20 74  | you will have t|
00002380  6f 20 65 78 70 65 72 69  6d 65 6e 74 20 74 6f 20  |o experiment to |
00002390  66 69 6e 64 20 74 68 65  20 6f 70 74 69 6d 75 6d  |find the optimum|
000023a0  2e 20 43 68 61 6e 67 69  6e 67 20 74 6f 20 73 63  |. Changing to sc|
000023b0  72 65 65 6e 0a 6d 6f 64  65 20 30 20 77 68 69 6c  |reen.mode 0 whil|
000023c0  65 20 70 72 69 6e 74 69  6e 67 2c 20 66 6f 72 20  |e printing, for |
000023d0  69 6e 73 74 61 6e 63 65  2c 20 63 61 6e 20 73 70  |instance, can sp|
000023e0  65 65 64 20 69 74 20 75  70 20 63 6f 6e 73 69 64  |eed it up consid|
000023f0  65 72 61 62 6c 79 2e 20  54 68 65 20 70 72 69 6e  |erably. The prin|
00002400  74 0a 62 75 66 66 65 72  20 69 73 20 63 72 65 61  |t.buffer is crea|
00002410  74 65 64 20 66 72 6f 6d  20 74 68 65 20 57 69 6d  |ted from the Wim|
00002420  70 20 66 72 65 65 20 70  6f 6f 6c 2e 20 41 73 20  |p free pool. As |
00002430  61 20 67 65 6e 65 72 61  6c 20 72 75 6c 65 20 74  |a general rule t|
00002440  68 65 73 65 20 72 65 6d  61 72 6b 73 0a 64 6f 20  |hese remarks.do |
00002450  6e 6f 74 20 61 70 70 6c  79 20 74 6f 20 50 6f 73  |not apply to Pos|
00002460  74 53 63 72 69 70 74 20  70 72 69 6e 74 69 6e 67  |tScript printing|
00002470  2c 20 77 68 69 63 68 20  6f 70 65 72 61 74 65 73  |, which operates|
00002480  20 69 6e 20 61 20 64 69  66 66 65 72 65 6e 74 20  | in a different |
00002490  77 61 79 2e 0a 0a 54 68  65 20 66 6f 6e 74 20 6d  |way...The font m|
000024a0  61 6e 61 67 65 72 20 61  63 74 75 61 6c 6c 79 20  |anager actually |
000024b0  66 69 6e 64 73 20 74 68  65 20 66 6f 6e 74 73 20  |finds the fonts |
000024c0  69 6e 20 21 46 6f 6e 74  73 20 62 79 20 65 78 61  |in !Fonts by exa|
000024d0  6d 69 6e 69 6e 67 20 64  69 72 65 63 74 6f 72 69  |mining directori|
000024e0  65 73 0a 6e 61 6d 65 64  20 69 6e 20 74 68 65 20  |es.named in the |
000024f0  65 6e 76 69 72 6f 6e 6d  65 6e 74 20 76 61 72 69  |environment vari|
00002500  61 62 6c 65 20 46 6f 6e  74 24 50 61 74 68 2e 20  |able Font$Path. |
00002510  42 79 20 64 65 66 61 75  6c 74 20 74 68 69 73 20  |By default this |
00002520  28 66 6f 72 0a 63 6f 6d  70 61 74 69 62 69 6c 69  |(for.compatibili|
00002530  74 79 20 77 69 74 68 20  41 72 74 68 75 72 20 31  |ty with Arthur 1|
00002540  2e 32 30 29 20 70 6f 69  6e 74 73 20 74 6f 20 61  |.20) points to a|
00002550  6e 6f 74 68 65 72 20 65  6e 76 69 72 6f 6e 6d 65  |nother environme|
00002560  6e 74 20 76 61 72 69 61  62 6c 65 2c 0a 46 6f 6e  |nt variable,.Fon|
00002570  74 24 50 72 65 66 69 78  2e 20 49 74 27 73 20 70  |t$Prefix. It's p|
00002580  6f 73 73 69 62 6c 65 20  74 6f 20 67 65 74 20 74  |ossible to get t|
00002590  68 65 20 66 6f 6e 74 20  6d 61 6e 61 67 65 72 20  |he font manager |
000025a0  74 6f 20 73 65 61 72 63  68 20 6d 6f 72 65 20 74  |to search more t|
000025b0  68 61 6e 20 6f 6e 65 0a  64 69 72 65 63 74 6f 72  |han one.director|
000025c0  79 20 66 6f 72 20 66 6f  6e 74 73 2c 20 62 79 20  |y for fonts, by |
000025d0  61 64 64 69 6e 67 20 6f  74 68 65 72 20 64 69 72  |adding other dir|
000025e0  65 63 74 6f 72 69 65 73  20 74 6f 20 46 6f 6e 74  |ectories to Font|
000025f0  24 50 61 74 68 2e 0a                              |$Path..|
000025f7