FontFacts: Secrets & Tips (C) Copyright September 1987 by Lion Kuntz Lion's Amiga Art Studio POB 42252, San Francisco, California, 94142 (415) 863-1781 BBS, (415) 431-1799 Tech Support Phone Amiga fonts are the cornerstone of Desktop Publishing, and the single most vital ingredient in Desktop Video presentations, but seem to be considered of little or no value by many. Even programmers who set out to create the world's most impressive page make-up program seem not able to understand how to make using fonts in their program easy and painfree. Programmers who sell their product as being useful for Business Presentations, Video Titles, and Flashy Sexy Advertising designing forget to let the user have an easy way to load and use fonts. Why has there been so much mystery surrounding fonts, and why has it been the last feature of the Amiga to have some standardized way of being accessed? I served in the graphic arts field as a real typographer, art director, and editor, for small local magazines and newspapers, and I had to select typestyles, hire type shops, and proofread copy before print. I would like to explain some of the differences between typography and Amiga Fonts, and the differences between various Amiga programs which use fonts. Everyone knows about Guttenberg, the first mass production printer, but how many people know that the whole alphabet had not been invented yet in Guttenberg's time? The letters "J", "U", and "W" were spoken but not printed until several more centuries later. The written language, and written communications, have continuously evolved for the past 100,000 years, and the Amiga is a continually evolving example of the latest efforts to provide communications between persons. The Amiga screen is a painting using electron beams guided by electronics, constantly being refreshed or changed 60 times per second. There are three electron beams: Red, Green, and Blue, and they travel across the face of the screen drawing lines of dots of color glowing behind them as they go. Because of this it is possible to change the Typefaces and look of the printed word much faster than the eye can see. The Amiga has animated fonts, color-cycling fonts, multi-color fonts, scrolling fonts, and more. The user only sees the dots of light on the screen and never knows about the differences used by the programmers to produce those effects. It can be frustrating to find that fonts may not be compatible with some programs, or the printout may look considerably different than the screen image. First let me define "FONT". A "FONT" is a single instance of a set of characters in a single size, with one single picture of each character in the set. A Font may have only one character, or it may have hundreds, or any number in-between. On the Amiga computer there are a number of different kinds of fonts. There are two "ROM-fonts", Topaz 8 and Topaz 9. These are always available in memory for all programs to use, and are part of the KickStart operating system. A second, more common type of font is "DISK-font", and is software modules stored on disk, and loaded into programs on request. A sub-category of DISK-font is COLOR-font, which shares all the qualities of a standard DISK-font, but adds information about additional colors to embellish the characters of the font. Other forms of font is the "STROKE-font" and the "POLYGON-font", which differ from the above fonts in important ways. Most Amiga owners will be concerned with using DISK-fonts. These are the ones you will be using in your Deluxe Paint II, PageSetter, Publisher 1000, City Desk, Shakespeare, Deluxe Print, Notepad, Deluxe Video, Images, Express Paint, E/FX, WordPerfect, Fast Fonts, TV*Text, SetFont, VisaWrite, ProWrite, Genlock Titler, and to some extent with CGI Pro Video, and Aegis VideoTitler. New programs are coming out weekly, so there are more and will be more programs to use DISK-fonts. DISK-fonts are sets of software data which come in three components. 1) Each font has a home directory where there is an important file called the "dot font" file. This is named the same name as the font itself, and has a five character suffix: ".font". 2) Each font has a subdirectory in the home directory named the same as the font itself. 3) Each individual font has a datafile which is inside the font directory which is inside the home directory. The dot-font file serves two important purposes: it is a pointer, and it is an index. As a pointer, the dot-font file simply points to the font directory of the same name as its' prefix. As an index the dot-font file serves to keep an accurate list of what datafiles are actually in the font directory, and some attributes of the fonts found there. The Amiga Operating System makes some assumptions about important things at startup-time, when you put the WorkBench disk in the drive DF0:. Certain ASSIGNments are made at that time, being, SYS:, C:, S:, L:, LIBS:, DEVS:, and FONTS:. Unless you change these the Amiga Operating System will default to the bootup-WorkBench disk, to a directory named fonts, as the home directory of your supply of fonts. If there is no FONTS directory on your WorkBench disk, it defaults to the ROM-fonts. You can change where the system searches for fonts using the CLI command ASSIGN. Please consult a good AmigaDOS manual on the three ways to use the ASSIGN command. Inter/Active Softworks of San Francisco provides an icon to click to enter a new font home directory path from the WorkBench screen, and this FontAssign program is provided with their Calligrapher and other products. The FontAssign program has generously been placed in the public domain by the publisher and may be found at your local users group library or favorite BBS. You may safely store other files in the fonts home directory, since the operating system examines each file for the ".font" suffix to determine which are fonts and which are not. Programmers may employ a direct method of locating fonts, bypassing the operating system. The program may be instructed to take a direct path to some specific location and load font files with some specific names or extension suffix on the filenames. This is rare now but was seen on program disks at the time of the Amiga release, and is still used for some games. Programmers may also decide to use some or all of the information contained in the dot-font pointer/index files. This is the cause for erratic operation between programs as to whether or not your fonts will be successfully loaded or not. An example of a common problem is when people find space cramped on their WorkBench disk they may delete some font datafiles of sizes they never use. They do not rebuild the dot-font file, and the index still records the existence of fonts which are deleted. In this case Deluxe Paint II will find the remaining fonts and provide a list of available sizes which actually do exist. This is because DPaint II ignores the index part of the dot-font file, but uses only the pointer to find the existing sizes. Notepad and Pagesetter, on the other hand, examine the index portion of the dot-font file, and examine the font directory to see that all fonts which are listed actually do exist. If Notepad or Pagesetter find that there is discrepancy they assume that something is seriously wrong with the dot-font file and ignore all fonts pointed to by that dot-font file. In other words, as far as these two programs are concerned, if you delete one size you might as well delete them all, because none will be used until you rebuild the dot-font file. Rebuilding a dot-font file is easy with another utility from Inter/Active Softworks, called FontFixer. Again this is provided free on Calligrapher disk, and other products from the publisher, and has generously be placed in public domain. If your dot-font file is updated correctly, all programs should be able to find and load all sizes of existing fonts in the fonts home directory. If you are using a hard drive for storage of your fonts you will soon discover that your list of sizes grows too immense to be displayed by pull-down menus. You should seriously consider waiting on buying a product which uses pull-down menus for font lists, until the publisher releases a newer version which has a requestor window to select fonts. DPaint II gives an unpleasant surprise if the list grows too long: if the bottom of the pull-down menu touches the bottom of the screen your screen blanks. It appears that imminent GURU failure is due. This is harmless, but it does prevent you from using your fonts. Since there are now hundreds of fonts, completely filling many disks, being able to handle lots of fonts, and swap between disks of fonts, is important to Amiga owners. Programmers have not addressed this problem adequately so far. There is a temporary solution I use, but it has a danger you must keep in mind. By using a trick on the Amiga Operating System you can relabel disks you use for FONTS collections to name "FONTS". The operating system gives a higher priority to disks than to directories. It also ASSIGNs disks automatically while they are mounted, so a disk named "FONTS" becomes a disk named "FONTS:". (Note the colon after the name.) Unless you relabel the disk you will not be able to reASSIGN fonts. But as soon as the disk is inserted it becomes the home directory for fonts while the disk remains in the drive. Take the disk out and your previously ASSIGNed fonts home directory is active again. There is nothing to click, and nothing to type using this method. You can insert and remove disks with different collections of fonts to use in one single project using this trick. The danger in this method is that all fonts collection disks have the exact same name: "FONTS". If you ever forget and insert two disks of the exact same name, you confuse the operating system and it has to go to the GURU to ask advice. Another important thing to remember is to put the disk in the drive BEFORE the system sends out for the list of fonts available in the fonts home directory. Notepad goes looking for fonts before it even gets to the opening screen of the program, so the fonts disk must be in the drive already, or it will only find the ROM fonts. DPaint loads the list when you select "Load Fonts Dir" from the fonts pull-down menu. PageSetter loads the fonts list when you select a document to edit, or select a box to create. To make your special fonts disks you need to keep in mind that the DISK is acting as the fonts home directory. The level of the disk where all directories start is called the root, and it branches, and sub-branches into what they call a tree structure. The dot-font files must be in the root. They cannot be in any directory at all. The fonts themselves need to have their directories also in the root, and the individual font sizes datafiles must be inside their correct font directories as recorded in the index files. This is too much kluging around for the long term, but it solves a problem in the immediate present. To swap lists of fonts anytime is not possible with most programs. Pagesetter loads only the requested fonts and retains them continually in memory until free memory space gets cramped. Even after you exit PageSetter after working with some fonts, re-enter the program and start using a new set of fonts from another disk or directory, the previous fonts remain available for use. With Deluxe Paint II you load one list of fonts upon request and the only way to access another set of fonts is to use an undocumented feature hidden in the "Screen Format" selector. If you change bit-planes and/or resolution in DPaint II you flush all buffers including your custom brush, undo, spare screen, and your LIST OF FONTS! You can load a list of fonts from one disk, use some styles, and go select your currently selected screen format, and be able to load in a new list of fonts to keep adding to your painting. Just clicking "OK" without even changing anything about the size or colors of your screen is enough to flush the buffers. (Be sure you've saved any custom brush you want to use again, or it will be lost by doing this.) By the way, fonts do not use much CHIP RAM, if you have available RAM expansion memory. Only the entry for the font attributes on a list is consumed, so you can keep lots of fonts in memory without interfering with other programs use of CHIP RAM. The Amiga Operating System version 1.2 and earlier have a feature to allow fonts which have once been used by any program to continue to remain in RAM without being deleted, and be available for fast access by any other program running without reloading from disk. If loaded fonts are not actually being used by any program the fonts are deleted if there is a need to use the RAM memory. So it doesn't really hurt to leave them behind on program exit, and it may be a user-friendly thing to do. Unfortunately, some people with memory monitors complain that programs do not "free-up" all the memory they use upon program exit. This is a bad reading of the true availability of the memory upon any programs genuine need, and it saves future font access time. Programmers should not necessarily cater to the "clean exit" crowd, because evidently these people have more free time in their lives to listen to their floppy disk whir reloading data which could have harmlessly remained in memory. The advantages of making fast exits of a program to do something else, and re-running the program and finding all your fonts and font library still remaining outweigh the joys of seeing bigger numbers on a memory monitor. Pagesetter leaves the fonts behind, most other programs clean them out before exit. The fonts themselves are a series of pictures, usually letters of an alphabet (the alphabet may be roman, greek, russian, hebrew, or scientific symbols, etc.), punctuation, numerals, and other symbols. Each font comes in a single size, described by the font height from the top of the character space to the bottom of the character space. The font may be fixed width, meaning every letter gets the same number of units wide as every other letter. The units of width and height are the pixel, or "Picture Element". The pixel on the Amiga may be one of four possible sizes: Low-res, Interlace, Med-res, or High-res. Some fonts are specifically designed to look correct in a specific resolution mode, and may have the attribute of TALLDOT or WIDEDOT in the dot-font file to assist programs looking for the best fonts to display in a particular resolution mode. The "point" is the term for the pixel dots. It derives from the centuries old typographer term of the PICA POINT, or 1/72 of an inch. Modern dot-matrix printers using 24 pins produce 72 dots per inch, or pica points. The pixel is not fixed, however, and will be tall or wide, depending on the currently selected resolution mode. So points on the screen will not correspond to points on paper printouts. First let's examine fonts on the screen so we can understand how to get our best printouts. Then we can look at the alternative ways to get hardcopy with satisfactory results. Most Amiga DISK-fonts will be "proportional" space fonts. This means every character will get the portion of space necessary to produce a correct looking character. The lower case "i", the period ".", and some others will get little width of space because the need little. Capital letters, like "M", and "W", will get more space because they are naturally wider. These characters need to be designed this way when they are created. Some programs cannot accept proportional width fonts, like CLI and NEWCLI, ED, EMACS, SCRIBBLE!, TEXTCRAFT, and many more. There are ways to force these programs to use proportional fonts, but you can get pretty bizarre results if you do it. Fixed width fonts are useful in programs which count columns of characters, line up columns of figures (like a spreadsheet), and that sort of thing. Many programs do not use any fonts, per se, although you might ask "what the heck is that on my screen then?". Programs interface to the user through terminals: an input terminal, an output terminal, and an error terminal. These are "virtual" terminals, or imaginary ideals, and are treated like files by the operating system. The system sends output to the screen as if it were storing a file on a screen-disk. It reads the keyboard like it was loading a file in from a keyboard-disk. It can just as easily read a file in from RAM-disk and output it to the printer (or printer-disk). The program doesn't deal with fonts in this case, only the screen-disk translator of the operating system. The program has no recognition of the existence of fonts, although the programmer must take them into account to some extent. You can jam in a program to intercept the output going to the screen and replace the pictures of characters with your own font set of pictures of each character. SetFont does this, with occasionally troubling results. Output to the printer is intercepted by the printer ROM and it substitutes its own pictures for each character received. The pictures of each character on the screen are stored on ROM or DISK as fonts, and the position of the current location of the cursor is used as the starting point of the place to draw in the picture of the character. The screen is mapped, with the top left corner of the screen being the usual starting point, and rows are the lines of dots across the width of the screen, while columns are the lines of dots from top to bottom of the screen. Counting rows and columns gives the location to begin drawing the character. This is called "BIT MAPPED GRAPHICS". Each bit, or pixel dot is mapped to one unique location on the overall screen or window. ROM-fonts and DISK-fonts are bitmaps. There is a picture somewhere used as the master that is copied to the position each time. Normally font bitmaps are not compressed, or compacted, in any way, and may use a lot of memory to store the collections of pictures which make up a large font. The theoretical limit on the maximum size of a font is 16 megabytes, but more practically 5,000,000 bytes is the limit with existing font creation tools. This ultimate size would require a hard drive to store the font, and of course RAM expansion to load it in. I make fonts larger than can be used on a 512K Amiga, and problems can result with programs which are not written to allow space to load and use several large fonts. The Amiga uses the monitor as a viewing window into RAM memory, and the bitmapped graphic screen can be much larger than the video viewing area. Page make-up programs, and some paint programs do this. You will only see the the part of the whole bitmap which appears on your monitor, although you can scroll around to see the hidden parts. Your resolution mode will determine how many rows and columns of the bitmap will be visible at any instant. In high resolution you can see 640 columns of pixels in the normal viewing window. In interlaced mode you will see 400 rows of pixels. It uses more hardware resources to view 640 columns of pixels, so that restricts your number of colors to a limit of 16. In low resolution you can get 32, or upto 4096 colors. Desktop publishing (or page make-up) software usually uses the 640 pixel wide mode to fit more information into the width of the screen, and usually uses non-interlace to avoid the bothersome screen jitter. Most programs also use a limit on the colors to 4 or 2, to make more memory available to the page displays. This is usually chosen because color printers are not as available to the users, and mass reproduction is usually done by black and white lithography or xerography. A 24 pin dot matrix printer produces 960 dots per 8 inch wide line of printout. If your page is not exactly 960 dots wide on your bitmapped graphic screen, then there will not be a one-to-one correspondence of printed dots to screen dots. "Scaling" will have to be performed. If your bitmap is 320 dots wide then exactly 3 dots wide will be printed out to represent each one dot on your dot-matrix printer. If your bitmap is 640 dots wide then you will need to print out 1.5 dots on paper for every dot on the graphic bitmap. Printers cannot print half a dot, however. Printers can only print or not print a dot, so the program either prints out the image 640 dots wide as a 2/3rds wide image with a one-to-one correspondence, or it prints every other dot twice and the intermediate dots once. This fattens some columns of the print out and not others. It can be minimal in effect or ruinous, depending on your degree of perfectionism. Scaling is even more difficult to predict if your bitmap is an odd size in width, say 723 pixels wide. You will not get WYSIWYG, and will have to test print it to determine if your result will be acceptable for your needs. Page make-up programs take this into account, and usually provide a page width that corresponds to 24 pin printer lines. None of the bitmap can be successfully printed unless your printer supports a graphics mode to accept screen dumps. Which brings us to the subject of printer drivers and preferences. The system dumps graphics to the selected printer port, either parallel or serial, as if it was saving to a disk. The printer driver reads your preferences and prints accordingly. So preferences must be adjusted to match your desired output. Deluxe Paint II loads up your preferences file, but allows you to over-ride this at print time through a requestor window. You may decide to print in grayscale even if your preferences are set to color or B&W. Pagesetter on the other hand refuses to print if preferences are not set to B&W, even though my printer produces better blacks if I print out using the color preference! The third screen back in the preferences program determines if your bitmap printout will be printed sideways or normal horizontal. Again scaling is performed to translate the number of dots in the bitmap to the number of dots in the printout for sideways printing, usually expanding the dots considerably. The threshold value determines if light colored dots will be ignored, and skipped, printing as "white", or whether they will be printed dark, even as full black. You really need to do some experimentation here to find you favorite, but PageSetter requires that it be set at 2 or 3 for the default page settings. The width and height of the bitmap printout will be affected by the settings for your margins with some printers, and not at all for others which ignore margin settings. The number of lines per inch, and number of characters per inch settings will affect the scaling done by the printer drive, in addition to any scaling done by the program producing the bitmap. It is best to set for 6 lines per inch (lpi) and 10-pica for pitch. Let the program alone do the scaling, unless you need reduced size miniature printouts, then let preferences do additional scaling through the printer-driver. Experimentation with a variety of programs and a variety of bitmaps is the best thing you can do to get predictable and consistent outputs. Fixed width fonts are pretty simple things. Each character has a rectangle of space for the font artist to draw the picture of the character. Any space between characters must be left in by the artist. The program which displays the pictures may use destructive techniques to copy each character into position. This means that the invisible background color may erase anything already drawn in the position the new character copy occupies as a rectangle. They may also be non-distructive, in that a character may overlap some previously drawn picture or character without erasing the portion of the new character drawn with the transparent background color. Programs which do not use fonts normally produce distructive lines of text obliterating the area underneath their image in rectangular blocks. Programs designed to use fonts normally let you overlay text on top of previous images. Proportional width fonts include factors which allow non-distructive overlap of characters on each other, for special purposes. There are settings which are adjustable for each and every character of the font which determines how closely it will fit to the character before it and how closely the one to follow will be placed. Kern is the typographers term for precise fitting of a character to the one to the left of it. There are character pairs which look odd or incorrect if they use the same distance between them as they do between other characters. I must digress a moment before continuing on Amiga specific typography to cover general computerized typography. For more than a decade there have been microprocessor controlled typography work stations. The microprocessors employed have been 8-bit devices, with only 16, 48, or 64 kilobytes of memory to run them. In other words, these very expensive machines have had the equivalent of an Apple II, a Radio Shack TRS-80, or a Commodore-64 as the "brains" of these work stations. The major part of the expensiveness has been the back-end, or the type fonts on wheels, drums, and film strips, and the positioning and exposure mechanisms. The computer part is relatively simple and cheap. These devices produce "leading", "reverse-leading", "kerning", "discretionary hyphenation", "auto-hyphenation", "letter-spacing", "justification", "flush left", "flush right", and other features. Twelve years ago CompuGraphic Corporation wanted to sell me the ExecuWriter desktop typesetting machine for a retail price of $2000, which could produce output far superior to any laser printer now selling at any price. So if I seem to be annoyed that Amiga programmers are not always providing all the features which I expect, and which the Amiga operating system provides handy tools to easily implement, perhaps you'll forgive my impatience. These problems were solved in software long ago! Kerning usually involves a look-up table of about 300 pairs of letter combinations. Each time the computer program detects one of these combinations it replaces the picture of two separate characters with a single picture of two characters combined. Amiga kerning involves a positive or negative number of points where the left edge will be positioned relative to the cursor current position. This does not take into account any previous character, or even if there is one there at all. If a letter with a kern number of 3 is at the left margin it will be drawn 3 pixels off the left side of the screen and only the part showing on the screen will be drawn visibly. This is not very useful for most characters, and really is only useful for special foreign language symbols, and scientific or mathematical symbols which must be composed of parts joined together. The kern amount is individually adjustable for each character in a font, and only applies to proportional width fonts. The kern affects the left edge of the character. The character width affects the amount of space from the left edge to the right edge, and determines how much space exists to contain the picture of the character. Again this is only used in proportional fonts, and is individually set for each character. On the right side of the character there is a factor called "space". This is not in any way related to the blank character you get if you press the keyboard spacebar. The space character is a font character just like every other character, and just has all pixels in the picture drawn in the background color. It has a definite width just like all other characters, and it has "space" just like all other characters which may ne included in a font. What character "space" is is a factor setting for each character which determines where the cursor position will be placed at the end of drawing the character. Space will affect where the next character's left edge starts, and will be factored in with other items such as kern. So kern, width, and space all combine to determine how a character will fit inside a word relative to the characters on each side of it, each with their own possibly unique kern, width, and space. In Guttenberg's time of setting type using physical characters cast in metal to be re-usable, there was no such thing as "reverse-leading". Two physical objects could not occupy the same space, so each line (or row as we call it) had to be a minimum distance from the previous and next line. You could increase the space between lines by adding physical objects to add separation, and what they did was use metal which could be hammered very thin: the metal lead. These additional points of separation between lines of text became known as points of leading, and were measured in pica points (72 per inch). With photo-typesetting and computerized video fonts came the possibility of some overlap between the bottom decenders of characters (like gjpqy;,) with the top of the next line, since it was no longer physical objects. Reverse-leading and leading permitted columns of lines of type to be squashed or stretched to better fill an exact allotment of vertical column space. This is often necessary when the amount of words does not fit in the limit of the physical printout space for it. With the Amiga, points of leading are pixels and cannot be sub-divided into half points like you can for typography, although points are resolution dependent and will vary if interlace is on or not. Amiga fonts get a uniform number of rows, or height in pixels for the letters to exist within. All letters of a font have the same vertical height, but the characters do not need to be all the same size within the font. Fonts are stored in their directory, and named by height size, so the newest creation always destroys the datafile of the previous font with the same name as a point size. It is possible to store more than one font in the same size if the fontname has an extension prefix, but many programs only expect one font per size, and may list all the font sizes with their prefixes, but only load the first occurrence they find with the size prefix requested. In other words, other choices may be there but totally inaccessible with your program. Unless the program provides user over-ride of the height factor, each line of text begins precisely at the next pixel down from where the previous one left off. If there was user control it might be called "leading" (pronounced LEDing), or "line spacing" or such. Programs which allow mixing different fonts on a line of text are rare, and there may be three ways they determine how to position the character: by the top-left corner of the font, by the bottom-left corner of the font, or by the left side and the baseline. This opens up an area of confusion for programmers because there is no standard from Commodore or the industry, so there is now way for font artists to design fonts to be usable the same across all programs which mix fonts. The baseline is a global factor of a font, like the height, which is the same for all characters in a font. The font need not be drawn on a baseline, for example, a font which provides superscript and subscript character options may have the characters drawn above and below the baseline. But the baseline will be the same distance in rows from the top for every character. Underlining a font with subscripts may have the underline pass right through the subscript characters instead of under them. Software underlining uses the baseline to determine where the underline should be placed. It is a one point tall line the width of the character two pixels below the baseline. fonts created with the baseline at the bottom of the font height will crash the system when software underlining is selected. It will corrupt memory below the area the character pictures occupy. The baseline is used as the point where all the capital letters ascend from. Other typographers terms you may encounter are the "x-height" of the letters is the uniform height of lower case letters without ascenders. "Ascenders" are those parts of lower case letters which go above the x-height (like bdfhijklt). Decenders were previously described. Incidentally, printers using pieces of reusable characters cast out of metal kept them in large cabinets of shelves of slide-out trays. The letters we call "capital" letters were kept in the top tray, or case, and the one below it held the smaller letters or lower-case. Here's where we get the still used terms for the big and small letters of the alphabet: UPPER CASE and lower case. A recently invented form of Amiga DISK-fonts are COLORFONTS. This was invented by Inter/Active Softworks of San Francisco, California. Their Calligrapher program is a font editor which allows you to create and modify standard Amiga DISK-fonts, and to control every aspect of every character in your fonts. With the introduction of the CALLIGRAPHER they introduced a new type of Amiga DISK-font which allows 16 colors per font. These colorfonts have been designated a new IFF type by CBM, and the code to activate these colorfonts in all programs using DISK-fonts will be included in the proposed 1.3 version of the Amiga Operating System. In the meanwhile new Amiga programs are including the code to activate colorfonts, and the first such program to arrive on the market was PRISM, a HAM paint program from Impulse. Calligrapher and other products from Inter/Active Softworks include a temporary patch program called "COLORTEXT" to allow use of colorfonts in all programs which allow both color and disk-fonts to be used. The Calligrapher is a low cost font editor selling very well and I expect a lot of public domain color fonts, as well as many commercial color fonts produced by fine artists to be available for your Amiga pleasure. Page make-up programs which restrict the user to B&W will not permit use of colorfonts, and attempts to use them will be ugly failure. Professional Page by Gold Disk (PageSetter), and Shakespeare by Infinity Software (Grand Slam Tennis, Gallileo) are two products being readied to do color page make-up which will allow use of colorfonts. The COLORTEXT patch will not be needed by these new programs. COLORTEXT is copyrighted, and may not be redistributed. At the present time it is limited to being obtained from Inter/Active Softworks products, and I have a license to include it on my "Lion's Amiga Art Studio" products. There is a public domain version of colortext which shows a preview of what you would see, excepting it eliminates the vowels AEIOU in the display, and this demo version is freely available through users groups and BBSs. Other Amiga fonts to mention, for completeness sake, are PFonts from Sparta, and Stroke font from Aegis. The PFont is a polygon font structure describing a logo-like, or turtle-graphic type of font which is scalable on the screen, and may be stretched or squashed at will. It is used in Aegis VideoTitler product. A similar concept of font is included as objects on the Aegis Videoscape-3D disk as separate characters in 3D. The stroke font is used in Aegis Draw CAD program and is one pixel wide strokes making the letters which is scalable depending on your zoom view. Ultimately these are all dumped to printer as bitmap representations of the screen bitmap, and suffer all the scaling problems in hardcopy as the others. Draw however supports pen plotters which can correctly reproduce the stroke font. TEX is a device independent font system, which adapts to the particular limitations of the Amiga display, and is also output device independent to the extent that it can be output to a number of devices and give approximately similar output on plotter, printer, laser, or phototypesetter. If output to dot-matrix it again suffers every limitation of every other type of font in the scaling of pixels to printer dots. Postscript is a page description language. It is widely used in desktop make-up programs on other computers, and there is LaserPage (PageSetter), and City Desk for the Amiga which produce output files which can be directly sent by cable or modem to laser printers or photo-typesetting machines which support the PostScript language. PostScript is another language that is turtle-graphics like in its' construction of each character of the alphabet, and is device independent. There is much debate as to whether PostScript is the best of many Page Description Languages, but it was adopted early on by Apple for the Apple LaserWriter printer, and is very popular now. With PostScript you cannot truly preview what you will see on the output, but you get an approximation on the screen bitmap. Special bitmap Amiga disk-fonts are used to fill in the lines of type with something which looks similar to the output type fonts the PostScript device will produce. There are serious errors in how much width lines of type will need, and in how much vertical column space will be filled by the final text printout. Here's another example of a place where much experimentation will finally make you an expert. Laser printers use a laser diode device to demagnetize the non-printing areas of a xerography drum. The printing is done like regular xerography, and the image detail is limited to about 300 dots per inch. That is 300 dots per inch wide times 300 dots per inch tall, for a total of 90,000 dots to print a 1 inch black square. This is about four times more detail resolution than dot matrix, but only about 1/4th the resolution of the cheaper photo typesetting machines. For people who are used to office typewriters and office xerography machines this is a wonderful improvement. For typographers this is proof copy, unsuitable for ever showing the the public proudly. Amiga owners with dot printers with square dots, which print in a good dense black image can get laser quality images by printing out four times larger than their final image size and reducing the image at your local copy shop. As you reduce the image the jaggie stairstep dots are similarly reduced. A 25% reduction will give you a final image of 1/4th size. Your 72 dots per inch will now be 288 dots per inch. The final output from a cheap xerography reduction will be the same as for the laser printer since they both use xerography to get the black on the paper. Low cost xerography copiers usually have a setting at 64% minimum and a reduction of a reduction will end up 42% size. This should be plenty good enough to impress anyone who finds a laser printout impressive. Laser printers are fast, quiet, and cheap per page spread out over the life of the unit. Most Amigas can only justify a dot printer on the desktop however, and this is a good cheap alternative to the high cost of laser printing. One other point should be mentioned: the stock laser fonts were never designed to be used in tiny text sizes. They were designed by master typographers each for specific purposes and hired to do this by major institutions. Nobody ever hired or paid anyone to design any fonts which would be readable and easily comprhensible by readers especially to match the limitations of the laser printer. There is a lot of disrespect for professional type designers, and it is not understood what is involved in the process. The typefont used in printing your Bell Yellow Pages took four years, and was not designed for any other purpose or use. It was designed to match the size needed by the customer and survive the hazards of printing ink on thin sheets of paper with showthru from the other side of the page. Certain aspects of the characters are deliberately exaggerated to make the words easier to read in cramped lines of type. Another case is Herman Zapf who is a famed designer of some of the world's most used typefaces took seven years to complete the design of "Melior" font. Here is a man who has created many fonts over a long lifetime career of being a typographer, yet wasn't satisfied with all aspects of it until longer than the lifetime of the the Apple laserWriter.