Fontasm 1.0 Documentation. Copyright (c) 1988 by Stephan HADINGER. All rights reserved. This documentation and the software described in it are developed and copyrighted by Stephan HADINGER. (c) 1988 TML System, Inc. Certain portions of this software are copyrighted by TML Systems, Inc. Hardware requirements: - An APPLE IIGS* with at least 768K. - A 800K 3.5" disk drive. - A printer (optional). Firmware requirements: - ProDOS 1.5 or later and the associated tools (System Disk 3.1 or later), or any GS/OS version. FONTASM is compatible with GraphicWriter 2.0, MultiScribe GS, Medley, AppleWorks GS, DeluxePaint, PaintWorks Gold,... Thanks to : B. FOURNIER, S. BONAZZA, Y. KOENIG and my parents for their help. Apple II, Apple IIGS, Macintosh, ImageWriter, LaserWriter are trademarks of Apple Computer Inc. PostScript is a trademark of Adobe Systems. AppleWorks GS, MultiScribe are trademarks of Claris. Fontasm is a ShareWare software. This means that you can copy it and give it to anyone freely. But when you receive it, you can use it freely during two weeks. Then if it satisfied you and if you wish to use it longer, please send a $20 check to : S. HADINGER 8 grande rue B2 69340 FRANCHEVILLE FRANCE You will then registration letter and I will make you know any future enhancements or new versions of this soft. Otherwise, if you don't want to keep Fontasm, just delete it. N.B. : You must never change anything on the FONTASM-disk if you give it to someone else. I would be glad to know your opinion about Fontasm, what you like in it or not, what enhancement you wish. Please tell me if you have discovered any bug. All known bugs have been yet removed. Fontasm represents a great amount of work, over 5500 PASCAL lines and 500 ASSEMBLY lines. I am a French 19 years old student and I have made Fontasm alone so it is only with your help that I can continue writing such programs. Thank You This disk contains both French and English versions of Fontasm, the French version is in the file "FONTASM.F.SYS16". Introduction. The FONTASM program for Apple IIGS is the perfect complement for a GS specific word processing program. It allows you to edit, customize and create standard font files which are used in all GS desktop programs and word processors, and it offers a smart cut/paste feature for character managing within a font. Its only limitations are your computer's memory and the size of the character which must not exceed a 128 * 128 dot matrix size. You will boost your word processor to its limits and achieve better printing quality with ImageWriter printers because it will correct all your fonts (and they need it). Its unique auxiliary font feature permits you to create mixed fonts which contain characters from a font and others from another font. As a bonus, it also gives you the ability to easily print your complete collection of GS fonts, to repair damaged fonts. It will also help you converting Macintosh fonts into the GS font file format. Chapter 1. About fonts. 1.1 The font files. Fonts are ProDOS files (file type $C8) which have the Font icon when you are in the Finder. Each font file normally contains a complete character set, which includes normal ASCII characters, special Macintosh-style characters and international characters. It may however contain some logos or icons. The font file format has been defined by Apple Computer so it is now a standard on Apple IIGS. Nearly all GS desktop programs (especially word processors) use this file format, either by accessing them directly or by using the Font Manager (TOOL027). This avoids chaos of font standards as it appeared on the original Apple II. In order to use these fonts in any Apple IIGS program you must put all the fonts you will need in the SYSTEM/FONTS folder of your boot volume. Then reboot so that the Font Manager recognizes them. However this does not apply to FONTASM which can use any font file in any folder, since it does not rely on the Font Manager to load fonts. The GS font format is not very different from the Macintosh font format so it is quite easy to convert Macintosh's fonts to GS' fonts (see section 9.4). 1.2 Terminology. Fonts are divided into several categories which are called Families. A font family contains all fonts whose characters have the same type of drawing. For example : Helvetica, Times, Script, ... are font families. Each font family has a generic number which is unique and specific to this family, it is called the family number. For example the Helvetica family has the family number 21 and Shaston -2. Different fonts of a same family must have the same family number and exactly the same family name (each space, capital or small letter and symbol counts). You must not use fonts which have same family number but different family names or vice-versa, otherwise you may cause big troubles to the Font Manager. In a given family, fonts may have different sizes which represents the size of the characters they contain. Font size is an integer number given in typographic Points. A Point is about 1/72 inch. However the font size is a theoretical size that you, and the font designer, arbitrarily decide. It may not reflect the true size of the characters. So characters of given family with a size of 9 may be bigger than other characters of another family with a size of 12. Warning : You must always keep a font family coherent. Different fonts of a given family must have a size that reflects their actual size in front of the other fonts of this family. For example Helvetica 24 must always be twice as big as Helvetica 12, and Times 18 must be about 1.5 time as big as Times 12. A font of a given family and a given size may also have style modifications. It is an alteration of the characters' drawing such as Bold, Underline, Italic, Outline, Shadow which are the currently defined style modifications. These style modifications are cumulative. You should not be too worried with style modifications since most of the font files are originally Plain, that is without any style modification. You may apply all modifications later in your program or in a word processor. 1.3 ImageWriter printing, a bit of Warning. If you use Apple's ImageWriter* printer or any equivalent dot-matrix printer (not PostScript laser printers) you should be careful about font sizes. When you ask for normal quality or draft printing there is no problem. But when you print text and you choose the superior quality in the print dialog, the Font Manager will substitute the font you are printing with the font of the same family with a double size (if a such font exists). It then reduces the font image and prints in a 144 dots-per-inch resolution instead of a normal 72 dots-per-inch resolution. This gives a far better printing quality. So you must maintain a very strict correspondence between a font of a given size and the font with the double size. You may however have problems during superior quality text printing such as bad justifying or underlining being cut between words, even if it looks good on the screen. This happens because the characters' width of the nominal font are not exactly half the width of the characters' of the double size font. To repair this, use the 'Adjust a couple of fonts' option in the utility menu (see section 9.3). Warning : To achieve good text quality printing with a dot matrix printer, always use the vertical condensed option in the page setup dialog of your program or word processor. If you keep the normal vertical resolution, the characters will look too tall on the printer. But if you choose the vertical condensed option, the printing will be the same quality as the Macintosh printing. 1.4 LaserWriter printing, a bit of warning. If you use the LaserWriter, LaserWriter Plus, LaserWriter II or any equivalent PostScript laser printer, you must not modify font files from a font family which exists in the laser printer as PostScript fonts. When writing characters on the screen, a word processor uses the font files called bitmap fonts. In the font files, the characters are drawn using a dot matrix of variable size. So when using FONTASM, you will change only these dot matrix drawing. This causes no problem when printing on a dot-matrix printer since it also uses these bitmap fonts. But a laser printer has its own internal fonts which uses vectorial font definitions, and give it the ability of drawing these fonts at any size you want. So if you change the bitmap fonts corresponding to these PostScript fonts, you will change the characters aspect on the screen but you will absolutely not change the laser printer's fonts. You will have differences between the screen and the actual printing. So please do not modify font families which have a corresponding PostScript family. These font families and their family numbers follow : (LaserWriter fonts) - Times* (20). - Helvetica( (21). - Courier (22). - Symbol (23). (LaserWriter Plus fonts additive fonts). -New Century Schoolbook* (34). -ITC Bookman( (14). -ITC Avant Garde( (33). -Helvetica Narrow (15). -Palatino( (16). -ITC Zapf Chancery( (18). -ITC Zapf Dingbats( (13). Chapter 2. A quick start-up. 2.1 Using the finder. Just boot the 3.5" disk containing Fontasm and the Finder should come up. If the Fonts folder is not open, i.e. if you don't see any window with the 'Fonts' title, open the 'Fontasm' disk (double-click on the item you want to open it when you are in the Finder), open the 'System' folder, then open the 'Fonts' folder. You should now see a window with the 'Fonts' title, containing several file with the font icon, they are the font files. 2.2 Font editing. Open a font file (by double-clicking on it) and it will automatically launch Fontasm. Wait a few seconds while Fontasm is loading. You should see a welcoming window, and then the blue desktop appears with a menu bar on top of it. Don't do anything, you will notice that the disk drive is still working because FONTASM loads the font you have opened. A window appears asks you to wait for a few seconds. A blue bar is growing rightward in the middle of the window. When the blue bar reaches the right edge of the rectangle it grows in, the window disappears and another window comes up showing you three lines of height columns. You are now into the selection window without doing anything, see how it is easy to use. You can use the vertical scroll bar at the right edge of the selection window to make the character you want to edit appear. The plain green rectangles mean that the corresponding character is currently undefined in the font you are working with (see next chapter for more details). When you have found your character, just double-click on it and you will come in the character window. The big left window is the window you draw in, the 'reduced view' window shows you a reduced view of the character you are currently drawing, the 'clipboard' window is only used during cut/paste operations. You can draw or modify the character by simply clicking in the character's rectangle to draw a dot, or maintaining the button pressed and moving the mouse to draw freehand lines or whatever drawing you want. Release the mouse button when you have finished. You can draw other points or lines by repeating this sequence. If you have made a mistake, you can come back to the character preceding your last drawing operation by selecting the 'Undo' option in the 'Edit' menu. When the character is finished or when you want to abort editing, just click into the window's close box. You will be asked if you want to save back the character before leaving. Answer Yes or No by clicking in the corresponding button, or click in 'Cancel' if you want to go back to the editing. If you leave the editing you will come back to the selection window. You can edit other characters as you like, or view the entire font at once by selecting the 'Display font' option in the 'Font' menu. To save the font, use the 'Save' or 'Save as' option in the 'File' menu. 'Save' will save the font back to the file you have opened. 'Save as' gives you the ability to save it in another file or on another disk. To edit other fonts use the 'Close font' option of the 'File' menu, then the 'Open' option in the same menu and select the other font you wish to edit. To go back to the Finder select the 'Quit' option in the 'File' menu. 2.3 Font viewing. When you are in the Finder click on a font file, it appears highlighted, and choose the 'Print' option in the 'File' menu. It automatically launches Fontasm. Wait a few seconds while Fontasm is loading. You should see a welcoming window, and the blue desktop appears with a menu bar on top of it. Then Fontasm loads the font you have selected and displays it in a window. It is ready to be printed. The print command will print what you see in this window. Before printing select your printer with the 'Choose printer' item of the 'File' menu. Then select the 'Page setup' item in the same menu and choose the 'Vertical condensed.' option in the page setup dialog. You can also select the 50% reduction mode if you like. Finally select the 'Print' command in the same 'File' menu. You don't need to select color printing. Whatever printing quality you choose, Fontasm will replace it by the draft mode printing which gives best performance when using an ImageWriter II dot-matrix printer ; this does not apply to laser printers. After clicking in the 'OK' button, another windows appears asking you if you want double-width printing. Select double-width printing if you have chosen the 50% reduction mode in the page setup dialog, otherwise you should not select it. Turn your printer on, make sure it is connected to your computer, and click in the 'OK' button to make the printing start. To view or print another font, click in the close box of the font window, choose the 'Display font' command in the 'Utilities' menu and select it. To go back to the Finder select the 'Quit' option in the 'File' menu. Chapter 3. Getting started. 3.1 The program. Fontasm is a standard ProDOS 16 (or GS/OS) application of about 80 kilobytes. It is not copy protected and it can be installed on 800K floppy disks as well as on hard disk drives. To install it on a hard disk drive, copy the 'FONTASM.SYS16' and 'FONTASM.BOOST' files which contains the program from your original disk to your hard disk drive. N.B. : It is very important that these two files are in the same folders If you use the finder you may also copy the 'ICON.FONTASM' file located in the ICONS folder of the Fontasm disk, into the ICONS folder of your hard drive. This file contains Fontasm's icon and it will allow you to launch Fontasm by simply opening a font file. You may use Apple's Icon Editor to customize this auto-launching facility. Note : when, in this document, I refer to word processors, I mean GS specific word processors which use the standard tools for screen displaying and printing. It does not apply to word processors which work on Apple II computers other than GS (e.g. AppleWorks GS, GraphicWriter II, MultiScribe GS, Medley,...). 3.2 System version. You must use at least ProDOS 1.5 or later and its associated tools and drivers that you will find on the System Disk 3.1 or later (don't use prototype versions). I recommend you GS/OS which is Apple's future operating system and which is faster then ProDOS 16. If you have booted with old tools, an alert window will appear when launching Fontasm, asking you to boot with the correct system version. 3.3 Always work on copies. Fontasm is not copy-protected so the first thing you must do before using it is to copy the disk, with the Finder or whatever disk utility you want. Then put the copy in a safe place. Before using Fontasm, make also copies of all the fonts you plan to modify or repair. This avoids accidents, and when a font is modified on disk, you cannot go back to the earlier unmodified font. 3.4 Error handling. Whenever an error occurs, Fontasm displays an alert window signaling you this error. Disk errors such as 'Disk protected' errors, Tool errors such as 'No memory left', or Fontasm specific errors (see Appendix B) such as 'Font too large' are all displayed. Click in the 'OK' button or press "Return" when you have read the error message. There are two error levels. - When the first line of the alert window is 'Error' or 'ProDOS error', this means that the current operation has been aborted and cannot be completed. - When you just see the 'Warning' message, Fontasm warns you that something unnormal happened, but it could correct it and the current operation can be completed. 3.5 The auxiliary font. Fontasm offers you a convenient feature of copying the current font into an auxiliary font (see section 6.7). This auxiliary font will not be erased until you explicitly ask it or you quit Fontasm, even if you close the current font and load another. Then with any other font, you will have the possibility to recall characters individually from the auxiliary font and to copy them into the current font (see section 7.4.5.4). This is useful when you want to create a mixed font containing characters from a given font, and other characters from another font. 3.6 The non-breaking space. Every font must contain the normal space character (ASCII code = 32), and should contain the non-breaking space (ASCII code = 202) -which is not always the case-. The non-breaking space looks like the normal space but if it is placed between two words, a word processor will never cut these two words. It is very useful to write, for example, APPLE II without having the word Apple at the end of a line and the II at the beginning of the next line. Whenever Fontasm detects that in a font the normal space or the non-breaking space are undefined, it opens a dialog window asking you to enter the new spaces' width. This is equivalent to the 'Spaces...' command of the 'Special' menu. 3.7 Undefined characters. Fontasm permits you to edit all the 255 characters which can be defined in a font file. But most fonts contain undefined characters. They appear as plain green rectangles in the character selection window. The number of undefined characters may vary from fonts to fonts. When programs try to draw undefined characters, they are replaced by the undefined replacement character. This replacement character is located at the first position in the character selection window, the equivalent of the Null character (ASCII code = 0), and it is named 'Undef'. 3.8 Menus. Fontasm's menu bar offers you several menus which are described in details in the following chapters. All menus are specific to Fontasm except the 'Edit' menu which can also be used with new desk accessories (NDA), and the Apple menu. The Apple menu contains the 'About Fontasm...' option which opens a dialog window showing you the current Fontasm version and the copyright notices. The two following options '640 x 200' and '320 x 200' can only be used when displaying fonts (see section 9.1). 3.9 Font's height. All characters of a given font have the same height (in pixels), even if they are not drawn using this whole height. There may be some blank areas on top or bottom of any character. Thus when using fonts in a word processor, all characters of a given font will occupy the same vertical distance, CAPITALS as well as small letters or symbols. The height of a font is a constant that you may only change using the 'Change height' command in the 'Font' menu. The maximum height is 128 (it is also the height of the maximum character matrix size), and the minimum is 2. Chapter 4. The 'File' menu. This menu is always accessible in Fontasm and contains all the file handling and printing. 4.1 'Open...' This option lets you select and load the font file you want to edit. The standard file selection window appears, asking you to select a font file. You may select it from any disk and any folder you want, not only from the SYSTEM/FONTS folder. When you have found the font you want, double-click on it or click on it and click in the 'OK' button. It is loaded into memory. A window announces you that Fontasm is working, and the horizontal blue growing bar shows where the process is. When the blue bar reaches the right side of the rectangle it grows in, this window disappears and the character selection window appears (see section 6.3 to select a character). 4.2 'Close font' Choose this option when you want to stop editing a font or when you want to edit another. This option can only be chosen when there is a font in memory. If you have modified a font but not saved it, a dialog window appears asking you if want to save it. Click in the 'Yes' button or press the "Return" key to approve. Click in the 'No' button to abandon all the editing you have done on it (Warning : Fontasm will not be unable to undo). Click in the 'Cancel' button if you do not want to close the font. 4.3 'Save' Use this command to save back to disk the font currently being edited. It will save it back to the file Fontasm has read it from, so it will overwrite the original file. If you want to save it on another disk or into another file select the 'Save as...' option (see next section). Fontasm may automatically recode the font before saving it, but you must not be worried about that. 4.4 'Save as...' This command works like the 'Save' command, except it opens the standard file saving dialog to ask you where to save the font. Click in the 'SAVE' button to save the font, or in the 'Cancel' button to cancel saving. 4.5 'Choose printer...' This option displays the standard printer selection window, asking what printer and what port you want to use, whether to use AppleTalk or not, and your user's name (needed by AppleTalk). Always select this command before the first printing operation to make sure Fontasm knows to which printer you are connected and which port you use. 4.6 'Page setup...' It displays the standard page setup dialog corresponding to the printer you are using. Always select it before any printing operation to make sure you have chosen the right page size and the right setup option, depending on which window you want to print. 4.7 'Print...' This command displays the standard print dialog corresponding to the printer you are using. The only windows you can print in Fontasm are the character window (see chapter 7) and the font displaying window (see section 6.1). See the corresponding sections for the page setup parameters you must set or not. 4.8 'Quit' Choose it if you want to quit Fontasm and go back to the Finder or whatever program that launched Fontasm. If you have modified but not saved the font or a character, Fontasm will open a dialog window asking you if you want to save it (Yes) or not (No), or if you want to cancel quitting (Cancel). Chapter 5. The 'Edit' menu. This menu offers the cut/paste, copy, clear and undo features. These options are only effective with the character selection window (see section 6.3) and the character window (see chapter 7). In the first case the clipboard is not visible, but it is visible in the second case. The undo and the add options are only available with the character window. Fontasm currently uses only private clipboards and cannot therefore exchange clipboards with other applications. 5.1 'Undo' When drawing a character, this option undoes the last drawing operation, that means that Fontasm redraws the character like it was just before the last drawing operation. 5.2 'Cut' This option copies the current character to the clipboard, and clears it. 5.3 'Copy' This option only copies the current character to the clipboard, leaving it unchanged. 5.4 'Paste' This option gets the character currently in the clipboard and copies it to the current character, overwriting the old one. 5.5 'Clear' This option clears the current character. This option is also accessible by pressing Open-Apple-delete. 5.6 'Add' The Add option is only available during character drawing. It works like Paste, except it does a logical Or between the current character and the clipboard, copying the resulting character into the current character. This means that a pixel will be black if the same pixel in the current character or in the clipboard is black ; it is white otherwise. 5.7 New desk accessories. New desk accessories are available in the Apple menu. They may also use all items of the 'Edit' menu which are public, except the 'Add' command which is private to Fontasm. This is why this menu is always left active. Chapter 6. The 'Font' menu. This menu contains all font handling operations. Items of this menu can be selected only if there is a font currently in memory. 6.1 'Display font...' This option opens a window showing the coded font currently in memory. The first line tells you the font's family name, size and family number. The following lines display all the defined characters of the font (as they will appear in you word processor), except the spaces characters and blank characters. The last-displayed character is the undefined replacement character if it exists. You can print this window to keep track of your collection of fonts for example. To do this simply choose the 'Print' item in the 'File' menu. But before any printing make sure you have chosen the right printer and printing port in the 'Choose printer' option in the 'File' menu. Then select the 'Page setup' item in the same menu. Select the right page size. You must choose the Vertical Condensed option in order to have good looking characters on the printer. This also applies to word processors when printing with the ImageWriter and the LaserWriter. You may or not choose the 50% reduction option. Finally choose the 'Print...' item in the same menu. Select the number of copies you wish, and select 'All' in the page range item. You do not need to choose color printing on ImageWriter II. If you are using an ImageWriter printer or any equivalent dot-matrix printer, always choose the draft quality mode when printing this window. If you select another mode, Fontasm will replace it with the draft quality. After the standard print dialog, Fontasm displays another dialog asking you whether you want or not double-width printing. This option will print twice as much characters on each line than normal printing. You may choose this mode only if you have selected 50% reduction mode in the page setup dialog. It permits you, when in this mode, to print on the full carriage width and not only half. Make sure your printer is on and connected, then click in the 'OK' button or press "Return" to start printingJ; or click in 'Cancel' to cancel printing. Note : make sure you have enough memory free before any printing. Normal width printing requires 64K, and double width printing needs 128K. Note for ImageWriter users : when you choose the 50% reduction mode in the page setup menu, the printed characters will have the same resolution and the same aspect as they would be printed by a word processor in superior quality mode. If you do not choose it, they will look as if printed in normal quality mode. 6.2 'Test font...' This option opens a dialog window with a editing line, and the viewing rectangle beneath it. You may type any sentence you wish in the editing line, it will be immediately drawn in the viewing rectangle using the coded font in currently memory. Note : You can only enter characters which are defined in the current font. If you type a character and nothing happens, that means that this character is undefined in the font currently in memory. 6.3 Editing a character. This command opens the character selection window if it is not currently visible. This window allows you to select a character and to enter the character window (see chapter 7). The selection window shows you 24 characters at a time (3 lines and 8 columns). The large squares contain the current character drawing of the font, and the horizontal rectangles on their tops tell which character it is and what is its ASCII code. When you open it for the first time it shows the capital letters (ASCII codes from 64 to 87). You may see other characters by using the vertical scroll bar at the right edge of the window. Click in the arrow boxes to scroll one line at a time, click in the page scrolling areas (the grey surfaces on top and bottom of the white rectangle -the thumb- indicating where you presently are) to scroll three lines at a time, or directly click in the thumb and put it where you want, maintaining the mouse's button pressed. When you click on a character it appears highlighted. At that moment you can make cut/paste operations on this character for characters moving/copying/deleting (see chapter 5). When a character appears highlighted press the "Return" key to edit it, or simply double-click in the character you want to edit. You will come up in the character window (see chapter 7). 6.4 'Modify parameters...' This item opens a dialog windows letting you edit the font's parameters. Click in the 'OK' button or press "Return" to confirm, 'Cancel' to cancel modifications. 6.4.1 Name. This is the font's family name. You can enter any name you want up to 25 characters. Note : all the fonts of a given family must have the same family number and exactly the same family name ; every character, capital or small letters, spaces and symbols count. 6.4.2 Size. This is the font's size in typographic points. It is a theoretical size and you may enter whatever value you want between 2 and 99. Note : most word processors do not handle fonts with sizes higher than 32 or 48. So you can change their size (it is only the typographic size that it will change, not the characters' actual drawing) to use them in your favorite word processor. Warning : you must keep coherent sizes within a family. That means that if change the size of a font, you must also change the size of all other fonts in its family, in order to keep constant ratios between the different sizes. For example if you have Calligraphy fonts with size of 24, 36, 48 and 72, you may change the sizes to 12, 18, 24, 36. Beware of keeping the one-to-two ratios of couple of fonts when you print on ImageWriter dot-matrix printer. This means that if you have Venice 14 and 28, you may change them to sizes of 12 and 24, or 9 and 18, and always keep the one-to-two ratio. 6.4.3 Family. This is the family number of the font. You may enter any value between -32768 and 32767, except 0, -1 which are reserved for the system's use. Don't also use the font family number -2 which is reserved for the Shaston system font. Some family numbers are also reserved for font families and you must not modify these especially when you are using a laser printer (see section 1.4 for a non-exhaustive table). Warning : fonts with the same family name must also have the same family number. Otherwise you may cause troubles to the Font Manager. 6.4.4 Style. This is the style in which the font was designed. In most cases this will be 0 which means no special style. You must enter a four-digits hexadecimal number. The currently defined values are : - $0001 : bold. - $0002 : italic. - $0004 : underline. - $0008 : outline. - $0010 : shadow. Other styles may be defined latter in the Font Manager. These values are cumulative if a font has several style modifications. This feature allows you to create pre-styled font. You can create for example pre-italicized fonts. Then if you ask italic text drawing, the font manager will not italicize the normal font but will directly use the pre-italicized font. This also avoids that a pre-italicized font from being italicized a second time. However the Font Manager has no way to de-style a pre-styled font. So you must always keep the not-styled font. This can be an interesting feature but you normally do not need to use it. It is most of the case preferable to let the Font Manager do the style modifications by itself. 6.4.5 Type. This field normally contains the font's type, but is currently ignored by QuickDraw II and the Font Manager. However we provide the possibility of changing this field if this situation may change in the future. 6.4.6 Height. This field shows the current font's height but can not be modified in this dialog window. If you want to change the font's height, select the 'Change height...' command in the 'Font' menu. 6.4.7 Ascent and Descent. A font has a constant height, this means that all characters in the font have the same height. The font has also a base line (see section 7.4.1) which is located at the same location in all characters of a font. This base line is the line where you normally write. Capitals letters are generally situated above the base line but small letters such as 'g' or 'j' may descend underneath. The base line also tells to the Font Manager where to underline (it underline one pixel under the base line). The Ascent and Descent fields let you change the base line's location. Ascent is the distance in pixels between the base line and the font's top, Descent is the distance between the base line and the font's bottom. It should be noted than we always have Ascent + Descent = Font's Height. So whenever you change any of these two fields, Fontasm automatically changes the other so that this rule is satisfied. You may enter in these two fields any integer value between 0 and the current font's height. 6.4.8 Leading. This is the vertical space in pixels between two lines. You may enter any integer value between 0 and 128. Note : this is only a consultative information. A word processor may use it or not. 6.5 'Change height'. A dialog window appears showing you in the editing line the current font's height and asking you to type the new height. Click in the 'OK' button to proceed and in the 'Cancel' button to keep the current height. The character selection window then appears. The maximum size is the height of the maximum character's matrix size, that means 128, and the minimum is 2. If you select a new height that is bigger than the old height, all the characters will have extra space under them. If the new height is smaller, the low part of all characters will be truncated. Always make sure that you have enough memory left when selecting a huge height (at least 100K memory free is a good value). 6.6 :'Double font' This option double the font's size, height and the drawing of each character. The old characters' pixels now have a 2*2 size. This option may be useful when you are using an ImageWriter-like dot-matrix printer. The Font Manager replaces the current font with a double-sized font when printing in superior quality. So for a given font, if the double-sized font does not exist, this option will create it. You can then polish this new font, redraw certain characters and remove the stairs-looking lines. With this option and a bit of hand work, you will achieve a far better printing quality than using only normal-sized fonts. 6.7 'Copy into auxiliary font'. This command copies the current font into the auxiliary font (see section 3.5). A window appears signaling you that the copying is in progress, and a growing bar shows at what point the process is. The auxiliary font can be used within the character window. This command can only be selected if there is a font currently in memory and if the auxiliary font is empty. The auxiliary font will not be erased if you close the current font and load another. The only way to clear it (to free some memory) is to quit Fontasm or to select the next Command. 6.8 'Clear auxiliary font'. This command clears the auxiliary font and frees the memory it used. It can be selected only if the auxiliary font is not empty. 6.9 'Fill with auxiliary font'. This command replaces all the undefined character with the corresponding character in the auxiliary font, if there is one. Chapter 7. The character window. 7.1 The windows. When the character window appears, the character selection window disappears. Three different windows are visible, the actual editing window and two other small windows. 7.2 The reduced size window. This window offers a reduced view of the character being edited. This character looks bigger than the characters displayed in the selection window (horizontally twice as large) because it is not the character as it is drawn by a word processor on the screen, but it is the aspect of the character which will actually be printed. This is more convenient since fonts are essentially created to be printed and not to be exclusively drawn on a screen. This window can be moved anywhere on the screen. 7.3 The clipboard window. This window shows the current clipboard and is used by commands of the 'Edit' menu. This window may be moved anywhere on the screen. The Add command is useful if you are sending letters to foreign countries and you need characters with accents. You can draw an accent in the drawing window and copy it into the clipboard. Then edit a letter you want to put the accent on, use the Add command to add the accent saved in the clipboard, and save the letter back to the font. You can repeat this last sequence with all letters you want to add the accent to. 7.4 The editing window. This is the big square window in the left part of your screen. Its title shows the current character being edited and its ASCII code. This window can be moved anywhere on the screen by clicking in the title bar and moving the mouse ; it can be resized by clicking in the grow box. Use the horizontal and vertical scroll bars to view the part of the character you want to see. 7.4.1 The drawing area. The character's image appears in a gray rectangle which is the drawing area. Its height is the font's height since all characters in a font have the same height. Its width is the size of the maximum matrix size, i.e. 128. The horizontal green line with arrows on its left and right edges is the base line. This line must touch the base of capital letters. Some characters such as 'j' or 'g' may however descend under this line. You can modify the position of this line by using the 'Modify parameters' option in the 'Font' menu (see section 6.4). The base line will be in the same position for all characters of the font. The vertical green line with arrows on its up and down edges is the character's origin line. The intersection of this line and the base line gives the character's origin. When a character is drawn, it is placed in a location where its origin coincides with the current pen location. Therefore the origin can be on the left, the right or between the character's pixels, and the character may extend on the preceding or the next character's pixels when drawn by a word processor. The vertical dark blue line with "T" on its up and down edges is the character's end line. The intersection of this line and the base line is the next character's origin. The character's width is the difference between the end line location and the origin line location in pixels, that is the distance between these two lines. The width represents the pen's displacement when a character is drawn. The width is always a positive integer value. To modify the location of these two lines, use the 'Change dimensions' option in the 'Misc' menu of the editing window. 7.4.2 How to draw. To draw in the drawing area, put the arrow on the pixel you want to change and click on it. Its color will immediately change, and the modification will also be visible in the Reduced View window. If you maintain the mouse's button pressed, you can continue drawing other pixels with the same color by moving the mouse. Release the button to stop drawing. You can draw plain rectangles. Press the Apple key and maintain it pressed. Then click on the first rectangle's corner and maintain the mouse's button pressed. Move the mouse to the rectangle's opposite corner, the frame of the rectangle will be shown to help you. Release the button. The rectangle you have defined is filled with the opposite color of its first corner (i.e. the pixel you have first clicked in). If you have not released the mouse's button and you want to cancel the rectangle filling operation, move the mouse outside the editing window, the rectangle's frame will disappear, then release the button. To draw more easily you can turn the grid on by selecting the grid item in the 'Misc' menu of the character window. All drawing operations are always shown in the Reduced View window. If you make a mistake, choose the 'Undo' item in the 'Edit' menu to cancel the last drawing operation (see section 5.1). 7.4.3 Printing the character. The 'Print' command in the 'File' menu will print the whole content of the editing window (not only its visible part on the screen). Before printing make sure you have chosen the right printer (see section 4.5). Go to the page setup dialog (see section 4.6). Select your paper's size and the normal vertical sizing. It is preferable to select the 50% reduction mode but not necessary. Select the 'Print' command and the print dialog appears. Select the number of copies and choose 'All' in the paper range section. It is not necessary to select color printing. For ImageWriter users choose the printing quality but never choose the draft mode. If you choose draft printing, Fontasm will automatically replace it with normal quality printing. Make sure your printer is on and connected. Click in the 'OK' button or press "Return" to start printing. 7.4.4 The menus. The editing window has its own menus, and the menu bar is situated just below the title bar. Use these menus like normal menus. However the normal system menu bar is still active. 7.4.5 The 'Char' menu. This menu contains all the character saving and retrieving options. 7.4.5.1 'Close editing'. This item is equivalent to clicking in the close box of the editing window. If you have modified the character and not saved it, a dialog appears and asks you if you want to save it back to the font (Yes), to keep the original character (No) or to cancel closing (Cancel). The editing window, the reduced view window and the clipboard window are closed and selection window appears again. 7.4.5.2 'Save character and continue'. This option saves the character back to the font. 7.4.5.3 'Save character and close'. This option saves the character back to the font and quits the character edition. The editing window, the reduced size window and the clipboard window are closed and the selection window appears again. 7.4.5.4 'Get a character from auxiliary font'. This command opens a dialog window asking you which character you want to get from the auxiliary font (see section 3.5). You can either enter the character directly or enter its ASCII code. Click in the 'OK' button and the corresponding character of the auxiliary font will replace the current character. This command can only be selected if the auxiliary font is not empty. 7.4.6 The 'Misc' menu. 7.4.6.1 'Change dimensions'. This command opens a dialog showing you the current origin line's and end line's locations, and asking you for their new locations. The locations must be between 0 and 128. The end line's location cannot be lower than the origin's line location. Note : the character's width is the difference between the end line's location and the origin line's location. Click in the 'OK' button or press "Return" to confirm the new locations. 7.4.6.2 'Grid'. This option turns on or off the drawing grid which can help you drawing characters. 7.4.6.3 'Previous character'. This option saves the current character and brings the preceding character in the ASCII table. 7.4.6.4 'Next character'. This command saves the current character and brings the following character in the ASCII table. 7.4.7 The 'Special' menu. This menu handles all the character shifting and doubling operations. 7.4.7.1 The 'Shift ...' commands. These four commands lets you shift the character image upward, downward, rightward and leftward by one pixel or more if you select more. 7.4.7.2 'Repeat...'. This option opens a dialog asking you to enter how many times you want to repeat the next shifting operation. You can enter any value between 1 and 127. Click in the 'OK' button or press the "Return" key to confirm. The next shifting operation you will use will be repeated. This is convenient if you want to shift a character 10 times to the right without selecting 10 times the 'Shift right' command. Only the next shifting will be repeated, further shifting will be normal (i.e. one pixel). 7.4.3 'Double horizontally'. This command doubles horizontally every character's pixels. 7.4.4 'Double vertically'. This command doubles vertically every character's pixels. Note : if you want to double the size of a character, select successively the two double options. Chapter 8. The 'Special' menu. This menu contains font modification operations and is only accessible if there is a font currently in memory. These modifications will never modify undefined characters (see section 3.7). 8.1 'Shift ...' operations. The 'Shift right' and 'Shift left' operations open a dialog window asking you how many pixels you want to shift the font. The default value is one. You can enter any value between 1 and 127. Click in the 'OK' button or press "Return" to confirm. Fontasm will then shift every character in the font except undefined ones. 8.2 'Shift margins...'. This command allows you to shift each character's origin and end. The dialog window asks you how many pixels you want to shift those two values. These values are not absolute values but offsets, they are values to be added to the origin and the end of every character. You may enter any value between -128 and 128. Note : you change a character's width by changing its end. That means that the offset given for the character's end directly modifies its width. You may use this command to make fonts look extended or condensed. However a width cannot be negative, so Fontasm will replace any negative value by zero. 8.3 'Non-proportional font...' This option creates fixed-width fonts. Type the new characters' width in the dialog window. Click in the 'OK' button or press the "Return" key to confirm. Fontasm will give the entered width to all defined characters in the font and thus create a non-proportional font. Non-proportional fonts are useful when printing program listings or documents containing arrays. 8.4 'Double horizontally'. This option doubles the widths and the pictures of all defined characters in the font. A window shows you where the doubling process is. Horizontal doubling make the characters much more readable on the screen, and they have the same aspect as the characters being actually printed with the unmodified font, but they produce poor printing quality. 8.5 'Spaces...'. This command opens a dialog window letting you directly and quickly modify the normal and non-breaking spaces' width. Click in the 'OK' button to confirm. This dialog window can also appear when Fontasm detects that the spaces are undefined. If this happens, this window is preceded by a warning alert window saying 'Spaces are undefined.' Chapter 9. The 'Utilities' menu. This menu is available only when there is no font currently in memory. 9.1 'Display font' This is the same command as the 'Display font...' in the 'Font' menu, except that you do not need to have a font currently loaded in memory. Fontasm asks you to select the font through the standard file selection window. While your are viewing a font, you may change to 320*200 mode by selecting the '320 x 200' item in the Apple menu. To go back to 640*200 mode select the '640 x 200' item in the same menu. The 320*200 mode makes characters much more readable and you can see characters' details you would not in 640*200 mode. The mode switching has no influence on printing. The Display command is to be used for fast viewing and/or fast printing of your entire collection of fonts. 9.2 'Modify parameters' This is the same command as 'Modify parameters' in the 'Font' menu, except you do not need to have the font currently in memory. It asks you for the font you want to modify (see section 6.4 for details). Click in the 'Save' button or press "Return" to save the modified font back to disk, or in the 'Cancel' button to cancel modifications. 9.3 'Adjust a couple of fonts'. When your are printing on an ImageWriter or any equivalent dot-matrix printer in the superior quality mode, the Font Manager replaces the current font with a double-sized font and prints it in a 144 dots-per-inch resolution. However problems like bad justifying or underlining line cuts can appear in superior quality although normal quality printing works fine. This happens when the characters' width of the normal font are not exactly half the width of characters in the double-sized font. To repair this use this command. Fontasm first asks you the double-sized font (size 2x), then the normal-sized font. You must give two fonts belonging to the same font family otherwise Fontasm will return you an error. Fontasm displays the number of modifications it makes on each font and asks you to successively save back to disk the corrected double-sized font and the corrected normal-sized font. If you want to abort this operation click in the 'Cancel' button. Note : if you want to adjust two couples that overlap, for example Calligraphy 12, 24 and 48, always go in the descending order. This means that you must first adjust fonts with sizes 48 and 24, and the 24 and 12. 9.4 'Convert font : Macintosh -> GS' This option will help you converting Macintosh fonts to GS fonts, but you will need a Macintosh computer. You also need the Font Munger and Passport (renamed as Apple File Exchange) programs for Macintosh (available at APDA). These programs work on Macintosh computers, not on GS. Use Font Munger to change formats of all fonts you want to convert (select the 'Font Manager Format' and 'Create Cortland Binary Font' options in the File menu). Convert the resulting files into GS ProDOS file format using Passport. The resulting ProDOS files are still not compatible with the Font Manager (they have the file type $E1 and the first 512 bytes must be taken out). At this moment select the conversion command, and it will do the two last conversions. After selecting the Passport-ed files, Fontasm displays a window showing the font name and its size. It then asks you into which file you want to save the converted -Font Manager compatible- font. Appendix A. Keyboard equivalents to menu items. Main menu : ("a" stands for Open-Apple) a ? - Displays the about window. a > - Selects the 640*200 display mode (see 9.1). a < - Selects the 320*200 display mode (see 9.1). a C - Copies the current character into the clipboard (see 5.2). a D - Displays the font currently in memory (see 6.1) or a font you choose (see 9.1). a E - Displays the character selection window (see 6.3). a G - Helps converting Macintosh fonts to GS fonts (see 9.4). a K - Closes the font currently in memory (see 4.2). a M - Modify parameters of the font in memory (see 6.4) or of a font you choose (see 9.2). a O - Opens a font file (see 4.1). a P - Prints the front window if it is printable (see 4.7). a Q - Quits Fontasm (see 4.8). a S - Saves the font currently in memory (see 4.3). a T - Lets you test the font in memory (see 6.2). a V - Pastes the clipboard on the current character (see 5.4). a X - Cuts the current character (see 5.2). a Z - Undoes the last drawing operation (see 5.1). a Delete - Clears the clipboard (see 5.5). The character drawing window's menu. a D - Shifts character down (see 7.4.7.1). a K - Closes the current character's editing (see 7.4.5.1). a L - Shifts character left (see 7.4.7.1). a R - Shifts character right (see 7.4.7.1). a S - Saves the character back to the font (see 7.4.5.2). a U - Shifts character up (see 7.4.7.1). Press a . (open-apple period) during printing to abort printing. Appendix B. Fontasm's specific error messages. BitMap too big - the characters' drawings use too much memory, you must delete some characters. Different family - the 2x-sized font has not the same family number as the x-sized font. Different font name - the 2x-sized font has not the same font name as the x-sized font. Empty font - the current font is empty. Font too big - the font in memory is too big (greater than 64K), please delete characters. Font > 32Kb - this is just a warning ! It tells you the current font is greater than 32K. The Font Manager will not be able to scale such a font. Please refer to Apple IIGS Technical Note #15 for more details. Height too big - the height must be between 2 and 128, the loading process is aborted. Incorrect family number - the loaded font has an incorrect font family number, the loading process is aborted. It's not half size - the x-sized font is not half as big as the 2x-sized font. Memory low - the total memory free is below 100K. Please quit Fontasm, it may crash. No character is defined - there is not a single defined character in the font. No window to print - there is no window currently open, and thus no window to print. Spaces are undefined - the normal space or the non-breaking space are undefined. This window cannot be printed - the current active window cannot be printed. DBytes = 0 - you should never see this error. Appendix C. Tricks. C.1 A better underlining. When you print in superior quality on an ImageWriter or an equivalent dot-matrix printer (not on laser printers), the underlining line may seem too close to the character. To avoid this add one to the Descent of the font which is twice the size the font you selected in your word processor. For example if you print in Helvetica 12, add one to the Helvetica 24 font's Descent in order to have good looking underlining lines. Note : this trick does nothing on laser printers. Warning : you should normally not modify such parameters, so always keep a copy of the font you modify and put back the original Descent value if you want to use the font for a purpose other than printing.