═══ 1. FontFolder Overview ═══ FontFolder provides an easy, efficient way to manage Adobe Type 1 fonts (also known as ATM fonts) in OS/2. Once a font is registered with a FontFolder Library, the font can be loaded and unloaded in OS/2 from the FontFolder main window with simple point and click operations. With FontFolder you only need to keep loaded those fonts that you are currently using. This saves time and resources since OS/2 only needs to load a small number of fonts on bootup and keep a small number of fonts in memory at any one time. Applications that load all the installed fonts when starting will also start faster, and you will have fewer fonts to scroll through when making font selections. FontFolder provides added convenience by allowing you to groups fonts in a named collection called a FontPack. A FontPack can be loaded and unloaded as a single item, and all the fonts in the FontPack will be loaded or unloaded for you. By creating FontPacks that contain all the fonts required for specific tasks, you can easily keep just those fonts loaded that are required for the work at hand. By removing from the user the task of specifying where font files are to be placed when fonts are loaded in OS/2, FontFolder provides great flexibility in organizing your fonts into meaningful directory structures. In addition to allowing fonts to be used from any directory on a local hard drive, FontFolder supports fonts residing on network servers and on CDROM's, saving local hard drive space. FontFolder provides a variety of font print samples. These print samples may be printed for any registered font, whether or not the font is currently installed in OS/2. See the following for additional information. Topics:  Overview of ATM Fonts  Overview of OS/2 Fonts  Installing FontFolder  Using FontFolder  Removing FontFolder  Creating and Using FontFolder Libraries  Installing Fonts in OS/2  Removing Fonts from OS/2  Browsing Fonts with FontFolder  Creating and Using FontPacks  Using Fonts on CDROMs  Using Fonts on Network Drives  Printing  FontFolder Settings Notebook  FontFolder Menus  FontFolder Dialogs  Selecting items in listboxes  Error Recovery ═══ 2. What's New in FontFolder? ═══ This section contains direct links to the On-Line Help for the new features added in Version 2.1 of FontFolder. Double click on the following to access this help:  Move Font Files Utility to move font files to a new location and update OS/2 (and WinOS/2) to use the new locations.  Tear-Off Font Samples that allow the user to "tear-off" the Font Sample windows from the Browser and keep them around to compare with other fonts selected in the Browser.  Auto Select Fonts to automatically register all fonts in a directory or to search an entire directory tree or an entire drive and register all fonts found.  Multi-Keystroke Navigation in the library, installed fonts, and fontpack fonts listboxes to quickly move to a specific font by typing the first few letters of the font name. ═══ 3. Overview of ATM Fonts ═══ ATM font is the popular name for an Adobe Type 1 font, originated by Adobe Systems Incorporated. These fonts are scalable, meaning the system can accurately generate font characters in a wide range of sizes from one font description. This is in contrast to bit-mapped fonts, where there must be a complete, separate font description for each size. ATM fonts can be used for both display and printing and are supported on numerous operating systems in addition to OS/2. As a result thousands of fonts are available from a wide variety of sources. There are also programs available that allow you to generate your own ATM font design. An ATM font comes from the supplier as a collection of files. There is always a file with a name of the form filename.PFB which contains the detailed information needed to construct the font characters. There will be one or more additional files for each font as well. Fonts shipped by Adobe contain a filename.AFM file and a filename.INF file in addtion to the filename.PFB file. For use in OS/2, the PFB file and the AFM file are required. Microsoft Windows (and hence WinOS2) requires the PFB file and a file called filename.PFM. The ATM Control Panel used to install ATM fonts in Windows can use the AFM file and the INF file to construct a PFM file. Some font vendors aiming solely at the Windows market have unfortunately taken to shipping ATM fonts with only the PFB and PFM files. Such fonts are not immediately usable in OS/2. The first recourse is to contact the vendor to attempt to obtain the corresponding AFM file. Vendors such as Adobe are usually quite willing to supply these for free, in fact Adobe has provided a large number of AFM files for their type library in the ADOBE and DTPFORUM forum libraries on Compuserve. There are also font editing programs that will produce an AFM file from the PFB and PFM file and some utilities that attempt to convert a PFM file to an AFM file. ═══ 4. Overview of OS/2 Fonts ═══ OS/2 uses both bit-mapped fonts and ATM fonts for displaying characters. FontFolder does not deal with the OS/2 bit-mapped fonts. OS/2 ships with a basic set of ATM fonts whose files can be found in the \PSFONTS directory on the OS/2 boot drive. An ATM font for OS/2 must have both a filename.AFM and a filename.PFB file. In order for OS/2 to recognize these files they most both reside in the same directory. However, different fonts can reside in different directories. OS/2 keeps a record in the OS2.INI file of the path to each installed font. Note: One consequence of this is that the user must not move the files for an installed font to a different location without first uninstalling the font from OS/2. Once the files are moved, the font can be reinstalled in OS/2. OS/2 requires that the font files for an installed font reside on a hard drive. One reason for this is that OS/2 reads these files on bootup to generate the required information on installed fonts. As a result, when a font is installed in OS/2 from a removable drive such as a floppy drive or CDROM drive the font files must be copied to a directory on a hard drive. The OS/2 Font Pallete defaults to \PSFONTS as the location for these files, but the user can change this to any directory. FontFolder copies these files to a user-designated hard drive location when registering a font with a FontFolder Library from a removable drive. After this, FontFolder never moves the files again when installing and uninstalling the font in OS/2. This gives the user the freedom to organize fonts in directory structures that are meaningful from the user's perspective. For example, all fonts obtained from a specific source might be grouped in their own directory, or fonts might be grouped by a common characteristic (e.g. calligraphic fonts), etc. When an ATM font is installed in OS/2, a compressed equivalent of the AFM file named filename.OFM is generated and placed in the same directory as the PFB file. The OS/2 Font Pallete does not use the AFM file except for installation, and does not copy the AFM file to the target directory. FontFolder copies both the AFM file and the PFB file to the target directory when registering the font with a FontFolder Library from a removable drive. The first time the font is installed in OS/2 FontFolder puts the OFM file created in the existing directory with the AFM and PFB file for the font. FontFolder does not at this time offer the option of automatically erasing the AFM file. ═══ 4.1. Windows Fonts in OS/2 ═══ OS/2 uses and manage ATM fonts in WinOS2 in the same way as Windows. This means that OS/2 requires either a filename.PFM file or a filename.INF file in addition to the filename.PFB file to install the font in WinOS2. When the font is installed in WinOS2 via the ATM Control Panel (FontFolder does not manage ATM fonts for Windows), ATM will move the PFM file to a subdirectory named PFM under the directory containing the PFB file, creating the subdirectory if necessary. OS/2 and WinOS2 can share the same PFB file using a directory structure as shown below │ ┌─────────┐ ├──┬─┤MYFONTDIR│ │ │ └─────────┘ │ ├─ filename.afm (ofm) │ │ ├─ filename.pfb │ │ ┌─────────┐ └─┬─┤ PFM │ │ └─────────┘ │ └─ filename.pfm When FontFolder registers a font with a FontFolder Library from a removable drive, it will also copy either the WinOS2 filename.PFM file to a PFM subdirectory, creating the directory if necessary, or if it finds a filename.INF file but no PFM file, the filename.INF file to the directory containing the AFM and PFB files, provided the user has checked the Copy Windows Font Files box. ═══ 5. Installing FontFolder ═══ This section provides a description of what files and system file entries are created when FontFolder is installed and first opened, and the system resources used by FontFolder. To continue in this section choose one of the following:  FontFolder Files  FontFolder Memory Requirements  Other FontFolder Resource Requirements ═══ 5.1. FontFolder Files ═══ The main files required to use FontFolder are FONTFOLD.EXE and FONTFOLD.HLP. FONTFOLD.EXE can be installed anywhere on the system. FONTFOLD.HLP can be installed either in the same directory as FONTFOLD.EXE or in any directory specified in the set HELP= line in the OS/2 CONFIG.SYS file. It is recommended that FONTFOLD.HLP be kept in the same directory as FONTFOLD.EXE. When printing, FontFolder uses the executable FFPRNMOD.EXE to do the printing, and the files CATALOG.TXT, CHARBOX.TXT, LINE.TXT, and PGRAPH.TXT as the source of text used in the printing. FontFolder expects to find these files in the same directory as FONTFOLD.EXE. The TXT files can be modified by the user to customize printing. The first time FontFolder starts it asks the user to provide paths to use to store two sets of files that FontFolder generates during operation. The default in both cases is to store them in the same directory as FONTFOLD.EXE. The first of these sets contains one file, FONTFOLD.INI, which keeps key information about the user preferences for FontFolder such as size and screen position of the main window, etc., and is created the first time FontFolder is closed. One case where one might place this file in a separate directory is if FontFolder is being shared on a network. If the user chooses to place FONTFOLD.INI in a location other than the default, then FontFolder writes this location to OS2.INI. If FONTFOLD.INI is left in the default directory then no entry is made in OS2.INI. The second set of files that FontFolder creates as part of its operation is its data files. These include files named MLIBnnn.FF2, which contain information identifying all the fonts registered with one of FontFolder's Libraries. FontFolder creates one of these files the first time it is closed or when the user chooses Save Library from the Library menu. The first time such a file is created it will have the file name MLIB000.FF2 and will be known to the user as the Base Library. Subsequent libraries created by the user will take an unused filename of the form MLIBnnn.FF2 and a name specified by the user at the time the library is first saved. The location of these files is kept in FONTFOLD.INI. FontFolder will also maintain one generation of backup of each MLIBnnn.FF2 file called MLIBnnn.BAK in the same directory. The combined size of these files should be no more than about 200KB for each library in the worst case of maximum length paths to the font files . In practice, with typical paths each library will more likely be 40KB or less in size for the combined current and backup files. The data files also include files of the form FNTPKnnn.FP2, which contain information identifying all the fonts included in the different FontPacks the user creates. There will be backup files of the form FNTPKnnn.BAK for these files also. Unless the user creates a very large number of FontPacks, these files will take up much less space than the Library files. The Font Cache Directory An optional feature of FontFolder permits the user to keep the fonts registered with a FontFolder Library on a Network Drive, thus allowing many users to share fonts across a LAN, or on a CDROM, saving the space that would be needed if the font files were copied to the hard drive. Because font files need to reside on a local hard drive when the font is actually installed in OS/2, FontFolder maintains a local hard drive directory, referred to as a Font Cache, where it temporary moves font files from Network Drives or CDROM Drives while the font is installed in OS/2. Each installed font has associated files that are 50-100 KB in size. While this space requirement is no different for a font installed from a Network Drive or CDROM Drive than for a font installed from a local drive, the user needs to be aware of the potential space requirements for the Font Cache directory if this feature is used. See the help on establishing the path to the Font Cache for additional details. Note: If the path to the Font Cache especially if you use CDROM or Network fonts and plan to install a new version of FontFolder in a different directory than the old version. In this case it will make version migration much simpler if you establish a permanent FFCACHE directory location separate from your FontFolder directories. ═══ 5.2. FontFolder Memory Requirements ═══ When in use FontFolder keeps the current Library and OS/2 Installed Fonts information in linked lists that require about 690 bytes of memory per font entry. Sufficient memory is allocated to allow storing over 1200 fonts in a Library, while the number of fonts actually installed in OS/2 should normally be less than 100 (for performance reasons). Thus maximum use would require somewhat less than one megabyte of memory beyond what the program normally takes. In practice most users will probably limit an individual Library to a few hundred fonts and use multiple Libraries instead for performance reasons, so memory usage should be well less than a megabyte. Since FontFolder uses OS/2's sparse memory allocation methodology, only enough memory is committed to hold the actual font information. When printing, OS/2 versions through Warp (all flavors) appear to have a memory leak that consumes approximately 7.5 KB of memory for each font printed. This memory is lost to the system until OS/2 is rebooted. Users need to keep this in mind since it is possible to print a very large number of fonts in FontFolder. For example, printing a Font Catalog for the entire 2000 Fantastic Fonts for Windows CDROM will cause the loss of access to 15 MB of memory/swap file space. There is another large consumption of memory in the case of OS/2 2.1 and earlier versions (this has been fixed in Warp) when the user browses fonts using the Font Information Window. This facility allows the user to quickly examine sample text for very large numbers of fonts. Memory usage will grow in proportion to the number of fonts examined. A rough empirical formula is (500 + 11*fonts) KB, where fonts is the number of fonts browsed. A user browsing hundreds of fonts can quickly consume several megabytes of memory. See the help on using the Font Information Window for additional details. ═══ 5.3. Other FontFolder Resource Requirements ═══ FontFolder uses the standard OS/2 listboxes to display the current Library and Installed Fonts lists. In OS/2 2.1 the total contents of all listboxes in the system is limited to 64 KB. (In Warp this limit has been raised to the point where it is no longer a practical limitation.) In the worst case of displaying the fully qualified path name view of these lists each entry can be up to 260 bytes, so the total number of fonts that could be displayed in this worst case condition would be around 250 fonts if no other open applications are using listboxes. However, this only applies if the user has specified very long directory paths for the font files. In a more typical case of perhaps 50 characters per path name, FontFolder would be able to display over 1300 fonts. If you have a large number of fonts and run in to this limit, see the Listbox error help for directions on how to recover. ═══ 6. Using FontFolder ═══ FontFolder works on the principle of keeping two separate lists of ATM fonts which are displayed side-by-side in the main FontFolder window. 1. The OS/2 Installed Fonts list The Installed Fonts list is the list of fonts that are actually installed in OS/2 and available for use. It is the same list one sees from the OS/2 Font Pallete or from the Font Dialog of an OS/2 application. 2. The Current Library list The Current Library list of fonts is a larger list of fonts that FontFolder knows about, whether they are currently installed in OS/2 or not. In normal operation this list will be larger than the number of Installed Fonts, in some cases substantially so. The user creates this list by registering fonts with a FontFolder Library using FontFolder's Library pulldown on the menu bar. The only limit to registering fonts with a Library other than resource limits (see Installing FontFolder ) is that this list may not contain fonts residing on removable media such as diskettes (fonts can reside on CDROMs however). Note: The user may still register fonts residing on removable media with a Library, however. FontFolder will copy the necessary files to a user-designated directory on a local hard drive as part of the registration process. In addition to these basic lists of fonts, FontFolder provides the user the facility to create named collections of Library fonts called FontPacks. A FontPack can be treated just like a single font for the purpose of installing it in OS/2 or removing it from OS/2, and FontFolder will handle the installation and removal of the all the fonts in the FontPack. The FontFolder main window also displays a list of all the FontPacks created, and a means is provided for the creation and maintenance of the fonts included in each FontPack. For further information on using FontFolder see the following:  Starting FontFolder for the first time  Everyday FontFolder use ═══ 6.1. Starting FontFolder for the first time ═══ Once FontFolder has been installed by copying the FontFolder files to the system, FontFolder is ready for use. The first time FontFolder is started it will display the FontFolder Setup Dialog which asks for four pieces of information:  The Drive letters of all the removable drives on the system  The Drive letters of all the CDROM drives on the system  The location to store the initialization file FONTFOLD.INI  The location to store the data files created by FontFolder, MLIBnnn.FF2 and FNTPKnnn.FP2 See the FontFolder Setup Dialog Help for details on the meaning and values for these settings. Note: While these are the basic settings that are required to use FontFolder, there are many other settings that allow the user to customize FontFolder or take advantage of optional additional function. See the help on the Settings Notebook for the details. The first thing FontFolder does on startup is to read in the list of fonts already installed in OS/2 from OS2.INI. It is possible for this list to include corrupted font files. If FontFolder encounters a file that it can not successfully read to obtain the required font information, it displays a dialog box giving the details of the suspect font and offering the user the option to remove it from OS2.INI. The user should normally take this option since FontFolder can not deal with this file (and OS/2 can not use it) and will redisplay this error message on every startup until the font is removed. In any case FontFolder will not list the font in the Installed Fonts list. See the Load Installed Fonts List Dialog Help for details. On the first startup FontFolder generates an initial Library by copying the list of fonts already installed in OS/2 to the Library list. This Library is given the name Base Library and is stored in the data file MLIB000.FF2. From this point on the user is free to add or delete entries in the Library independent of what fonts are actually installed in OS/2. ═══ 6.2. Everyday FontFolder use ═══ Once a font is registered with a FontFolder Library the user can install the font in OS/2 by selecting the font from the current Library list and clicking on the Install button. Multiple selections are permitted. To remove (uninstall) a font from OS/2 the user selects the font in the Installed Fonts list and clicks on the Remove button. Installing and removing fonts in this manner has no effect on the Library list. Separate editing facilities are provided for maintaining the current Library. When a font is registered with a Library, FontFolder creates an entry which contains both the name of the font (e.g. Courier Bold) and the fully qualified path to the font files. If the source for the files is a removable medium such as a diskette, FontFolder copies the files to a user-designated directory on a hard drive at the time of registration. It is this hard drive location that is stored in the Library. When a font already residing on a local hard drive is installed in OS/2 from the current Library, no files are moved. FontFolder simply provides OS/2 with the information on where to find the font files. Similarly, when such a font is removed from OS/2, no files are moved. Only the entries in OS/2 referring to these files are deleted. This means that the user has complete freedom in organizing font files in whatever directory organizations make sense. The user has the option of Saving the current Library at any point. If the current Library has been changed but not saved when FontFolder is closed, the user is prompted as to whether the current Library changes should be saved or discarded. FontFolder keeps one level of backup of each Library file, and there is provision for the user to Revert to the backup copy of the current Library. The Installed Fonts information is always saved as soon as a font is installed or removed from OS/2. Advanced FontFolder Features In addition to the basic FontFolder operations described above, FontFolder also offers advanced features that provide more powerful ways to organize and manage fonts. FontPacks allow the user to create a collection of fonts that can be installed or removed as a single unit. In addition to storing Library font files on a local hard drive, FontFolder supports having these font files reside on a Network Drive so that font files can be shared by many users or directly on a CDROM, saving the hard drive space that would be consumed if these font files had to be copied to a hard drive. FontFolder automatically manages the movement of these files to and from a local hard drive as required when then are installed or removed from OS/2. Also, the user can create up to 100 separate Libraries, each of which can be used as described above. A Library can be dedicated to a specific source of fonts, for example one would normally create a separate dedicated Library for font CDROM, or it can contain fonts that share common characteristics, for example a list of all of the user's script fonts. The user is completely free to create these Libraries according to whatever principle makes sense to the user. FontFolder provides facilities that make it easy to create and manage these multiple Libraries. Printing FontFolder offers a variety of font-related printouts. Users can print font specimen sheets and character sets , a catalog of samples all the fonts in a library, fontpack or the installed fonts list, or a listing of the path and file names for all the fonts in the above collections. Fonts can be printed whether or not they are currently installed in OS/2. For details on using FontFolder see  Registering Fonts with a Library  Deleting Fonts from a Library  Saving a Library  Reverting a Library  Installing Fonts in OS/2  Removing Fonts from OS/2  Using and Maintaining FontPacks  Using Fonts on Network Drives  Using Fonts on CDROMs  Printing  Views of Fonts  FontFolder Settings Notebook ═══ 7. Removing FontFolder ═══ FontFolder can be removed from the system by finding and deleting the following files  FONTFOLD.EXE  FONTFOLD.HLP  FONTFOLD.INI  MLIBnnn.FF2  MLIBnnn.BAK  FNTPKnnn.FP2  FNTPKnnn.BAK  FFPRNMOD.EXE  CATALOG.TXT  CHARBOX.TXT  LINE.TXT  PGRAPH.TXT and, depending on what FontFolder features were used,  REGFONTS.LOG  MAPDRIVE.LOG If versions 1.0 or 1.1 of FontFolder were used, there may also be data files of the following type  MASTLIB.FF1  MASTLIB.BAK  MASTLIB.OLD  FNTPKnnn.FP1  FNTPKnnn.BAK  FNTPKnnn.OLD In addition, there may be an empty subdirectory, FFCACHE, which should be deleted. If the user has never changed the default settings, all of these files and the FFCACHE subdirectory should be in the same directory. If the user specified other paths for the FONTFOLD.INI file or for the data files, these paths must be searched as well. If the FontFolder Settings for these paths were changed multiple times while FontFolder was installed, there could be copies of these files in each of these paths. If a path other than the default was specified for FONTFOLD.INI, this information was recorded in OS2.INI under the application name FontFolder. This entry can be removed from OS2.INI by resetting the FONTFOLD.INI path to the same directory as FONTFOLD.EXE using the Settings Notebook. There are no other changes that FontFolder makes to the system. ═══ 8. Creating and Using FontFolder Libraries ═══ FontFolder is built around the concept of Libraries in which the user registers all the fonts that are available for installation in OS/2. Once a font is registered with a Library, the user can install it in OS/2 with simple point and click operations from the FontFolder main window. When a font is registered with a Library, FontFolder creates an entry which contains both the name of the font (e.g. Courier Bold) and the fully qualified path to the font files. If the source for the files is a removable medium such as a diskette, FontFolder copies the files to a user-designated directory on a local hard drive at the time of registration. It is this hard drive location that is stored in the Library. When a Library font is installed in OS/2 from a local hard drive, no files are moved. FontFolder simply provides OS/2 with the information on where to find the font files. Similarly, when such a font is removed from OS/2, no files are moved. Only the entries in OS/2 referring to these files are deleted. This means that the user has complete freedom in organizing font files in whatever directory organizations make sense. FontFolder also allows the user to have access to font files that reside on Network Drives and CDROMs registered with a Library.  Network Drives In this case, the network location of the font files is stored in the Library. FontFolder automatically manages moving the font files to and from a temporary local hard drive location when a font is installed in or removed from OS/2.  CDROMs In this case, the CDROM location of the font files is stored in the Library, including the Volume ID of the CDROM. FontFolder automatically manages moving the font files to and from a temporary local hard drive location when a font in installed in or removed from OS/2. If the correct CDROM is not in the CDROM drive, FontFolder will prompt the user to insert the CDROM, using a user-supplied identification label for the CDROM. FontFolder allows the user to create up to 100 separate Libraries. The user selects a Library to use, called the Current Library, using the FontFolder Libraries menus. Once a Library is made the Current Library, the user is free to register and remove fonts from the Library and carry out all other FontFolder operations independent of the contents of the other Libraries. One common use for the multiple Library facility is to create a separate Library for each font CDROM. This allows the user to freely browse and install fonts from a CDROM without having to constantly shuffle between different CDROMs. The user can also create specialized libraries that contain fonts with common properties, for example all the user's script fonts. The same font may be registered multiple times with different libraries. In addition to the Library lists of fonts, FontFolder provides the user the facility to create up to 100 named collections of Library fonts called FontPacks. A FontPack can be treated just like a single font for the purpose of installing it in OS/2 or removing it from OS/2, and FontFolder will handle the installation and removal of all the fonts in the FontPack. A FontPack may contain fonts from multiple Libraries. Uninstalling a font from OS/2 has no effect on the Library entry. Operations on Libraries are done by first selecting Libraries from the main window menu bar or opening the popup menu associated with the Library listbox. The popup menu is opened by clicking Mouse Button 2 anywhere in the Library listbox. Throughout this documentation these alternative ways of accessing the Libraries menu items will be referred to collectively as the Libraries menus. For additional details see the following:  Creating a Library  Opening a Library  Maintaining a Library  Deleting a Library and the following advanced Library topics:  Importing and Exporting a Library  Creating a Custom Library  Creating and Using a Pre-registered Library ═══ 8.1. Creating a Library ═══ On the first startup FontFolder generates an initial Library by copying the list of fonts already installed in OS/2 to the Library list and naming it the Base Library. From this point on the user is free to add or delete entries in this Library independent of what fonts are actually installed in OS/2. When FontFolder is closed for the first time it will offer the user the opportunity to save this Library. If the user chooses this option, the Base Library will be saved in a file called MLIB000.FF2. If the user declines, FontFolder will recreate a Base Library based on the currently installed fonts on the next startup. The normal action would be to Save the Library. In addition to this Base Library, the user may create up to 99 additional libraries (100 total). To create a new library, the user chooses New Library from the Libraries menus. A newly created library will be empty and will be given the name Untitled, which will appear above the Library listbox in the main FontFolder window. The user may register and delete fonts for this library as described in the section on Maintaining a Library . The user may Save the Library at any point, giving it a user-supplied name consisting of any 31 character string. When the Library is saved, FontFolder will assign a filename of the form MLIBnnn.FF2, where nnn will be the first unused 3-digit number available in the range 000 to 099. As libraries are created and deleted, FontFolder will reuse the file names of deleted libraries, so there are always a total of 100 library file names available. ═══ 8.2. Opening a Library ═══ Once multiple libraries are created, FontFolder offers the option of switching between libraries using the Open Library option from the Libraries menus. When a library is open, it is referred to as the Current Library, its name is displayed above the Library listbox in the main FontFolder window, and the list of fonts registered with the Library is displayed in the Library listbox. With the exception of Deleting a Library and some FontFolder Utilities, FontFolder operations are performed only on the Current Library. When Open Library is selected, FontFolder checks to see if changes have been made to the Current Library first, and if they have, offers the option to Save the Current Library before changing Libraries. ═══ 8.3. Maintaining a Library ═══ Operations on Libraries are done by selecting the appropriate item from the Libraries menus Most Library maintenance operations are performed on the Current Library, which is the Library displayed in the Library listbox in the main FontFolder window. The name of the Current Library is display above this listbox. To perform maintenance operations on a library, the user must first make it the Current Library by selecting it using the Open Library menu item on the Libraries menus. The Libraries menus allow the user to perform the following:  Register fonts  Delete fonts  Create a new Library  Open an existing Library  Save the Current Library to disk  Revert to a previous version of the Current Library  Print some or all of the fonts in the Current Library  Import a Library  Export a Library  Delete a Library  Open a Font Browser window that displays the information stored in the Current Library for any Library font along with sample text for the font. The user has the option of Saving the Current Library at any point. If the Current Library has been changed but not saved when FontFolder is closed, the user is prompted as to whether the Library changes should be saved or discarded. FontFolder keeps one level of backup of each Library file, and there is provision for the user to revert to the backup copy of the Current Library. ═══ 8.4. Deleting a Library ═══ Use Delete Library from the Libraries menus to delete a Library from FontFolder. The Current Library can not be deleted and the last library can not be deleted. When a Library is deleted, the information on all fonts registered with that library is lost (unless they are also registered with another library), the file MLIBnnn.FF2 associated with the library is deleted, and the filename MLIBnnn.FF2 is returned to the pool of available Library filenames. No font files are deleted by this operation. If a font is installed in OS/2 when the only Library in which it is registered is deleted, the font will continue to be available for use in OS/2 as long as it is installed. However, if the font is uninstalled, then it can not be reinstalled until it is re-registered with one of the FontFolder Libraries. Note: While it is possible to delete the library named Base Library, it is recommended that the user not do this. FontFolder treats the name Base Library as special, using it as its first recourse for recovery from certain error conditions. If FontFolder can not find any library named Base Library, it will attempt to find and use another library and should be able to recover to the same extent as is possible when the Base Library exists. However, maintaining a library named Base Library will offer the best chance for recovery. ═══ 8.5. Importing and Exporting a Library ═══ In addition to creating Libraries directly in FontFolder, it is possible to Import an already created Library and use it in FontFolder, and to Export an existing Library in a special installation neutral format for use on other sytems. The latter feature is intended for use with font CDROMs to create Pre-registered Libraries for these CDROMs. Import a Library To Import a Library choose Import Library from the Libraries menus. FontFolder offers three options for Importing:  Importing an Exported Library (FX2 file) FontFolder can import a library created by Export Library (See below) in a special installation neutral format. Files for these exported libraries have the extension .FX2, and are intended for use with the Pre-registered Library capability of FontFolder in connection with font CDROMs. When an exported Library is imported, FontFolder will restore the CDROM drive letters for the CDROM fonts in the Library and prompt the user to insert the relevant CDROM in the drive so that the correct Volume Serial Number for this CD can be read.  Importing Other Libraries FontFolder can import any other valid Library file as well. This feature can be used to move Library files between systems, provided the font files exist in the same directories on both systems. It can also be used to restore backed up copies of Library files after the Library has been intentionally or accidentally deleted.  Importing FontPacks FontFolder can import an existing FontPack as a Library. Libraries and FontPacks have identical data file formats. The essential difference between a Library and a FontPack is how they behave when installing fonts in OS/2. In a FontPack, all the fonts are always installed, and the FontPack is listed in the Installed Fonts List, whereas in a Library it is possible to install fonts individually. For an example of using the capability to Import a FontPack see Creating a Custom Library When a Library is imported the name of the Library is added to FontFolder's list of Library names (the user is prompted if there is a conflict with an existing Library name), and a Library file with an unused filename of the form MLIBnnn.FF2 is created. This file is created in the path specified for the FontFolder data files in the Settings Notebook, and is independent of the original import file. The original import file is not changed in any way. Note: The user is not given the option to change the Library name at the time the Library is imported (unless there is a name conflict). If the user wishes to change the Library name, this can be done after the Library is imported by first Opening the Library and then using the Saving the Library as.. option from the Libraries menus to give the Library a new name. After doing this, the original Library with the unwanted name can be deleted with Delete Library . Exporting a Library To Export a Library choose Export Library from the Libraries menus . This facility is intended for use with font CDROMs to create a Pre-registered Library for a CDROM that can then be imported in to FontFolder on any other system, so that the CDROM may be used without having to go through the task of registering all the fonts on the CDROM, which can be quite time consuming for CDROMs containing hundreds of fonts. When an existing Library is exported, a special form of the Library data file is created with all the drive letter information for CDROM font files removed from the file in a way that allows it to be easily replaced with the appropriate CDROM drive letter(s) when the Library is imported on a different system. The CDROM Volume Serial Number is also removed since this can be different for different copies of the same CD. A new data file is written, without affecting the existing library data file, and given an extension of .FX2 which FontFolder uses to find the file when it is later imported. Note: The .FX2 extension is only a convenience to allow users to quickly find these files when importing them. FontFolder will export them and import them correctly no matter what the extension. Normal operation of the export facility is to use it only to export Libraries consisting exclusively of fonts from a single CDROM, but this is not enforced as a restriction. However, the export operation only modifies drive letter information for CDROM font files. If the Library contains fonts residing on hard drives the drive letters will be retained. This could create problems if the same fonts do not exist in the same locations on the system that imports the file. ═══ 8.6. Creating a Custom Library ═══ There are cases where the user wishes to create a Custom Library that gathers in one place fonts that have already been registered in other Libraries. For example, the user may have fonts from multiple CDROMs organized into a separate library for each CDROM and wishes to have an additional Library that gathers together in one place all the fonts that share a common characteristic such as all the script fonts, all the pi fonts, all the Cyrillic fonts, etc.. These fonts will typically be spread across all the CDROM-specific libraries the user has already created. It is always possible to create such a Custom Library from scratch by individually registering the desired fonts with the Library as described in Creating a Library. However, there is an easier way to do this using FontFolder's FontPack and Library Import facilities. Steps to Create a Custom Library In the case where the fonts have already been registered in other Libraries, the user can easily assemble a set of fonts in to a new Custom Library by the following steps: 1. Step 1 Open a New FontPack. 2. Step 2 Open the first Library that contains fonts that should be included in the Custom Library. 3. Step 3 Select the Library fonts that are to be included in the Custom Library and add them to the FontPack. Hint: To easily find the fonts to be included in the Custom Library, open the Font Browser and browse the fonts until an appropriate font is found. Without closing the Font Browser Window, click the install button to add the font to the FontPack, and then continue browsing for more fonts to add. 4. Step 4 Repeat Steps 2 and 3 for each Library containing fonts to be included in the Custom Library. 5. Step 5 Save the FontPack, giving it the name you wish the Custom Library to have. Close the FontPack. Note: There is a restriction here in that a FontPack name can be at most 29 characters while a Library name can be 31 characters. If this presents a problem, give the FontPack an arbitrary 29 character name and then change the Library name to the desired name after the FontPack has been imported as a Library. See the Note in Importing a Library for how to change a Library name. 6. Step 6 Import the FontPack as a Library. 7. Step 7 Delete the FontPack unless there is another reason to retain it. The above procedure is much faster (because no font files have to be opened) and more convenient (because the user can see the font names and browse the fonts to determine which ones are appropriate) than using the font registration process. Some Useful Custom Libraries The following are some suggestions for useful collections of fonts that can be assembled in to Custom Libraries. It is by no means an exhaustive list:  Script Fonts  Pi Fonts (Symbols and other miscellaneous drawings)  Monospaced Fonts  Specialty Fonts (Bar Codes, OCR Fonts, etc.)  Language related Fonts (Cyrillic, Eastern European, Hebrew, etc.) ═══ 8.7. Creating and Using a Pre-registered Library ═══ Creating a Library by registering fonts with FontFolder is not a difficult process. However, for CDROMs that can contain hundreds of fonts (e.g. the BitStream 500 Font CDROM or the Corel 4 or Corel 5 font CDROMs) the process can be quite lengthy just because of all the work that the system must do to find all the font files and open them to extract the font name. Even on a fast system this can take 15 or 20 minutes for the larger CDROMs. Since these CDROMs are identical for all users, there is no reason this needs to be done more than once. FontFolder provides a way to transform a Library created for a font CDROM in to a Pre-registered Library for this CDROM that can be shared with other users. A Pre-registered Library is like any other Library except that it has been processed by FontFolder to remove the drive letter information from all the Library File CDROM font entries in a way that permits the drive letter to be easily re-inserted when the Library is transferred to another user's system. The CDROM Volume Serial Number information is also removed since this can be different for different copies of the same CDROM. This is also done in a way that FontFolder can restore the correct Volume Serial Number when the Library is imported in to another system. Since these are the only ways in which a font CDROM Library will differ from one system to another, the resulting Pre-registered Library is portable across systems. Note: The Pre-registered Library feature is intended for use only with font CDROMs, and can not be easily used to move other Libraries across systems. In particular, no action is taken on drive letters for fonts residing on hard drives, so this system-specific information is still present if the Library contains any registered hard drive fonts. Unless the user knows that the hard drive font directory structures are identical on two different systems, Libraries containing hard drive fonts should not be moved across systems. Creating a Pre-registered Library To create a Pre-registered Library for a Font CDROM select Export Library from the Libraries menus and select the Library to be Exported. This can be the Current Library or any other existing Library. FontFolder will create the appropriate Export Library file and present the standard OS/2 File Save dialog to allow the user to specify the file name and location. The default for the file extension is FX2 which will make it easy for the user importing the Pre-registered Library to locate the file. This is only a convention, and FontFolder will import and export the Pre-registered Library correctly no matter what extension is used. Using a Pre-registered Library To use a Pre-registered Library import the FX2 file for the Library by selecting Import Library/FX2 format library from the Libraries menus. If FontFolder already knows about this CDROM, no further interaction is required to create the Library. If this CDROM has not been seen before by FontFolder, it will ask you to identify the drive letter for the drive you intend to use for mounting this CDROM. FontFolder will also prompt you to insert your copy of the CDROM in the specified drive so that the Volume Serial Number for your copy can be read and added to the Library file. FontFolder will take care of constructing and saving a proper Library file and will add the Library name to the list of available Libraries. The Library can then be accessed via the Open Library menu item. At the time of release of FontFolder 1.2 the following Pre-registered Libraries were independently released as zipfile packages identified by an FZ2 (zipped FX2) extension. Each package contains the Pre-registered Library as a filename.FX2 file and an accompanying filename.TXT file described below:  Bitstream 500 Font CDROM  CorelDraw 2.5 for OS/2 CDROM fonts  Hobbes October, 1993 CDROM fonts In addition to the actual Library FX2 file, each Pre-registered Library ships with an accompanying TXT file that includes the following information:  The name of the CDROM from which the fonts were registered including version number, date or any other information necessary to specifically identify the CDROM;  The name and e-mail id of the creator of the Library so that the author can be contacted if users have problems or questions;  The date on which the Library was created;  The fonts excluded from the Library, if any, by the registration process as reported in FontFolder's REGFONTS.LOG file. This should only occur in registering a font CDROM if the CDROM contains more than one font with an identical 31 character font name. This may be because the same font has been included on the CDROM twice with different file names (see the example below for the Hobbes October 1993 CDROM) or because the font names for two legitimately different fonts are identical through the first 31 characters, which is all that OS/2 uses. Users of the Pre-registered Library can use this information to understand what CDROM fonts are not included in the Library, and to substitute an excluded font for the included one if desired.  The result of screening all the registered fonts, using FontFolder's font browsing capability, to identify and remove from the Library any fonts that do not display properly or cause OS/2 errors when displayed in FontFolder's Font Browser. There are a small number of properly constructed fonts that OS/2 has had a problem with in versions prior to OS/2 Warp (there are reports that the problem is corrected, or at least not as destructive in Warp, but I have not yet been able to test or otherwise verify this). In addition, there is always the possibility of a genuinely "bad" font getting included on a CDROM. (This is unlikely for "professional" font CDROMs like the Bitstream 500 Font CDROM, but could possibly occur on "collection" CDROMs like the Hobbes CDROM. I have personally never seen this occur.) By screening for these fonts and removing them, the Library creator has made a best-efforts attempt to save other users the work of doing this and to protect them from these fonts. The list of fonts excluded for this reason is included so that users who wish to do so may test these fonts for themselves. User-created Pre-registered Libraries User's who own font CDROMs are encouraged to create and share Pre-registered Libraries for these CDROMs with other users. When doing so, the user is strongly urged to follow the conventions described above to create an accompanying TXT file containing the information described, and to name the Library, the text file and the zip file using the extensions indicated. If the user has not screened the fonts for problem fonts, this should be so stated in the TXT file. Example of a TXT file for a Pre-registered Library The following is the TXT file that is shipped with the Pre-registered Library for the Hobbes October 1993 CDROM Fonts Hobbes October 1993 CDROM Fonts Notes on preregistered library: 1. 15 fonts were excluded because they had duplicate 31 character names. The relevant portion of the log file follows: Problem registering N:\PSFONTS\ARNOLD.PFB Unable to register font because the font name ArnoldBoecklin is already registered Previously registered font is N:\PSFONTS\AB______.AFM Problem registering N:\PSFONTS\CALIG___.PFB Unable to register font because the font name Caligula is already registered Previously registered font is N:\PSFONTS\CALIGULA.AFM Problem registering N:\PSFONTS\CRILLEE.PFB Unable to register font because the font name Crillee is already registered Previously registered font is N:\PSFONTS\CRILL.AFM Problem registering N:\PSFONTS\DRAGONWI.PFB Unable to register font because the font name Dragonwick is already registered Previously registered font is N:\PSFONTS\DRAGON.AFM Problem registering N:\PSFONTS\GOCMSEQ_.PFB Unable to register font because the font name GoodCityModern is already registered Previously registered font is N:\PSFONTS\GOCMASE_.AFM Problem registering N:\PSFONTS\KLINZHAI.PFB Unable to register font because the font name Klinzhai is already registered Previously registered font is N:\PSFONTS\KLINZ.AFM Problem registering N:\PSFONTS\LI______.PFB Unable to register font because the font name Livia is already registered Previously registered font is N:\PSFONTS\LIVIAOS2.AFM Problem registering N:\PSFONTS\LUXEMBRG.PFB Unable to register font because the font name Luxembourg Normal is already registered Previously registered font is N:\PSFONTS\LUXEM.AFM Problem registering N:\PSFONTS\MURIE___.PFB Unable to register font because the font name Muriel is already registered Previously registered font is N:\PSFONTS\MURIEL.AFM Problem registering N:\PSFONTS\POSTCRY_.PFB Unable to register font because the font name PostCrypt is already registered Previously registered font is N:\PSFONTS\POSTCRYP.AFM Problem registering N:\PSFONTS\RUDELSBE.PFB Unable to register font because the font name Rudelsberg is already registered Previously registered font is N:\PSFONTS\RUDEL.AFM Problem registering N:\PSFONTS\SCRIPTIT.PFB Unable to register font because the font name Script Normal Italic Normal is already registered Previously registered font is N:\PSFONTS\SCRIPT.AFM Problem registering N:\PSFONTS\STFRANCI.PFB Unable to register font because the font name SaintFrancis is already registered Previously registered font is N:\PSFONTS\SAINTFRA.AFM Problem registering N:\PSFONTS\TRIBECA.PFB Unable to register font because the font name Tribeca is already registered Previously registered font is N:\PSFONTS\TRIBE.AFM Problem registering N:\PSFONTS\UPWS____.PFB Unable to register font because the font name UpperWestSide is already registered Previously registered font is N:\PSFONTS\UPPERWES.AFM 2. 6 fonts were excluded because they did not display properly in OS/2 or caused a problem FUTBLK_.* Futuri-Black MACHINE1.* Machine Block SHALOSTI.* ShalomStick /* Problem may be that */ SHALOSCR.* ShalomScript /* these are Hebrew fonts */ SHALOOLD.* ShalomOldStyle /* that need special setup */ UPPERWES.* UpperWestSide Library created on 11/10/94 by Cliff Cullum [75013,1701] 75013.1701@compuserve.com Disclaimer: To the best knowledge of the author this library is an accurate representation of the fonts on the subject CDROM, and the information on fonts excluded is accurate. However, no warranties are given that there not errors in the library or information supplied, and no warranty is given that the fonts included in the library will function correctly with OS/2. ═══ 9. Installing Fonts in OS/2 ═══ In order to install a font in OS/2 the font must first be registered with the Current Library. To install one or more fonts in OS/2, first mark the fonts to be installed in the Library list. Then click on the Install button. Multiple fonts are marked/unmarked by holding down the Ctrl key while marking. A consecutive set of fonts in the list can be marked by dragging the mouse in the list. See Selecting items in listboxes for additional information. Once a font is installed in OS/2 from FontFolder it is immediately available for use by applications. Some applications may need to be restarted in order to see the newly installed fonts. A few applications manage their own font lists. These applications may or may not see all fonts installed in OS/2. If a newly installed font does not show up in your application, try opening the OS/2 Font Pallete and looking in the list of fonts shown via the Edit font button. If the font shows up in the Font Pallete list it is properly installed in OS/2. In this case you should contact your application vendor to find out how they are managing fonts. In addition to this basic mechanism for installing fonts in OS/2, FontFolder provides a means to create a named collection of Library fonts called a FontPack. All the fonts in a FontPack can be installed in a single action by selecting and installing the FontPack from a FontPacks listbox in a manner identical to that used to install a single font. See Using and Maintaining FontPacks for additional information. ═══ 10. Removing Fonts from OS/2 ═══ To remove one or more fonts from OS/2, first mark the fonts to be removed in the OS/2 Installed Fonts listbox. Then click on the Remove button. Multiple fonts are marked/unmarked by holding down the Ctrl key while marking. A consecutive set of fonts in the list can be marked by dragging the mouse in the list. See Selecting items in listboxes for additional information. In addition to this basic mechanism for removing fonts from OS/2, FontFolder provides a means to create a named collection of Library fonts called a FontPack. All the fonts in a FontPack can be removed in a single action by selecting and removing the FontPack from the OS/2 Installed Fonts listbox in a manner identical to that used to install a single font. See Using and Maintaining FontPacks for additional information. Removing fonts from OS/2 is a complicated operation. It is best understood by thinking of OS/2 keeping two lists of fonts.  The first OS/2 list is the long term list, kept in OS2.INI, which tells OS/2 which fonts to load on bootup. FontFolder always updates this list when a font is removed from OS/2, so the font will be gone on the next OS/2 bootup.  The other OS/2 font list is the list of fonts currently loaded and available in memory. This is the font list one sees from the OS/2 Font Palette or when opening the Font Dialog in an application that uses the standard OS/2 Font Dialog. Since multiple applications can be running in OS/2 simultaneously, OS/2 must protect one application from another application unloading a font that the first application is currently using. OS/2's mechanism for accomplishing this protection is to only permit a font to be unloaded by the process that loaded it. If an application is started, loads a font, is stopped, and then restarted, it is now running a difference process so it can no longer unload the font it originally loaded. On bootup, OS/2 loads all the fonts listed in OS2.INI in the Workplace Shell process. Thus only applications which run in the Workplace Shell process can unload these fonts while OS/2 is running. The OS/2 Font Palette is such an application; FontFolder is not. Therefore FontFolder can not remove these fonts from the list of fonts currently available in memory. FontFolder takes the view that if the user said to unload the font, it should be shown in the OS/2 Installed Fonts listbox as unloaded, so the OS/2 Installed Fonts listbox is updated and the font removed from the list even if FontFolder was unable to unload the font from OS/2 memory. As noted above, the font will be gone the next time OS/2 boots because FontFolder updates OS2.INI. Successfully Managing Fonts using FontFolder The strategy for successfully managing fonts using FontFolder is to keep loaded in OS/2 only those basic fonts that should always be available to all applications. When OS/2 boots, these should be the only fonts loaded by the Workplace Shell process. Then as fonts are needed, they can be loaded by FontFolder and then unloaded by FontFolder when they are no longer needed. For this to be successful, FontFolder must be kept loaded (not stopped and restarted). For users who expect to be regularly loading and unloading a large number of fonts during a single OS/2 session, it makes sense to include FontFolder in the OS/2 Startup Folder. ═══ 11. Font Browser ═══ The Font Browser is an independent PM window that displays information and sample text for any font shown in the listboxes in the FontFolder main window. To open the Font Browser window, either double-click on a font in one of the listboxes, or highlight a Library font and then select Font Browser from the Library menus. The Font Browser shows the Font Name and Font Pathname of the selected font and also displays sample text for the selected font. The sample text display can be varied in content and point size by the user. The content can be switched between a user-supplied text string up to 512 characters in length and a display of the ASCII character set. If a character in the sample text is highlighted, clicking Mouse Button 2 in the sample text window will pop up the ASCII code (decimal) for the highlighted character. All main window functions are available while the Font Browser is open. For example, it is possible to review a font in the Font Browser and then either install the font in OS/2 or delete it from the Current Library without having to close the Font Browser window. Both the size and location of the Font Browser window can be changed by the user. Any size changes in the Font Browser window are taken up by the Sample Text window, so the user can adjust the area available for displaying sample text (for instance to accomodate the display of larger point sizes). The font displayed will change as the selection in the main window listboxes is changed, so the user can browse the fonts by leaving the Font Browser open while changing the selected font by clicking in one of the main window listboxes. When changing the font selection to a different listbox, if the font being selected is already highlighted from an earlier selection, it is necessary to double-click on the font in order to re-select it. WARNING! Browsing fonts can use considerable memory in versions of OS/2 prior to Warp (the problem is fixed in Warp). The first few fonts browsed will consume around 50K bytes per font. Continued browsing will consume an additional 10-15K bytes per font. Browsing hundreds of fonts can cause your swap file to grow by several megabytes. This memory is not released until FontFolder is closed (closing the Font Browser Window does not release the memory). If you are short of swap file space, be careful how much font browsing you do! Font Browser Controls  Changing the Content of the Sample Text Window The sample text can either be a user-defined text string or it can be a display of all the displayable characters in the font. The choice is controlled by radio buttons to the right of the sample text window. In UserText mode the text string can be modified by directly editing it in the sample text window.  Changing the Point Size of the Sample Text The point size of the sample text can be changed via the spin button located to the right of the sample text window. The sizes available can range from 1 to 99 points, and can be modified by the user via the Settings Notebook.  Displaying the ASCII code for a character While displaying the character set for the font, highlight a character and click Mouse Button 2 (default: right mouse button) to display the ASCII character code for the character. If multiple characters are selected, the code for the first selected character will be displayed. An easy way to highlight a single character is to set the Insert/Overwrite toggle (Insert key) to Overwrite.  Printing samples of the displayed font Click on the print button to print a Specimen Sheet or Character Set for the displayed font.  Tear-Off font samples When viewing a font sample, chose Tear Off from the Sample Text window popup menu to tear off and save the font sample in a separate window so it can be compared with other samples. Up to 10 font samples can be torn off in this manner.  Setting Tear-Off font sample Window Sizes and Positions The default behavior when creating a Tear-Off font sample window is to make the window the same size as the Sample Text window and to offset it slightly from this window. This behavior can be modified by choosing Learn Tear-Off Pos from the Sample Text window popup menu. Check this item to put FontFolder in Learn mode and then open, size and position up to the maximum of 10 Tear-Off windows. Then, either un-check Learn Tear-Off Pos or close the main Browser window. At this point FontFolder will store the size and position for each open Tear-Off window in the order that they were opened. Tear-Off windows that were not opened or were opened and then closed before ending Learn mode will have the default size and position. All changes made to the Font Browser are stored for use in subsequent sessions. This includes size and position, user text string, point size and user text/character set selection. ═══ 11.1. Tear-Off Font Samples ═══ When viewing a font sample with the Font Browser the user can tear off the sample window and save it so that the font sample can be compared with other samples. The sample is preserved in an independent OS/2 window whose title bar contains the font name. Up to 10 font samples can be torn off in this manner. Tear-Off windows can be moved and resized by the user. They can be independently closed at any time, or the may be left open and all closed at once by closing the Font Browser. To tear off a font sample, click Mouse Button 2 on the Font Sample window in the Font Browser. Then click Tear off on the popup menu. A new window will open containing the font sample, offset slightly from the Font Sample window. This window can be moved and sized as desired by the user. Each Tear-Off window can be set to either be totally independent of the main Font Browser window, or to track changes such as point size and User Text/Character Code display in the main window. To change the setting for any Tear-Off window, click Mouse Button 2 in the window and check or uncheck the Track Browser item on the popup menu. The intitial setting for tracking when the Tear-Off window is created is controlled by a setting on the Other Page of the FontFolder Settings Notebook. The default behavior when creating a Tear-Off font sample window is to make the window the same size as the Sample Text window and to offset it slightly from this window. This behavior can be modified by choosing Learn Tear-Off Pos from the Sample Text window popup menu. Check this item to put FontFolder in Learn mode and then open, size and position up to the maximum of 10 Tear-Off windows. Then, either un-check Learn Tear-Off Pos or close the main Browser window. At this point FontFolder will store the size and position for each open Tear-Off window in the order that they were opened. Tear-Off windows that were not opened or were opened and then closed before ending Learn mode will have the default size and position. ═══ 12. Creating and Using FontPacks ═══ A FontPack is a named collection of fonts that can be installed and removed as a single unit. The user creates and manages FontPacks in much the same way as he or she manages the fonts installed in OS/2. Choosing New under FontPacks on the menu bar or from the FontPacks popup menu places FontFolder in FontPack Edit mode, which allows fonts to be added to and removed from the FontPack. In this mode the FontFolder main window changes the right hand listbox to display the FontPack Fonts listbox, which shows the fonts currently installed in the FontPack. Once the appropriate fonts have been installed in the FontPack, it can be saved by choosing Save or Save As from the menu bar or the FontPack Fonts popup menu. The user is prompted to give the FontPack a name, which can be any string up to 29 characters in length. Once it is named and saved, the FontPack is available for installation in OS/2. All currently existing FontPacks are listed in the FontPacks listbox in the FontFolder main window. To install a FontPack, the user highlights the FontPack name in the FontPacks listbox, and clicks on the Install button to the right of the FontPacks listbox. All of the fonts in the FontPack are installed in OS/2, and in addition the name of the FontPack is added to the OS/2 Installed Fonts listbox. The name is bracketed with special characters to signal that it is a FontPack, e.g. My FontPack. To remove a FontPack and all its fonts from OS/2, the user highlights the FontPack name in the OS/2 Installed Fonts listbox, and clicks on the Remove button. The FontPack and all its fonts are removed from OS/2. FontPack menu items can be found both under FontPacks on the main menu bar and on the popup menus for the FontPacks listbox and the FontPack Fonts listbox which appears as the listbox on the right side of the main window when in FontPack Edit mode. The popup menus each contain a subset of the main menu commands that are appropriate to the parent listbox. Throughout this Help material, this collection of menus is referred to as the FontPack menus. For further information on using FontPacks, see the following:  Installing a FontPack in OS/2  Removing a FontPack from OS/2  Creating a FontPack  Printing a FontPack  Editing an existing FontPack  Saving a FontPack (Save and Save As)  Deleting a FontPack  Reverting a FontPack to the backup version  Quitting FontPack Edit mode ═══ 12.1. Installing a FontPack in OS/2 ═══ To install a FontPack in OS/2, first click on the FontPack name in the FontPacks listbox in the FontFolder main window to select the FontPack, and then click on the Install button to the right of of the FontPacks listbox. All of the fonts in the FontPack will be installed in OS/2. In addition, the FontPack name will be added to the OS/2 Installed Fonts listbox to indicate that the FontPack is installed. The name will be enclosed in angle brackets, Example If a FontPack named My FontPack is installed in OS/2, the OS/2 Installed Fonts listbox will contain an entry of the form My FontPack All installed FontPack names will appear at the beginning of the list in the OS/2 Installed Fonts listbox, before the individual font names. Note: If all the fonts in the FontPack are already installed in OS/2, the FontPack name will not be listed in the OS/2 Installed Fonts listbox. This presumption here is that since all the fonts were installed prior to installing the FontPack, the user would not want the fonts to be removed when the FontPack is removed. The only way to accomplish this is by not adding the FontPack name to the OS/2 Installed Fonts listbox. If the user wishes the name to be added (and the fonts to be removed when the FontPack is removed), first remove any one of the fonts contained in the FontPack from OS/2, and then install the FontPack. Since now one of the fonts in the FontPack is new, the FontPack name will be added to the OS/2 Installed Fonts listbox. ═══ 12.2. Removing a FontPack from OS/2 ═══ To remove a FontPack (and all its fonts) from OS/2, first click on the FontPack name in the OS/2 Installed Fonts listbox in the FontFolder main window to select the FontPack, and then click on the Remove button below the OS/2 Installed Fonts listbox. All of the fonts in the FontPack will be removed from OS/2. The FontPack name will also be removed from the OS/2 Installed Fonts listbox. Note: It is possible for a given font to be "installed" in OS/2 multiple times as a result of being installed as an individual font and/or being installed because it is part of one or more FontPacks. When a FontPack is removed from OS/2, all the fonts that are part of the FontPack are removed, even if a font has also been installed individually or as part of another FontPack. This does not cause a problem for FontFolder or OS/2, but it can cause the user a problem if he or she mistakenly believes the font is still installed. The list of installed fonts in the OS/2 Installed Fonts listbox is always correct, but the fact that a given FontPack is shown as installed can not be relied on in this case. It is a good idea when creating FontPacks to try as much as possible to avoid having the same fonts included in FontPacks which might be installed at the same time. If in doubt, the user can make certain all the fonts in a given FontPack are installed by installing the FontPack again. The FontPack does not have to be removed prior to reinstallation. ═══ 12.3. Creating a FontPack ═══ To create a new FontPack, click on New under FontPacks in the menu bar or in the FontPacks popup menu. The FontFolder main window will change to FontPack Edit mode, replacing the OS/2 Installed Fonts listbox in the right hand portion of the screen with the FontPack Fonts listbox. The text above the listbox changes to say Editing FontPack on the first line. The second line shows the name of the FontPack being edited. For a new FontPack the name shown is Untitled. The listbox shows the fonts currently installed in the FontPack. For a new FontPack the list is empty. Adding one or more fonts to the FontPack is accomplished in exactly the same way as installing fonts in OS/2. Select one or more fonts in the Library listbox by clicking on them, and then click on the Install button located adjacent to the Library listbox. The selected fonts will be added to the FontPack Fonts listbox. The user is free to change Libraries while adding fonts to a FontPack. The only restriction is that a single FontPack may contain fonts from at most 10 different CDROMs. To remove fonts from the FontPack, first select the fonts to be removed in the FontPack Fonts listbox, and then click on the Remove button below the listbox. Once the FontPack contains the desired fonts, the FontPack can be named and saved by clicking on either Save or Save As from the FontPack menus. Since the FontPack has not yet been named, both Save and Save As will display a dialog box where the user can enter a name for the FontPack. The name can be any text string up to 29 characters long. Spaces and other special characters are permitted, although it is recommended not to use backslashes (\) or the characters () and () as these have special meanings. Example Names Basic Fonts FontPack # 5 Calligraphic Fonts Spreadsheet Fonts Monthly Sales Report Fonts Once the name has been entered, click the OK button. The FontPack will be saved in the directory identified in the Path to FontFolder data files. See Saving a FontPack for more details. After saving the FontPack, the user can either quit FontPack Edit mode by choosing Close from the FontPack menus, or edit another FontPack by choosing New or Open from the FontPack menus or by double-clicking on an existing FontPack name in the FontPacks listbox. If the user chooses Close before saving the FontPack, the user will be prompted as to whether the FontPack should be saved before quiting. Choosing No will end FontPack Edit mode without creating the FontPack. ═══ 12.4. Editing an existing FontPack ═══ To edit an existing FontPack, either first highlight the FontPack in the FontPacks listbox and then select Open from the FontPack menus, or else double-click on the FontPack in the FontPacks listbox. The FontFolder main window will change to FontPack Edit mode, replacing the OS/2 Installed Fonts listbox in the right hand portion of the screen with the FontPack Fonts listbox. The text above the listbox changes to say Editing FontPack on the first line. The second line shows the name of the FontPack being edited, and the listbox shows the fonts currently installed in the FontPack. When in FontPack edit mode, you can also change to editing a different FontPack by double-clicking on the new FontPack name in the FontPacks listbox or choosing New or Open from the FontPack menus. Adding one or more fonts to the FontPack is accomplished in exactly the same way as installing fonts in OS/2. Select one or more fonts in the Library listbox by clicking on them, and then click on the Install button located adjacent to the Library listbox. The selected fonts will be added to the FontPack Fonts listbox. The user is free to change Libraries while adding fonts to a FontPack. The only restriction is that a single FontPack may contain fonts from at most 10 different CDROMs. To remove fonts from the FontPack, first select the fonts to be removed in the FontPack Fonts listbox, and then click on the Remove button below the listbox. Once the FontPack editing is complete, the FontPack can be saved by clicking on Save in the FontPack menus. If the user wishes to change the name of the FontPack, this can be done by clicking on Save As in the FontPack menus. A dialog box will prompt for a name for the FontPack. Once a name is supplied, clicking the OK button will save the FontPack with the new name. The old FontPack will still be available under the original name. If the old FontPack is no longer wanted, it can be deleted (See Deleting FontPacks). After saving the FontPack, the user can either quit FontPack Edit mode by choosing Close from the FontPack menus, or edit another FontPack by choosing New or Open from the FontPack menus or by double-clicking on an existing FontPack name in the FontPacks listbox. If the user chooses Close before saving the FontPack, the user will be prompted as to whether the FontPack should be saved before quiting. Choosing No will end FontPack Edit mode without saving the changes to the FontPack. ═══ 12.5. Saving a FontPack (Save and Save As) ═══ When in FontPack Edit mode, a FontPack can be saved by clicking on either Save or Save As in the FontPack menus. Save is used to save an already existing FontPack under its present name. Save As is used to either save a new (as yet unnamed) FontPack, or to save an existing FontPack under a new name. If Save is clicked for a new FontPack, Save As will be invoked instead. Once the FontPack has been saved, the user is returned to FontPack Edit mode. The name of the FontPack currently being edited shows above the FontPack Fonts listbox. If Save As was chosen and the FontPack name modified, the FontPack being edited will be the one named in Save As. Save Clicking on Save for an existing FontPack will immediately save the current contents of the FontPack Fonts listbox to the file corresponding to the FontPack name. The existing version of the file will first be saved as a backup version. To access the backup version of the FontPack, see Reverting a FontPack to the backup version. If the FontPack has not yet been named, clicking on Save will invoke Save As instead. Save As Clicking on Save As opens a dialog box which prompts the user to provide a name for the FontPack. If the FontPack has not yet been named, Untitled will appear in the entry field already highlighted so that it can be replaced. A FontPack can not be saved with the name Untitled. An attempt to do so will be rejected. The user can enter any text string of up to 29 characters. Spaces and other special characters are permitted, although it is recommended not to use backslashes (\) or the characters () and () as these have special meanings. Example Names Basic Fonts FontPack # 5 Calligraphic Fonts Spreadsheet Fonts Monthly Sales Report Fonts Once the name has been entered, click the OK button. The FontPack will be saved in the directory identified in the Path to FontFolder data files. If the FontPack already has a valid name, this name will appear in the entry field. If the FontPack name is not modified, then clicking OK will cause the FontPack to be saved to the existing FontPack file as if the user had chosen Save instead of Save As. If the FontPack name is modified, then clicking OK will cause a new, additional FontPack to be created under the new name. This new name will be added to the FontPacks listbox. The original FontPack will still be available under its old name. If the user no longer wants this old FontPack, it can be deleted (See Deleting a FontPack). A FontPack file with a filename of the form FNTPKnnn.FP2 will be created to store the list of fonts in the FontPack. nnn is a number from 0 to 99 that is managed by FontFolder to assure that there is a unique filename for every FontPack. FontFolder is currently limited to a maximum of 100 simultaneously defined FontPacks. If the user chooses Cancel from the Save As dialog box, the user is returned to FontPack Edit mode and the FontPack is not saved. Changes to the FontPack name are discarded. ═══ 12.6. Deleting a FontPack ═══ To delete a FontPack, first select the FontPack to be deleted in the FontPacks listbox, and then click Delete in the FontPack menus. This operation can not be performed while FontFolder is in FontPack Edit mode. The user will be prompted to confirm that he or she wants to delete the indicated FontPack. Choosing Yes will delete the FontPack. Choosing No cancels the operation. Once a FontPack is deleted, all records of it are erased from FontFolder, the associated FontPack files are deleted, and the filename corresponding to the FontPack is returned to the FontFolder pool of unused FontPack filenames. ═══ 12.7. Reverting a FontPack to the backup version ═══ Once a FontPack has been saved at least twice, FontFolder maintains a backup copy of the FontPack file that contains the immediately previous version of the FontPack. If the user wants to revert to the previous version of the FontPack, this can be done by choosing Revert from the FontPack menus when in FontPack Edit mode (Revert is only available in FontPack Edit mode). The user will be prompted to confirm the operation. Choosing Yes will replace the existing version of the FontPack with the previous version. At the same time, the existing version will now be made the backup version, so another Revert will restore the FontPack to the original version. Choosing No from the confirmation dialog will cancel the operation. ═══ 12.8. Quitting FontPack Edit mode ═══ To quit FontPack Edit mode, choose Close from the FontPack menus. If the currently open FontPack has changed since the last Save or Save As, the user will be asked if the FontPack should be saved before quitting. Choosing Yes or closing the dialog box without making a choice will result in the FontPack being saved before quiting FontPack Edit mode. If the FontPack has not yet been named (name shown as Untitled), the Save As dialog procedure will be invoked. In this case choosing Cancel or closing the dialog box without making a choice will result in the FontPack not being saved. ═══ 13. Using Fonts on CDROMs ═══ To use a font in OS/2, OS/2 must either have or be able to create a font OFM file in the same directory as the font PFB file. Since no CDROMs today come with OFM files, this makes it necessary to copy the CDROM font files to a hard drive in order to use them with OS/2. This has left the user the choice of either consuming a large amount of hard drive space by moving all the font files to a hard drive location, or else manually managing the installation and removal of individual CDROM fonts as needed. FontFolder overcomes this limitation, allowing the user to directly see and browse all CDROM fonts directly from the CDROM and at the same time permitting the same simple point and click font installation available for hard drive fonts. FontFolder does this by accessing the fonts directly from the CDROM when browsing, and by automatically moving the required font files to a special directory call the FontCache when the fonts are installed in OS/2. When a CDROM font is later uninstalled from OS/2, FontFolder detects that the font files reside in the FontCache and automatically erases them. Thus hard drive space is only required for CDROM fonts while they are installed in OS/2, and this space is automatically managed by FontFolder. Note: There is a problem in OS/2 if a font is installed, removed and then reinstalled in OS/2 all in the same session. To circumvent this problem, FontFolder saves the OFM file in the Font Cache in case the user wants to reinstall the font in the same session. OFM files are typically around 5 KB, so the space consumed is minimal. These OFM files are erased when FontFolder is closed. The CDROM support is activated from the Settings Notebook by identifying the CDROM drive letter(s) on the Drives page and specifying a path to the FontCache on the Paths page. On a new FontFolder installation, the CDROM drive(s) will be identified automatically and a default FontCache path will be set. (It is recommended that these automatic settings be reviewed for accuracy and suitability before using the CDROM support.) If FontFolder has been upgraded from Version 1.1 or earlier, the user may need to open the Settings Notebook and make these changes manually to activate the CDROM support, depending on what options were chosen at the time of the upgrade. Registering CDROM Fonts Once the CDROM support is activated, the user interacts with CDROM fonts in much the same way as with any other fonts. The first task is to Register the CDROM fonts with a FontFolder Library. This can be done either with an existing library or the user may create a new library specifically for this CDROM. Because of the large number of fonts involved, most users will probably want to create a separate library (or several) for each CDROM. Also, FontFolder supports Pre-registered Libraries and provides several for common CDROMs, eliminating the need for the user to carry out the registration step. When the user first registers the fonts from a CDROM with FontFolder, the user is prompted to supply a User Label for the CDROM that can be any 31 character text string. This User Label will be used by FontFolder to identify the CDROM to the user when the CDROM is needed when dealing with the CDROM fonts. This User Label, along with the volume label and serial number of the CDROM is recorded in FontFolder and all fonts from this CDROM are tagged in a way that ties them to this volume information. The CDROM fonts are registered with the library from their locations on the CDROM; no font files are copied to the hard drive at this time. Note: FontFolder will enforce a unique identity for each CDROM. Only one User Label and one drive location for each CDROM is allowed. When FontFolder runs in to a previously registered CDROM, it will check this information and prompt the user to resolve any inconsistencies. Later, if the user decides to browse one of the fonts from this CDROM, FontFolder will detect that it is a CDROM font, retrieve the volume information, and check the CDROM drive associated with this volume (multiple CDROM drives are supported for those among us wealthy enough to have such luxury) to see if the correct CDROM is mounted, and if necessary prompt the user to insert the correct CDROM in the drive, using the User Label supplied. Installing CDROM Fonts in OS/2 When the users installs one or more fonts from a CDROM in OS/2, a procedure identical to that described for browsing fonts is followed in order to get the correct CDROM in the drive. Once that is accomplished, FontFolder will copy the font files for the selected fonts to a special FontCache directory on the hard drive (identified on the Paths page. in the Settings Notebook), and install them from there. When the user uninstalls the fonts, FontFolder detects that they are in the FontCache and deletes the files from the hard drive. CDROM fonts only take up hard drive space when the fonts are actually installed in OS/2. Note: This is the same mechanism used to support fonts on Network drives, and they share the FontCache. Organizing CDROM Fonts One logical way to organize CDROM fonts is to put them in their own library to avoid having to be constantly swapping CDROMs while browsing through the fonts in a given library. For CDROMs with very large nubers of fonts, it may even be more convenient to split a single CDROM across multiple libraries (e.g. font names beginning with A_H in one library, I-P in a second, and Q-Z plus non-alpabetic names in a third) to improve library loading performance. See Creating and Using Libraries for information on how to set up one or more libraries devoted to CDROM fonts. While an exclusive library devoted to a single CDROM often makes sense, there are times when it makes sense to mix fonts from multiple CDROMS in the same library (e.g. a custom library listing all the user's script fonts from all sources). FontFolder supports mixing hard drive fonts, network drive fonts and fonts from up to 10 CDROMs in a single library or FontPack. When operating on fonts in a mixed environment (e.g. installing or uninstalling them), FontFolder will sort the fonts so that all the fonts from a single CDROM are processed before it prompts to insert the next CDROM. ═══ 14. Using Fonts on Network Drives ═══ FontFolder permits users to keep their font libraries on Network Drives provided those drives have drive letter aliases. UNC Names are NOT SUPPORTED and will cause problems if used. If the user identifies certain drive letters as Network Drive Letters in the Settings Notebook, FontFolder will use the font files directly from the network drive while making sure that the fonts actually installed in OS/2 are available locally so that OS/2 can access them on bootup. FontFolder does this by maintaining a Font Cache on a local hard drive, designated by the user. When the user installs a font in OS/2, FontFolder examines the drive letter of the font file and if the drive has been designated as a network drive then FontFolder copies the necessary files to the Font Cache and installs them in OS/2 from that location. If the font is later removed from OS/2, FontFolder recognizes that the font being removed is a Font Cache font and deletes the font files from the Font Cache. Note: There is a problem in OS/2 if a font is installed, removed and then reinstalled in OS/2 all in the same session. To circumvent this problem, FontFolder saves the OFM file in the Font Cache in case the user wants to reinstall the font in the same session. OFM files are typically around 5 KB, so the space consumed is minimal. These OFM files are erased when FontFolder is closed. Identifying Network Drives to FontFolder: To use the Network Drives capability of FontFolder the user must identify a drive as a Network Drive on the Drives Page of the FontFolder Settings Notebook, and set the path to the FontCache on the Paths Page of the FontFolder Settings Notebook. Once this has been done, FontFolder will automatically manage all fonts on this drive as Font Cache fonts. ═══ 15. Printing ═══ FontFolder has the capability of printing a variety of font-related output. The following are the currently supported types of printout:  Specimen Sheet A page containing single line and paragraph samples in a variety of point sizes for a single font, plus a sample of commonly used characters in the font.  Character Set A page showing all 255 characters in a single font for the current code page.  Font Catalog One or more pages showing single line samples of all fonts in the user-selected collection of fonts.  Font List One or more pages showing the directory location and filename of the font OFM or AFM file for all fonts in the user-selected collection of fonts. The user may choose to print a single font, a selection of fonts, or all the fonts in the current installed font list, any library, or any fontpack. Printing can be initiated from the main window menu bar, from the popup menu for any list in the main window, or via the Print button in the Font Browser. Print Customization The Print Dialog provides the user with extensive customization capabilities.  Printing may be to any printer known to OS/2, and a custom setup for that printer can be stored in FontFolder.  Users may replace the fonts used for descriptive text in any printout with any installed ATM font.  All text and paragraph strings plus the character set printed on the Specimen Sheet can be replaced by the user.  Page margins can be customized for each printer and adjusted separately for left and right hand pages.  Both automatic and manual (multi-pass) duplexing are supported. Printing Large Font Collections FontFolder is capable of printing very large collections of fonts, whether or not they are currently installed. For example, a user might select to print a Font Catalog for the entire 2000 Fantastic Fonts for Windows CDROM, which would be 100 pages (50 sheets of paper if duplexed). Although it is not recommended, FontFolder can even accept and execute instructions to print Specimen Sheets and Character Sets for all fonts on this CDROM (note that this amounts to 4000 pages of printout, which is why it isn't recommended). Since it is not possible to print using a font unless the font is actually installed in OS/2, FontFolder transparently manages the installation, printing and removal of fonts as required for this printing. FontFolder Print Queue In order manage the temporary installation of large numbers of fonts without putting a strain on OS/2, FontFolder creates and manages its own print queue. Jobs are queued for printing in this queue, and then metered out to the OS/2 print queue in such a way as to keep both the number of extra installed fonts and the size of the spooled print jobs to a reasonable level. As jobs exit the OS/2 print spooler to the printer they are replaced by new jobs until all jobs have been printed. The user has a view of jobs waiting to print in the FontFolder print queue, and can delete some or all jobs waiting to print. Printing from Font CDROM's FontFolder can print uninstalled fonts that reside on CDROM's, but printing may only be done from one CDROM at a time since the CDROM must be mounted in the drive during the entire duration of the printing operation. Note: Users who have multiple CDROM drives can queue up print jobs for each mounted CDROM, but a given print job can contain fonts from only one CDROM. When printing uninstalled fonts that reside on a CDROM, the CDROM must be kept in the drive until all fonts have been sent to the printer. FontFolder monitors whether fonts reside on a CDROM and prompts users to insert the proper CDROM when required. It also inserts a message in the list of jobs waiting to print informing the user of the need to keep the CDROM mounted, and after all fonts have successfully printed informs the user that the CDROM can be safely removed. Background Printing Printing large numbers of fonts can take a very long time. FontFolder manages this printing entirely in the background. Once a user has selected the fonts to be printed and set up the print job via the Print Dialog, no further user intervention is required. Print jobs are created, queued, and dispatched on separate threads, and the actual printing is carried out in separate OS/2 processes, one for each print job. At present FontFolder allows at most two independent print processes to be running simultaneously in order to control the number of fonts loaded, as explained above. The print processes carry out their resource-intensive work at a very low priority so as not to degrade the performance of other OS/2 processes. Temporary Font Installation Since OS/2 is a multitasking operating system, you may of course use any other application while FontFolder is printing. However, note that FontFolder must temporarily install fonts in order to print with them. During the period that fonts are temporarily installed, these fonts will show up in the font menus of other OS/2 applications. If you select fonts in other OS/2 applications while FontFolder is printing (for example in a word processor like Describe), be sure to only select from those fonts that you know are installed in OS/2. If in doubt, consult FontFolder's list of Installed Fonts. This list will always be correct since it is not affected by this temporarly installation of fonts. For more information on printing, see the follow topics:  Selecting Fonts to Print  Types of Printout Available  Print Dialog - Printer Setup Dialog - Margins Setup Dialog - Fonts Setup Dialog - Duplex Setup Dialog  The FontFolder Print Window - Jobs Waiting to Print  Exiting FontFolder while Printing is still under way  How FontFolder Prints - Technical Details ═══ 15.1. Selecting Fonts to Print ═══ FontFolder offers three ways of selecting fonts and printing them:  Choose Print from the FontFolder main menu;  Use Mouse Button 2 to bring up the popup menu for the Library list, the Installed Fonts list, the FontPackFonts list, or the FontPacks list, and choose Print from that menu;  Click on the Print button in the Font Browser when browsing a font. In most cases, the user may choose to print either all the fonts in a list or a selected subset of the fonts. The exceptions are in the case of the FontPacks list, where the only option is to print all the fonts in the selected FontPack (to print a subset of the fonts in a FontPack, first open the FontPack for editing, and then choose the subset of fonts from the FontPack Fonts list ), and when choosing Print from the Font Browser which only applies to the single font currently displayed in this window.  To print all the fonts in a list, simply select Print and then All fonts... using either of the first two methods above.  To print a subset of the fonts, first mark the fonts to be printed, and then choose Print and then Selected fonts... using either of the first two methods above. When printing a subset of fonts, it is necessary to mark the selected fonts first, before choosing the Print option. In all cases, once the choice has been made as to the fonts to print, the Print Dialog will open, allowing the user to choose the type of printout, the printer, and to customize the printing. Printing does not begin until the user clicks on the Print button in the Print Dialog. The user also has the option of choosing to cancel the print operation by choosing Cancel from the Print Dialog. ═══ 15.2. Types of Printout Available ═══ FontFolder has the capability of printing a variety of font-related output. Select from the following list for a detailed description:  Specimen Sheet  Character Set  Font Catalog  Font List ═══ 15.2.1. Specimen Sheet ═══ A Specimen Sheet is a collection of sample print in a single font at different point sizes. It includes samples of a single line of text at various point sizes beginning with 72 points and decreasing to 6 points, a single column paragraph of text at 12 points, the same paragraph printed in two-column format at 10 points, and finally a box displaying a matrix of 81 of the most commonly used characters at 18 points. The name of the font is printed at the top of the page in a descriptive font (Helvetica Bold is the default), and the name is also printed vertically along the outside edge of the page using the font being displayed. This latter allows easier search for a font with a particular "look" when font samples are assembled in a book. The footer displays the source from which the font was selected (library, fontpack or installed fonts), and the codepage in use when the page was printed. Customizing the Specimen Sheet All printouts can be customized as to descriptive text fonts, margins and duplexing options such as left or right hand orientation of the page. See the Help for the Fonts Setup Dialog, the Margins Setup Dialog and the Duplex Setup Dialog for details of these customizations. The customizations available specifically for the Specimen Sheet printout are:  Line Text The single line of text printed at various point sizes is stored in an ASCII file called LINE.TXT in the FontFolder directory. The default text string consists of the uppercase and lowercase letters of the alphabet and the numerals 0-9. The user may replace this file with any other ASCII file containing a single line of text. The text should not contain newline characters. There is no limit on the length of this string defined in FontFolder, but the width of a page limits the printable string to around 128 characters. When printed, each line will be truncated at the last character which fits within the allotted space.  Paragraph Text The text used for paragraph printing is contained in an ASCII file called PGRAPH.TXT in the FontFolder directory. The default text is from a book called "The Water World", published in 1884, and thus free of any copyright restrictions. The user may replace the file with another ASCII text file, but in doing so it is important to prepare the text with an editor that does not insert newline characters at the end of a line. The OS/2 System Editor is a suitable editor for this purpose, but the OS/2 Advanced Editor is not. Newline characters will not invalidate the text file, but they will be converted to spaces when printed, resulting in overly large separation between words in the printout. Similarly, the text should be all one paragraph rather than multiple paragraphs.  Character Box Characters The characters displayed in the Character Box are taken from an ASCII file called CHARBOX.TXT in the FontFolder directory, and are displayed in the Character Box in row order as they appear in the CHARBOX.TXT text string. There are exactly 81 characters in the string. The default string consists of the uppercase and lowercase letters of the alphabet, the numerals 0-9, and a selected set of punctuation marks and other special characters. The user may replace this file with another ASCII text file containing a string of 81 characters of the user's choosing. Any character available from the current code page may be used, and spaces should not be inserted between characters (spaces will be interpreted as characters and assigned to Character Box positions). If the text string is longer or shorter than 81 characters, the string will be truncated or blanks inserted to provide exactly 81 characters. Note: While any character in the code page may be included, there is no guarantee that a given font will have a character available in this code page position. In this case a blank will be printed instead.  Descriptive Text Fonts Descriptive Text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, etc. Fonts used for descriptive text can be changed by the user to any installed Type 1 font. The point size used to print descriptive text is fixed by the program and can not be changed by the user. There are two descriptive text fonts used in printing the Specimen Sheet. The font name is printed at the top of the page in what is known as the Title Font. The default font used to print this is Helvetica Bold, and is common to the title bar on all printouts. This font may be changed via the Title Font entry in the Fonts Setup Dialog. This is a global change that applies to all types of printout, not just Specimen Sheets. All other descriptive text on the page is printed in what is known as the Specimen Sheet Text font. The default is for this font to be whatever is entered in the Global Text Font setting in the Fonts Setup Dialog. The default for the Text Font entry is Helvetica. This global setting may be changed for all printing via the Text Font entry in the Fonts Setup Dialog, or a custom font can be used only for the Specimen Sheet page by entering the font name in the Specimen Sheet Text entry in the Fonts Setup Dialog. In the absence of an entry in this field, FontFolder will use the Text Font entry in the Global settings. ═══ 15.2.2. Character Set ═══ A Character Set is a display of each of the 255 possible characters that can be printed for a given code page for a single font. FontFolder provides three different formats for the Character Set page, selectable from the Print Dialog. The three formats provide basically the same information, the only difference is in appearance. In each case the ASCII code (decimal number 0-255) for a character is shown along with the character itself. The character displayed depends both on the font and on the code page currently in use in OS/2. The name of the font is printed at the top of the page in a descriptive font (Helvetica Bold is the default), and the name is also printed vertically along the outside edge of the page using the font being displayed. This latter allows easier search for a font with a particular "look" when font samples are assembled in a book. The footer displays the source from which the font was selected (library, fontpack or installed fonts), and the codepage in use when the page was printed. Customizing the Character Set All printouts can be customized as to descriptive text fonts, margins and duplexing options such as left or right hand orientation of the page. See the Help for the Fonts Setup Dialog, the Margins Setup Dialog and the Duplex Setup Dialog for details of these customizations. The customizations available specifically for the Character Set printout are:  Character Set Page Layout As noted above, the user may select one of three different formats for the Character Set page. The three formats contain the same information, but present it in three different layouts. The user chooses the preferred layout in the Print Dialog window.  Descriptive Text Fonts Descriptive Text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, etc. Fonts used for descriptive text can be changed by the user to any installed Type 1 font. The point size used to print descriptive text is fixed by the program and can not be changed by the user. There are two descriptive text fonts used in printing the Character Set. The font name is printed at the top of the page in what is known as the Title Font. The default font used to print this is Helvetica Bold, and is common to the title bar on all printouts. This font may be changed via the Title Font entry in the Fonts Setup Dialog. This is a global change that applies to all types of printout, not just Character Sets. All other descriptive text on the page is printed in what is known as the Character Set Text font. The default is for this font to be whatever is entered in the Global Text Font setting in the Fonts Setup Dialog. The default for the Text Font entry is Helvetica. This global setting may be changed for all printing via the Text Font entry in the Fonts Setup Dialog, or a custom font can be used only for the Character Set page by entering the font name in the Character Set Text entry in the Fonts Setup Dialog. In the absence of an entry in this field, FontFolder will use the Text Font entry in the Global settings. ═══ 15.2.3. Font Catalog ═══ A Font Catalog prints one line samples of each of the fonts selected for printing. Fonts are printed 20 to a page, and as many pages are printed as are required to print samples of all the selected fonts. A Font Catalog printout is appropriate for printing all or a selected subset of the fonts in a library, fontpack, or the installed fonts. This printout option is not available when choosing the Print button in the Font Browser since only a single font is selected for printing in this case. The name of the source from which the fonts were selected (library, fontpack or installed fonts) is printed at the top of the page in a descriptive text font (Helvetica Bold is the default). The page is arranged in two-column format. For each font being displayed, the name of the font is printed in the first column in a descriptive text font (Helvetica is the default), and a sample text string is printed in the second column using the font being displayed at 14 points. The default text string consists of the uppercase and lowercase alphabet and the numerals 0-9. Both the name of the font and the text string are truncated as required to fit within the allotted column space. Note: No fonts names should be truncated when using the default Helvetica font, but they may get truncated if this font is replaced with a different one that has wider average character widths. The footer displays the date and time at which the fonts were selected for printing (this allows users to take a snapshot of the contents of libraries, fontpacks or the installed fonts at a given time for later reference). The footer also optionally contains the page number. Customizing the Font Catalog All printouts can be customized as to descriptive text fonts, margins and duplexing options such as left or right hand orientation of the page. See the Help for the Fonts Setup Dialog, the Margins Setup Dialog and the Duplex Setup Dialog for details of these customizations. The customizations available specifically for the Font Catalog printout are:  Font Catalog Text String The sample text printed for each font is stored in an ASCII file called CATALOG.TXT in the FontFolder directory. The default text string consists of the capital and lowercase letters of the alphabet and the numerals 0-9. The user may replace this file with any other ASCII file containing a single line of text. The text should not contain newline characters. There is no limit on the length of this string defined in FontFolder, but the width of a page limits the printable string to around 50 characters. When printed, each line will be truncated at the last character which fits within the allotted space.  Page Numbers The user can choose to print page numbers in the footer at the outside edge of each page via a setting in the Print Dialog. This setting is shared with the Font List printout. Both the format of the page numbering and the starting page number can be set via the Print Dialog. By altering the starting page number, users can split the printing of large Font Catalogs in to several jobs, and adjust the starting page number of each job so that the final catalog printout will have consecutive page numbers. See the Help for the Print Dialog for a fuller description of page numbering.  Descriptive Text Fonts Descriptive Text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, etc. Fonts used for descriptive text can be changed by the user to any installed Type 1 font. The point size used to print descriptive text is fixed by the program and can not be changed by the user. There are two descriptive text fonts used in printing the Font Catalog. The name of the source from which the fonts were selected (library, fontpack or installed fonts) is printed at the top of the page in what is known as the Title Font. The default font used to print this is Helvetica Bold, and is common to the title bar on all printouts. This font may be changed via the Title Font entry in the Fonts Setup Dialog. This is a global change that applies to all types of printout, not just Font Catalogs. All other descriptive text on the page is printed in what is known as the Font Catalog Text font. The default is for this font to be whatever is entered in the Global Text Font setting in the Fonts Setup Dialog. The default for the Text Font entry is Helvetica. This global setting may be changed for all printing via the Text Font entry in the Fonts Setup Dialog, or a custom font can be used only for the Font Catalog page by entering the font name in the Font Catalog Text entry in the Fonts Setup Dialog. In the absence of an entry in this field, FontFolder will use the Text Font entry in the Global settings. ═══ 15.2.4. Font List ═══ A Font List prints the name of each selected font followed by the fully qualified path and filename for the OFM or AFM file for the font as listed in FontFolder's registration database or in OS2.INI in the case of installed fonts. Fonts are printed 20 to a page, and as many pages are printed as are required to print all the selected fonts. A Font List printout is appropriate for printing all or a selected subset of the fonts in a library, fontpack, or the installed fonts. This printout option is not available when choosing the Print button in the Font Browser since only a single font is selected for printing in this case. The name of the source from which the fonts were selected (library, fontpack or installed fonts) is printed at the top of the page in a descriptive text font (Helvetica Bold is the default). The font name of each font is printed on one line using a descriptive text font (Helvetica is the default). On the following line the fully qualified path and filename of the OFM or AFM file for the font is printed, as listed in the library or fontpack being printed (or in OS2.INI in the case of printing installed fonts), in a second descriptive text font (Helvetica is the default). The footer displays the date and time at which the fonts were selected for printing (this allows users to take a snapshot of the contents of libraries, fontpacks or the installed fonts at a given time for later reference). The footer also optionally contains the page number. Customizing the Font List All printouts can be customized as to descriptive text fonts, margins and duplexing options such as left or right hand orientation of the page. See the Help for the Fonts Setup Dialog, the Margins Setup Dialog and the Duplex Setup Dialog for details of these customizations. The customizations available specifically for the Font List printout are:  Page Numbers The user can choose to print page numbers in the footer at the outside edge of each page via a setting in the Print Dialog. This setting is shared with the Font Catalog printout. Both the format of the page numbering and the starting page number can be set via the Print Dialog. By altering the starting page number, users can split the printing of large Font Lists in to several jobs, and adjust the starting page number of each job so that the final catalog printout will have consecutive page numbers. See the Help for the Print Dialog for a fuller description of page numbering.  Descriptive Text Fonts Descriptive Text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, etc. Fonts used for descriptive text can be changed by the user to any installed Type 1 font. The point size used to print descriptive text is fixed by the program and can not be changed by the user. There are three descriptive text fonts used in printing the Font List. The name of the source from which the fonts were selected (library, fontpack or installed fonts) is printed at the top of the page in what is known as the Title Font. The default font used to print this is Helvetica Bold, and is common to the title bar on all printouts. This font may be changed via the Title Font entry in the Fonts Setup Dialog. This is a global change that applies to all types of printout, not just Font Lists. Font names are printed in what is known as the Font List Text font. The default is for this font to be whatever is entered in the Global Text Font setting in the Fonts Setup Dialog. The default for the Text Font entry is Helvetica. This global setting may be changed for all printing via the Text Font entry in the Fonts Setup Dialog, or a custom font can be used only for the Font List page by entering the font name in the Font List Text entry in the Fonts Setup Dialog. In the absence of an entry in this field, FontFolder will use the Text Font entry in the Global settings. Font file pathnames are printed in what is known as the Font List File font. The default is for this font to be whatever is entered in the Global Text Font setting in the Fonts Setup Dialog. The default for the Text Font entry is Helvetica. This global setting may be changed for all printing via the Text Font entry in the Fonts Setup Dialog, or a custom font can be used only for the Font List page by entering the font name in the Font List File entry in the Fonts Setup Dialog. In the absence of an entry in this field, FontFolder will use the Text Font entry in the Global settings. ═══ 15.3. Print Dialog ═══ For information on the FontFolder Print Dialog see Print Dialog under FontFolder Dialogs. ═══ 15.4. FontFolder Print Window ═══ The FontFolder print window, titled Jobs Waiting to Print shows the status of jobs waiting in FontFolder's print queue (which is separate from the OS/2 print queue) and of jobs currently printing. As explained in the Printing overview, because FontFolder is capable of generating extremely large printing tasks involving thousands of fonts, FontFolder breaks every print job up in to a series of smaller jobs and meters these out to the OS/2 Print Spooler in such a way as to keep the number of extra installed fonts and the size of the jobs queued in the OS/2 Print Spooler to a manageable level. Each of these subtasks is listed in the print window with an entry of the form 58437: Installed Fonts Part 3 of 5 where the leading number is a unique sequence number used by FontFolder to track the job, followed by the name of the library, fontpack or installed fonts list being printed, followed by the subtask number. Once a job is dispatched for printing, the list entry changes to 58437: **PROCESSING** Installed Fonts Part 3 of 5 to indicate that the job is no longer in the print queue but is in the process of printing. This line remains in place until the job is actually sent to the printer. If a job requires that a font CDROM be mounted in order to access the fonts, this CDROM must be kept mounted until all the subtasks that depend on this CDROM have completed printing. FontFolder adds a line of the following form after the last subtask needing this CDROM *** DO NOT REMOVE Bitstream 500 Font CDROM while above jobs are printing *** where Bitstream 500 Font CDROM is the name the user has given the CDROM in FontFolder. Popup Menu A context menu is available by clicking the right mouse button anywhere within the Jobs Waiting to Print window. From this context menu, the user can perform the following operations:  Abort Printing Jobs - After asking for user confirmation, any highlighted jobs that are already in the process of printing will be sent an Abort message. Whether the job actually aborts depends on what stage of printing it is in. Any print pages still in the process of drawing will be aborted, but any pages already sent to the OS/2 print spooler will continue through the print process. If some part of the job has already been sent to the OS/2 print spooler, then the job entry in the Jobs Waiting to Print window will not be removed until these elements of the job are sent to the printer or manually deleted from the OS/2 Print Spooler by the user. Jobs must be highlighted first before selecting this menu item. At this  Delete Waiting Jobs - After asking for user confirmation, any highlighted waiting jobs will be deleted from the print queue. Jobs must be highlighted first before selecting this menu item. This menu item only applies to jobs that have not yet begun processing. To delete jobs that have already begun processing, use Abort Printing Jobs.  Delete All Waiting Jobs - After asking for user confirmation, all waiting jobs will be deleted from the print queue. This menu item only applies to jobs that have not yet begun processing. To delete jobs that have already begun processing, use Abort Printing Jobs.  Cancel Exit - If the user tries to exit FontFolder while jobs are still printing, FontFolder negotiates with the user to determine how to handle the jobs queued for printing. If the user elects to have some or all jobs printed before exiting FontFolder, an automatic exit procedure is scheduled and all FontFolder windows are minimized until printing is complete, at which point FontFolder exits. If the user should decide to cancel this scheduled exit, either the main window or the Jobs Waiting to Print window must be restored and Cancel Exit must be selected. Cancel Exit is available also from the main window menu and from the main window popup menu. See Exiting FontFolder while Printing for the details of this operation. It is not possible for the user to close the Jobs Waiting to Print window. Attempting to close the window by any of the standard OS/2 methods results in the Window being minimized instead. The window closes automatically shortly after the last job has printed. The default is for the Jobs Waiting to Print window to open whenever there are jobs in FontFolder's print queue. The user can change this behavior by minimizing the window. FontFolder will remember and keep the window minimized when printing in the future. To have this window revert to staying open, while jobs are printing restore the window from the Task List or whatever approach you use to dealing with minimized windows. ═══ 15.5. Exiting FontFolder while Printing ═══ Since printing can take a very long time, there may come a time when you want to close FontFolder while printing is still under way. Since FontFolder actively manages print jobs in its own print queue, you can not close it and still have the jobs print. If you try to close FontFolder while jobs are printing, FontFolder will offer several options.  Close Wait The user can have FontFolder automatically close after all jobs have finished printing.  Close ASAP The user can have FontFolder immediately delete all remaining jobs waiting to print in the FontFolder print queue, and close as soon as those jobs currently printing complete.  Close Now The user can have FontFolder immediately delete all remaining jobs waiting to print, send abort commands to all jobs currently printing, and then close immediately without waiting for printing to complete. All jobs waiting to print will be deleted. The behavior of jobs that are currently printing will depend on what stage of printing they have reached. Any pages that remain to be drawn will be aborted, but pages that have already been sent to the OS/2 print spooler to be printed will continue printing. The print processes will not exit until the pages sent to the OS/2 print spooler have finished printing. Whichever option the user chooses, FontFolder will minimize all its windows, but it will remain active until it has finished with all print jobs. At that point it will close without further user intervention. Canceling the Exit Command If the user has issued either a Close Wait or a Close ASAP command, the user may reactivate FontFolder by taking the following steps: 1. Restore either the FontFolder main window or the FontFolder Print window from its current minimized state. This can be done either from the Task List or from an icon depending on how the user has set up OS/2 to handle minimized windows. 2. Once either of these windows is restored, click on Cancel Exit, which can be found on the main FontFolder menu bar under Print, on the main FontFolder window popup menu, or on the Print window popup menu. Clicking on Cancel Exit is necessary to cancel the scheduled exit of FontFolder once printing completes. At this time it is not possible with FontFolder to abort jobs already sent to the OS/2 print spooler. If the user wants to keep these jobs from printing, the user should do this via OS/2's facilities by changing the status of the printer object from Release to Hold, and then opening the printer object and deleting the jobs. Note: The FontFolder print process that generated an OS/2 print spooler job will remain active until that job is no longer in the spooler queue. To close this print process, the job must either print or must be deleted from the spooler queue by the user. If you hold the OS/2 print spooler you must manually dispose of these jobs by either releasing them or deleting them in order to allow the FontFolder print process to exit. ═══ 16. Settings Notebook ═══ FontFolder uses an OS/2 style Settings Notebook to maintain various application settings. The Settings Notebook can be opened either by clicking on Settings under Options on the main window menu bar, or by clicking Mouse Button 2 anywhere in the background of the FontFolder main window to bring up the Options popup menu. Settings are updated when the Settings Notebook is closed. For details of the pages in the Settings Notebook, see the following:  Paths page  Drives page  Other page ═══ 16.1. Settings Notebook - Paths Page ═══ The Paths page of the Settings Notebook contains the following entries:  Path to FontFolder INI file The first time FontFolder is closed it creates a file called FONTFOLD.INI and writes a set of information about its state to the file. Examples of the type of information are the size and location of the FontFolder windows on the screen, the Removable Drive Letters setting, and the location of the FontFolder data files. The default is to create this file in the same directory as FONTFOLD.EXE. However the user may want to locate the file in a different directory. For example, if FontFolder resides on a network server and is shared by several users, each user needs an individual copy of FONTFOLD.INI. In this case the user should change the path to the FontFolder INI file to point to a location on the local workstation. If the path to the FontFolder INI file is changed, an entry is made in OS2.INI specifying where this file is located.  Path to FontFolder data files FontFolder uses this path to determine where to store its data files. The default is for these files to reside in the same directory as the FONTFOLD.EXE file, but the user can change the path to point to another location. The Path to FontFolder data files information is stored in FONTFOLD.INI. The following files are kept in the directory specified in this path: - The Library data files, MLIBmmm.FF2, contain the font registration information for the fonts included in the Libraries. - The FontPack data files, FNTPKnnn.FP2, contain the font registration information for the fonts included in the FontPacks. - One backup copy of each of the above files, of the form MLIBnnn.BAK and FNTPKnnn.BAK respectively. One consideration in deciding where to locate the these files is their size. The size will vary depending on the number of fonts registered with the Libraries and the number of fonts in FontPacks. For the largest library that FontFolder can currently support the size of MLIBnnn.FF1 would be approximately 100KB. Since one backup copy, MLIBnnn.BAK, is also maintained, the maximum total space requirement for the Library files is approximately 200KB times the number of libraries. However, this assumes the font file information stored includes maximum length path names. In actual practice the Library files will probably only be 20-30% of this size. The FontPack files will normally be much smaller since they typically contain much smaller numbers of fonts.  Path to Font Cache If the user has identified any drive letters to FontFolder as Network Drives or CDROM Drives, then FontFolder will copy any font files located on these drives to a special directory on a local hard drive when these fonts are installed in OS/2. This is done so that OS/2 can access these font files when booting, since the network drive may not yet be available. This special directory is known as the Font Cache. If there are Network Drives or CDROM Drives identified to FontFolder, the user must provide a path to the directory on a local hard drive where the Font Cache should be located. It is not necessary to provide this path if no such drives are identified. The default is for the Font Cache to be located in the same directory as the FontFolder data files. FontFolder will create a subdirectory with the name FFCACHE at the location identified by this path. If the user adds FFCACHE to the end of the path supplied, FontFolder will use this path without adding an additional FFCACHE to the path. Note: If the user is in the habit of putting new versions of a program such as FontFolder in a separate directory from the old version, and then erasing the old version files and directory once the new version has been checked out, it is recommended that the FFCACHE directory be placed in some permanent location separate from the FontFolder directory. If CDROM or Network fonts are installed, their font files will be in the FFCACHE directory. Having to move this directory and update these installed fonts for every new version is a nuisance, but what is even more of a problem is if the user deletes the old FFCACHE directory while the files for installed fonts are still located there. Then OS/2 will not be able to use the fonts until the user reinstalls them. All this can be avoided by placing the FFCACHE directory in a separate location that does not change from version to version. The FFCACHE directory will contain the font files for all fonts currently installed in OS/2 that originated on network drives or CDROM drives. As fonts are removed from OS/2, these font files will be erased from the FFCACHE directory. Each such font installed in OS/2 will typically have associated files that consume 50-100 KB of space. If the user maintains the number of fonts installed in OS/2 to around 50, then the maximum space needed for the Font Cache (assuming all installed fonts are in the Font Cache) will be of the order of 2.5-5 MB. Users should take this into account when deciding on where to locate the Font Cache. ═══ 16.2. Settings Notebook - Drives Page ═══ FontFolder takes special actions with a font depending on what kind of drive the font's files reside on. The first time FontFolder is started, it analyzes the drives attached to the system and automatically sets defaults for Removable Drive Letters, CDROM Drive Letters and Network Drive Letters. All other drive letters are treated as local hard drives. The user should review these settings and make appropriate changes if required. After the first startup FontFolder keeps these drives settings in the FONTFOLD.INI file and does not repeat the automatic analysis. The user can have FontFolder repeat the analysis and reset the drive letters to their defaults by clicking on the Default button on the Drives page. The Drives page of the Settings Notebook contains the following entries:  Removable Drive Letters When the user trys to register a font with the FontFolder Master Library, FontFolder needs to check whether the source location for the font files is on a removable medium such as a diskette. If the font files are on a removable medium, FontFolder must copy them to a location on a local nonremovable drive (a hard drive) as part of the registration process. OS/2 requires that fonts reside on a hard drive when installed. FontFolder uses the Removable Drive Letters entry to identify the removable drives. The user should enter the drive letters of all the removable drives on the system in the Removable Drive Letters entry field. The form of the entry is the drive letters with no spacing or other punctuation. Example: If the system has two diskette drives, A and B and a removable hard drive identified as F, then the Removable Drive Letters entry would be ABF Failure to properly identify the removable drives can lead to unpredictable results.  CDROM Drive Letters If a drive is identified to FontFolder as a CDROM Drive, fonts residing on this drive are first copied to the Font Cache before they are installed in OS/2. See Using Fonts on CDROM Drives for a detailed description of this feature. FontFolder uses the CDROM Drive Letters entry to identify CDROM Drives. The user should enter the drive letters of all the CDROM drives on the system in the CDROM Drive Letters entry field. The form of the entry is the drive letters with no spacing or other punctuation. Example: If the user has two CDROM drives L and M, then the CDROM Drives entry would be LM A CDROM drive should be identified to FontFolder as either a CDROM drive or as a Removable Drive. If a CDROM drive is not identified to FontFolder as one of the above, FontFolder will treat it as a local hard drive. This can lead to problems with fonts not being available in OS/2 if the correct CDROM is not in the CDROM drive, with no indication as to which CDROM is required.  Network Drive Letters If a drive is identified to FontFolder as a Network Drive, fonts residing on this drive are first copied to the Font Cache before they are installed in OS/2. See Using Fonts on Network Drives for a detailed description of this feature. FontFolder uses the Network Drive Letters entry to identify Network Drives. The user should enter the drive letters of all the network drives on the system in the Network Drive Letters entry field. The form of the entry is the drive letters with no spacing or other punctuation. Example: If drives L and N are remote drives on a LAN, then the Network Drives entry would be LN If a network drive is not identified to FontFolder as such, FontFolder will treat it as a local hard drive. This can lead to problems with fonts not being available in OS/2 if the network drive is not available during OS/2 bootup. ═══ 16.3. Settings Notebook - Other Page ═══ The Other page of the Settings Notebook contains the following miscellaneous FontFolder settings:  Copy Windows Font Files checkbox When the font that a user registers with a Library resides on a removable drive such as a diskette drive, FontFolder must copy the font files to a hard drive location in order for OS/2 to use them. If the Copy Windows Font Files checkbox is checked then FontFolder will also copy the appropriate Windows font files to the hard drive at the same time.  Sample Text Pt Sizes The Font Browser allows the user to view sample text of fonts in various point sizes. The point size displayed is set via a spin button in the Font Browser window. In turn, the sizes that appear on the spin button are determined by the entries in the Sample Text Pt Sizes setting. The user can enter a point size from 1 to 99 points (a point is approximately 1/72 of an inch) in each of the 10 entry boxes. As the spin button is changed, the point size entries in the Sample Text Pt Sizes field will be presented in left to right, top to bottom order. After the last entry is presented the spin button will cycle back to the first entry.  Track Browser default setting Tear-Off font sample windows in the Font Browser can be set to either track the main browser window or to be completely independent of the Browser. The Track Browser checkbox on this page controls the initial behavior of Tear-Off windows when they are created. ═══ 17. Utilities ═══ FontFolder comes with a set of utilities that assist in maintaining FontFolder's ini and data files. These utilities are accessible via Utilities on the main window menu bar. Only registered FontFolder users can access them. The utilities provided are:  Edit CDROM info  Map Drives  Move Font Files ═══ 17.1. Edit CDROM info ═══ FontFolder stores in FONTFOLD.INI a set of basic information about all CDROMs it encounters. This information includes the name that the user wishes the CDROM to be known by, called the User Label, the Volume Label and Volume Serial Number from the CDROM, and the drive letter for the drive from which the CDROM will be used. This information allows FontFolder to associate individual font files with the CDROM on which they are stored. The information is collected the first time the CDROM is used with FontFolder. For the most part, this information can not be changed by use of the CDROM. The only exception to this is that FontFolder will detect if the user attempts to register a font from the CDROM from a drive other than that registered with the system, and offer the user the opportunity to reassign the drive letter for the CDROM. Otherwise, the system will use its internally stored information to override the CDROM information in the FontFolder data files at the time the data files are read in to the system. In this way, the FontFolder data files are maintained at a consistent level. While the above approach allows FontFolder to maintain consistency, it does not leave a direct avenue to change the CDROM information on those occasions when it is necessary to do so. Examples of such times are when the user has made changes to reassign the drive letter from which the CDROM will be used, when the user wishes to change the User Label that has been assigned, or when the user no longer intends to use a CDROM and would like to delete the information about it from the system. The Edit CDROM info utility provides a means of editing and deleting this information. Note: Adding CDROM information to FontFolder can only be done by using the CDROM with the system, either by registering fonts from the CDROM directly or by using a Pre-registered Library for the CDROM. The Edit CDROM info utility display all CDROMs known to FontFolder by their User Labels . The user may select a CDROM from the list and  Change the User Label  Change the Drive Letter assignment  Delete the CDROM information If the user attempts to delete the CDROM information, FontFolder will ask for confirmation and then check to see if this CDROM is used by the Current Library or a FontPack that is open for editing. If it is, the deletion will not be processed and the user will be informed. If the CDROM is not currently in use, FontFolder will delete the CDROM information from FONTFOLD.INI. This deletion is effective immediately. Note: While the information on a CDROM can be deleted as long as the CDROM is not in current use, if another Library or FontPack contains fonts from this CDROM, the information will be added back in to FONTFOLD.INI the first time a Library or FontPack requiring it is loaded. To completely delete all information about the CDROM, the user should first remove all fonts from this CDROM from all Libraries and FontPacks and then use Edit CDROM info to remove the CDROM information from FONTFOLD.INI. See the Edit CDROM info menu Help for details of how to use this utility. ═══ 17.2. Map Drives ═══ FontFolder stores a great deal of font-related information that contains specific drive letters such as the fully qualified paths to all of the font files registered in FontFolder libraries and the drive letters assigned to font CDROMs. In addition, OS2.INI stores the fully qualified paths to all the fonts currently installed in OS/2. This presents a problem for the user if a system change causes the drive letters assigned to some or all of the OS/2 drives to change. One common reason this can occur is if the user buys an additional hard drive. While it is possible to add hard drive capacity to the system without changing any drive letter assignments, it is much more common for some or all of the drive letters to change. This is particularly true of CDROM drives, which are assigned letters after the hard drives. The FontFolder Map Drives utility provides a convenient way for the user to reset all of the drive-related font information in both FontFolder, FontFolder's data files and OS2.INI's installed fonts list. The user specifies the drive letter mappings using a convenient A -> B description, entering as many drive mappings of this form as required. Once the required mappings are entered, FontFolder automatically updates all drive-related font information in OS2.INI's installed fonts list and in the FONTFOLD.INI file, and searches and updates all the known Library and FontPack data files. If changes are made to OS2.INI, FontFolder warns the user of this and recommends a shutdown and reboot since there are also internal OS/2 tables containing font information that are not accessible. Rebooting rebuilds these tables using the updated font information in OS2.INI. Important! Don't forget to also update the entries in the FontFolder Settings Notebook on the Drives and the Paths pages to reflect drive letter changes. NOTES Bit-Mapped fonts The above only applies to the ATM fonts installed in OS/2 since that is all that FontFolder manages. Drive-related information in OS2.INI for the installed bit-mapped fonts is not changed. Since the only bit-mapped fonts most users will have are those installed with OS/2 in its own partition, this will not present much of a probem. However, users who have installed additional bit-mapped fonts will need to update their drive locations manually. Windows fonts An important consideration for users who are also running Windows applications under OS/2 is that the same drive letter mappings will need to be done for the Windows files that record drive locations for font files since FontFolder does not manage Windows fonts. Users will need to manage the reassignment of drive letters for these fonts using the Windows font management utilities. Limitations It is important to understand the limitations of this utility.  It is only capable of changing all drive letters for font-related files. It is intended for use when system reconfiguration has caused existing drive letters to change.  It can not be used to handle a case where the user wishes to move some font files to a different drive unless these are the only font files on that drive.  It does not handle directory location changes. Only drive letters are changed.  It does not do any actual movement of font files. It only changes the location entries in various tables that are used to find these files. See the Map Drives menu Help for details of how to use this utility. ═══ 17.3. Move Font Files ═══ The Move Font Files utility provides a safe means to move font files in OS/2. Font files can not simply by moved like other files because OS/2, WinOS/2 and FontFolder depend on internally stored knowledge of where to find the font files. The Move Font Files utility not only moves font files to a new location designated by the user, but it also updates all the relevant information in FontFolder, OS/2, WinOS/2 and up to 4 additional OS/2 partitions and 4 additional Windows partitions identified by the user so that fonts will work properly after the files are moved. The last two allow the user to share a common location for font files across multiple copies of OS/2, Windows, and Windows 95 in a multi-boot setup such as provided with Boot Manager. The user interface to the Move Font Files Utility is a tabbed OS/2 Notebook with pages for identifying the files to be moved (Source), the destination for the files (Destination), and for identifying the additional OS/2 and Windows partitions to be updated (Settings). The following is a summary of the functions of each page. For detailed information on using the Move Font Files utility, see the Help for the Move Font Files Dialog.  Source The user can identify the files to be moved either by choosing from the list of fonts in the current Library, or by selecting a Drive and Directory location. Selecting fonts from the Library list is useful when the Library represents a font CDROM and the user wishes to move a frequently used subset of these fonts to a hard drive location so the fonts can be accessed more rapidly and without requiring the font CDROM to be in place in the drive every time these fonts are needed. The Drive/Directory approach is appropriate when the user is in the process of reorganizing a hard drive, for example to free up space for other purposes. Using this view of the Source allows the user to identify all the fonts in the directory, whether or not they are registered with the current library. In both cases the user only needs to make one selection for each font; FontFolder takes care of identifying all of the other font files associated with the font. The selection can either be by font name or the equivalent list entry in the case of selecting from the Library list, or by the font PFB file when selecting from the Drive/Directory list. Note: The method used to identify font files is to search for all files that share the same filename minus the extension in both the current directory (the directory containing the font file selected) and one level of subdirectories below the current directory. So if the user has fonts organized in the more or less standard arrangement with the font.PFB, font.AFM and font.OFM font files in the MYFONTS directory and the font.PFM file in the MYFONTS\PFM subdirectory, FontFolder will find all of these files and move them while preserving the subdirectory structure. However, if there are other files associated with the font that don't share the font filename (for example a license.txt or readme file), these files will not be moved.  Destination The user specifies the destination for the files using a dialog similar to the standard OS/2 File Dialog to identify the target drive and directory location. The directory must already exist; it can not be created in FontFolder. However, OS/2 multitasking allows the user to switch out of FontFolder momentarily and create the directory using any of the standard OS/2 methods. If this is done, it will probably be necessary to reselect the drive and directory in the Destination dialog to have the newly created directory displayed in the directory list. At this time, FontFolder detects and prohibits attempts to select a CDROM drive as the destination for font files.  Settings The Settings page allows the user to control what other font information FontFolder updates in addition to its own data and the information contained in the OS2.INI file for the copy of OS/2 currently running. FontFolder is capable of updating the OS2.INI files for up to 4 additional copies of OS/2 that may exist on separate partitions, provided these partitions are visible to the current OS/2 (i.e. if these copies of OS/2 are installed on logical partitions that are visible to OS/2 as opposed to being installed on primary partitions that OS/2 can not see.) FontFolder also understands and can update the Type 1 font information contained in the ATM.INI and WIN.INI files used by WinOS/2, Windows, and Windows 95. The user can choose whether or not to update this information, and as in the OS/2 case specify up to 4 additional copies of Windows in addition to WinOS/2 provided the partitions these copies reside on are visible to OS/2. Once the selections for source, destination and settings have been made, the Move Files button on the Destination page of the notebook begins the process of moving the files, performing the following steps: 1. For each font identified, FontFolder starts with the PFB file for the font and searchs for other files that have the same name but a different extension, e.g. if the font is MYFONT.PFB, then FontFolder searches for MYFONT.* files. This search is carried out in the current directory where the PFB file is located and in one level of subdirectories below this directory. In this step, any Type 1 Multiple Master fonts that are found (this can only be done from the Drives/Directories view since you can't use these fonts in OS/2) will be identified and separated out for appropriate treatment later (see Multiple Master instances below). 2. Once the list of font files is built, FontFolder will begin moving them, one font at a time. First, all the font files associated with a particular font PFB file will be copied to the new directory location. If this copy operation should fail for any file, the whole operation will be aborted and the font files will remain in their original location and be usable from there. Once all the files for a specific font are safely in their new location, FontFolder checks to see if this font is installed in OS/2. If the font is not installed, FontFolder erases all the original font files. If the font is currently installed, FontFolder updates the OS2.INI file and the FontFolder list of installed fonts to point to the new location, but it leaves the original font files in place and adds them to a list kept in the file FFCLEAN.DAT in the FontFolder data path. Updating OS2.INI assures that the new font files will be used on the next OS/2 reboot. However, OS/2 keeps internal tables of currently installed fonts which are not accessible, so FontFolder leaves the current files in place so the user can continue to use OS/2 without having to reboot. At the end of the operation, if any files are listed in FFCLEAN.DAT, FontFolder adds a program object for FFCLEAN.EXE to the Startup directory. FFCLEAN.EXE will automatically erase all the files listed in FFCLEAN.DAT on the next reboot. As each font is successfully moved to its new location, FontFolder adds it to a list of "moved fonts" which is used later to update OS/2, FontFolder and Windows font information. At this point FontFolder updates the current Library and the current FontPack if one is open for editing and saves these to disk so that you have a correct current operating environment in FontFolder. 3. Once all files are moved, the cleanup file FFCLEAN.DAT is closed and the cleanup job FFCLEAN.EXE added to the Startup Folder if required. On the next reboot, FFCLEAN.EXE will erase all the files listed in FFCLEAN.DAT and then remove itself from the Startup folder. FontFolder handles the cleanup file in such a way that it is safe to perform multiple Move Font Files operations without rebooting, including moving installed fonts from location A to location B followed by moving the same fonts from location B to location A. FontFolder makes sure that such operations do not lead to inadvertently scheduling files for erasure when later operations have restored them. 4. At this point FontFolder checks to see if any of the PFB files found have been identified as Multiple Master fonts. It is quite possible that users who operate in both OS/2 and Windows environments have Multiple Master fonts mixed in with their regular Type 1 fonts even those these aren't usable in OS/2. FontFolder detects these fonts in step 1 above. If Multiple Master fonts have been identified, FontFolder repeats steps 1 and 2 above, this time searching for any related Multiple Master Instance fonts (which have a PSS file in place of the PFB file). All MM Instances found are moved as described above with the exception that no check is performed for whether they are installed in OS/2 since that is not possible. 5. The next step FontFolder performs is to compare the list of "moved files" against each Library and FontPack in FontFolder (those checked in step 2 above are skipped) and update the entries to reflect the new font file locations. 6. Having completed operations on the current version of OS/2, Fontfolder next steps through the list of additional copies of OS2.INI identified on the Settings page of the Move Font Files notebook and searches for and updates all OS2.INI entries dealing with the fonts that have been moved. 7. The final step performed by FontFolder is to search the ATM.INI and WIN.INI files in each of the identified WinOS2/Windows directories and update them to reflect the new file locations. If any Windows programs are currently in use, it will be necessary to close them and restart them (including WinOS2 itself) in order to have these new file locations recognized. ═══ 18. FontFolder Menus. ═══ There are menus available in both the FontFolder main window and the FontFolder print window as shown below. In the FontFolder main window, most menu items are available either from the main menu bar or from popup menus associated with the main window itself and with the main window listboxes. In the FontFolder print window, the menu items are only available as a popup menu. Popup menus are activated by clicking Mouse Button 2 on the appropriate element. Throughout this documentation, these alternative means of accessing menu items will be referred to collectively as the (Menu name) menus, e.g. the Libraries menu items will be referred to as available on the Libraries menus. In the menu list below, the following symbols indicate which popup menu each menu item appears on: MW Main Window I Installed Fonts Listbox L Library Listbox FP FontPacks Listbox FPF FontPack Fonts Listbox (in Edit FontPacks mode) Click on the appropriate item below for further information on the main window menus:  Libraries - Register Fonts L - Delete Fonts L - New Library L - Open Library L - Save Library L - Save Library as... - Revert Library L - Import Library L - Export Library L - Delete Library L - Font Browser L  FontPacks - New FontPack FP FPF - Open FontPack FP - Save FontPack FPF - Save FontPack as... FPF - Delete FontPack FP - Revert FontPack FPF - Close FontPack FPF  Print - Installed Fonts I - Library L - FontPack FP - FontPack Fonts FPF - Cancel Exit MW  Options - View MW - Settings MW  Utilities - Edit CDROM info MW - Map Drives MW - Move Font files MW Click on the appropriate item below for further information on the print window menus:  Delete  Delete All  Cancel Exit ═══ 18.1. Libraries Menu ═══ The choices on the Libraries menu are  Register Fonts  Delete Fonts  New Library  Open Library  Save Library  Save Library as  Revert Library  Import Library  Export Library  Delete Library  Font Browser ═══ 18.1.1. Register Fonts ═══ Select this menu item to register one or more fonts with the Current Library. When selected, a Register Fonts file dialog panel will appear which allows the user to select the drive and directory on which the fonts to be registered are located (the source location). Fonts are represented in the file dialog by their PFB file. Multiple font files may be selected. In addition to selecting fonts individually in a directory, the user can use the Auto Select option to automatically select all fonts in the chosen directory or to search all subdirectories as well and select all fonts found. If the source location is on a removable drive an additional Copy Fonts to Hard Drive dialog panel will be displayed where the user can specify where to place the selected fonts on a hard drive (the target location). The user can also specify on this panel whether or not to copy any companion Windows font files that are found. If the operation is successful the fonts selected will appear in the Library list. This list must be saved to make these additions permanent. If any fonts can not be registered, a popup message will appear at the end of the registration operation identifying the number of fonts that could not be registered. Details of the problems registering the fonts will have been recorded in a REGFONTS.LOG file located in the path where the FontFolder data files are kept. The most common reasons for not being able to register a font are that either the font is already registered or that another font already registered has an indentical font name through the first 31 characters, which is all the characters OS/2 uses to identify the font. ═══ 18.1.1.1. Auto Select Fonts ═══ The Register Fonts dialog has Auto Select options which make it easy to select all the fonts in a directory and to search an entire directory tree or an entire drive for fonts and register all the fonts found.  Select All Font Files To select all the font files in the chosen directory simply check the Select All Font Files checkbox in the Auto Select section of the Register Fonts dialog. All the font files will be marked for selection. Removing the check mark on this checkbox will deselect all the font files.  Search All Subdirectories To have FontFolder automatically search and register all the fonts in an entire directory tree the user should first select the top level directory where the search should begin. To register all the fonts on a drive, select the root directory of the drive. The directory selected does not itself have to contain any font files. Next check the Select All Font Files checkbox, and then the Search All Subdirectories checkbox. Then click on OK to begin the process of searching and registering all fonts in the selected directory and all subdirectories. Progress indicators will keep the user informed of the various stages of the operation, and the REGFONTS.LOG in the directory specified in Path to FontFolder data files will contain a more detailed record of the registration process. ═══ 18.1.2. Delete Fonts ═══ First mark one or more fonts in the Library list for deletion and then select this menu item from the Libraries menus to delete the marked fonts from the Current Library. FontFolder will prompt the user to confirm the deletion or cancel the operation. Upon confirmation the fonts will be deleted from the Library list. This list must be saved to make these deletions permanent. If no font has been marked before Delete Fonts is selected an error message is displayed and the operation is cancelled. No font files are deleted from the hard drive when a font is deleted from the Library list. Use the standard OS/2 file management facilities to delete the font files if desired. ═══ 18.1.3. New Library ═══ Select this menu item from the Libraries menus to create a new Library in FontFolder. If the Current Library has changed since the last time it was saved, FontFolder will offer an opportunity to save the Current Library before creating the new Library. Then FontFolder will clear the Library listbox and and change the title of the Current Library to Untitled. The user may now register fonts with this Library using the Register Fonts menu. This Library must be named and saved to be permanently created. FontFolder will offer the opportunity to do this if the user attempts to close either the Current Library or FontFolder itself before the Library has been saved. See Creating a Library for additional information. ═══ 18.1.4. Open Library ═══ Select this menu item from the Libraries menus to make a different Library the Current Library in FontFolder. If the Current Library has changed since the last time it was saved, FontFolder will offer an opportunity to save the Current Library before changing Libraries. Next FontFolder will present the Library Selection Dialog from which the user can choose a Library to open (make the Current Library) from among the existing libraries. Once the user has selected the Library to open, FontFolder will replace the title of the Library listbox in the main FontFolder window with the title of the selected Library, and the contents of the Library listbox will be changed to the fonts registered with the selected Library. This Library becomes the Current Library. The user may change Libraries via the Open Library command at any time. This includes changing Libraries while performing other tasks such as browsing fonts or while creating or editing a fontpack. See also Opening a Library. ═══ 18.1.5. Saving a Library (Save and Save as) ═══ Select this menu item from the Libraries menus to save a copy of the Current Library. list to disk. Save is used to save an already existing Library under its present name. Save As is used to either save a new (as yet unnamed) Library, or to save an existing Library under a new name. If Save is clicked for a new Library, Save As will be invoked instead. Once the Library has been saved, the user is returned to the FontFolder main window. The name of the Current Library shows above the Library listbox. If Save As was chosen and the Library name modified, the Current Library will be the one named in Save As. Save Clicking on Save for an existing Library will immediately save the current contents of the Library listbox to the file corresponding to the Library name. The existing version of the file will first be saved as a backup version. To access the backup version of the Library, see Reverting a Library to the backup version. If the Library has not yet been named, clicking on Save will invoke Save As instead. Save As Clicking on Save As opens a dialog box which prompts the user to provide a name for the Library. If the Library has not yet been named, Untitled will appear in the entry field already highlighted so that it can be replaced. A Library can not be saved with the name Untitled. An attempt to do so will be rejected. The user can enter any text string of up to 31 characters. Spaces and other special characters are permitted, although it is recommended not to use backslashes (\) or the characters () and (). Example Names Basic Library Bitstream 500 Font CDROM Script Fonts Once the name has been entered, click the OK button. The Library will be saved in the directory identified in the Path to FontFolder data files. If the Library already has a valid name, this name will appear in the entry field. If the Library name is not modified, then clicking OK will cause the Library to be saved to the existing Library file as if the user had chosen Save instead of Save As. If the Library name is modified, then clicking OK will cause a new, additional Library to be created under the new name. The original Library will still be available under its old name. If the user no longer wants this old Library, it can be deleted (See Deleting a Library). A Library file with a filename of the form MLIBnnn.FF2 will be created to store the list of fonts in the Library. nnn is a number from 0 to 99 that is managed by FontFolder to assure that there is a unique filename for every Library. FontFolder is currently limited to a maximum of 100 simultaneously defined Libraries. If the user chooses Cancel from the Save As dialog box, the user is returned to the main window and the Library is not saved. Changes to the Library name are discarded. ═══ 18.1.6. Revert Library ═══ Select this menu item from the Libraries menus to make the backup copy of the Current Library. file, MLIBnnn.BAK, the current copy. Note: The existing current copy, MLIBnnn.FF2, will in turn be made the backup copy, so two Revert operations cancel the operation. The Library list held in memory and seen on the screen is reset to show the contents of the new copy of the Current Library. ═══ 18.1.7. Import Library ═══ Select this menu item from the Libraries menus to add an existing Library file to the list of Libraries known to FontFolder or to create a Library based on one of the existing FontPacks. FontFolder can accept any data file that conforms to the FontFolder Data File Format and Import it as a FontFolder Library. Sources of such files can be archived copies of Libraries, Libraries created on other systems, and FontPacks. Note: While FontFolder will accept any file that has a valid file format, this does not mean that the data will be meaningful and the Library usable. For example, a Library file created on another system with different font files located in different file system paths will be of no use. It is the user's responsibility to assure that the data contained in the file being imported will be usable. Unusable data should not create errors other than the "font not found" type that would be expected, provided the data format is valid. When Import Library... is selected, a secondary menu will open giving a choice of three types of files to import.  FX2 format library...  Other Library...  FontPack... The details connected with selecting each of these menu items is described below. Once the type of file to import and any necessary dialog steps (see below for details) have been completed, FontFolder creates a new Library based on the contents of the selected file. Note: The file selected for importing will hereafter be referred to as the Import File to distinguish it from the Library data file created once the Library is imported. The Imported Library is added to the list of FontFolder Libraries using the Library name contained in the Import File (if this name is already in use, the user is prompted to either change the name or else accept that the library created will overwrite the existing library). A FontFolder Library data file is written with a file name assigned by FontFolder of the form MLIBnnn.FF2 in the path specified by the Path to FontFolder Data Files Setting. This file is independent of the Import File, and no changes are made to the Import File. The Imported Library is not opened in this process, i.e. the Current Library is not changed. To view the Imported Library, make it the Current Library using Open Library from the Libraries menus. See Importing and Exporting a Library for additional information. SELECTING FROM THE IMPORT LIBRARY SUBMENU  FX2 format library... Selecting this menu item will open a standard OS/2 File Dialog with the file choices restricted to files with an FX2 extension. The FX2 extension is FontFolder's convention for files created with the Export Library command. These files are intended for CDROM Libraries and have a special system-neutral format that allows them to be imported on other systems. When the user chooses an FX2 file from the File Dialog, the FontFolder CDROM Import Dialog opens and guides the user through the steps required to convert this file so that it is usable on the current system. 1. Drive Identification First the user is asked to identify the drive letter for the drive from which the CDROM will be used (multiple CDROM drives are supported, but an individual CDROM must be associated with just one drive). 2. CDROM Volume Verification Once the user selects the CDROM drive letter and clicks OK, FontFolder reads the CDROM in the selected drive to see if it corresponds to the CDROM indentified in the FX2 file. The CDROM Volume Label is used to do this matching. If the Volume Labels do not match, the user is given the option of either inserting a different CDROM in the drive and trying again (the user can avoid this by inserting the correct CDROM in the drive before starting the Import operation). Alternatively, if the user is certain the CDROM really is the correct one, and that the Volume Label mismatch should be ignored, the user can proceed and FontFolder will use the CDROM volume information instead of the volume information in the Import File 3. Entry of CDROM in FONTFOLDER Data Base Once the CDROM has been accepted as correct, FontFolder will check its internal CDROM list to see if this CDROM has been seen before by FontFolder. If the CDROM is already in its database, FontFolder will complete the import with no further user intervention required. If the CDROM is new to FontFolder, the FontFolder CDROM Import Dialog will change to ask the user to review and accept or modify the User Label for the CDROM. The initial User Label presented will be the one contained in the Import File. Note: The fact that the dialog has proceeded to a second stage of the import process is signified by the title bar changing to say Step 2 and by the descriptive text in the dialog window flashing for three seconds. The User Label is used by FontFolder to identify the CDROM to the user in all messages dealing with the CDROM. The User Label may either be accepted as shown, or the user may change it to any other 31 character text string. Once the OK button is clicked in this dialog window, FontFolder completes the import operation with no further user intervention required required. See Importing and Exporting a Library and Using Fonts on CDROMs for additional information.  Other Library... Selecting this menu item will open a standard OS/2 File Dialog to allow the user to choose the file to be imported. All files are shown in the File Dialog, and it is up to the user to be certain that the file is a valid FontFolder Library file. FontFolder will do a minimal check to see if the correct data file identifier is included in the file, but it will not in any other way check for validity. When the user chooses a file from the File Dialog, FontFolder will first check the file for the data file identifier as described above. Next FontFolder will check to see if the file has the format of an FX2 file (this check is based on the modfications made to a Library file during the Export Library operation, not on whether the file has an FX2 extension) and if it does the Import operation will proceed as described above for FX2 files. Otherwise, the file will be imported with no further user intervention required. See Importing and Exporting a Library for additional information.  FontPack... Selecting this menu item will open the FontPack Selection Dialog which shows all of the FontPacks defined in FontFolder. Once a specific FontPack is selected the FNTPKnnn.FP2 file corresponding to this FontPack will be used as the Import File. The file will be imported with no further user intervention required. Note: This operation is possible because there is no difference in the format of a Library data file and a FontPack data file. The difference is only in how FontFolder operates on the fonts in these files. See Importing and Exporting a Library and Creating a Custom Library for additional information. ═══ 18.1.8. Export Library ═══ Select this menu item from the Libraries menus to create a library data file for a CDROM library in a format that can be transferred to other systems. The feature is intended for use with font CDROMs to allow users to create Pre-registered Libraries for these CDROMs that can be shared with other users. An Exported Library is a library data file that has been modified to remove CDROM information that is specific to a particular copy of a CDROM and to a specific system in such a way that the information can be easily restored on another system. This feature is intended for use only with libraries that describe all or a portion of the contents of a single font CDROM. When this menu item is selected, a list of all Libraries known to FontFolder is presented. The user can select any library, including the Current Library . FontFolder does not check to verify that the library selected is a proper CDROM library as described above. To select a Library from the list, either double-click on the Library name in the listbox, or click on the name to highlight it and then click on OK. The Cancel button will cancel the operation and return the user to the FontFolder main window. Once a library is selected, a standard OS/2 File Save Dialog will be presented. Select the drive and directory where the Export Library file should be created, and give the file a name. The default for the extension for an Export Library file is FX2. Note: Using this extension makes it easy to find the file when it is later Imported, but this is only a convention. FontFolder will detect the Export Library file format and handle the file properly no matter what extension is used. Once the File Save Dialog has been properly filled in, click on Save to create the Export Library file in the selected drive and directory. FontFolder will create the data file and return the user to the main FontFolder window. Creating this Export Library file has no effect on the existing FontFolder Library file from which it was created. See Creating and Using Pre-registered Libraries for more information. ═══ 18.1.9. Delete Library ═══ Select this menu item from the Libraries menus to delete an existing Library When this menu item is selected, a list of all Libraries known to FontFolder is presented. To select a Library from the list, either double-click on the Library name in the listbox, or click on the name to highlight it and then click on OK. The Cancel button will cancel the operation and return the user to the FontFolder main window. Once a Library is selected for deletion FontFolder will display a message asking for confirmation, and then will remove the Library from FontFolder's list of available Libraries and delete the data files for the Library. Information pertaining to CDROMs whose fonts were registered with the Library will not be deleted since these CDROMs may also have fonts registered with other Libraries. If the user wishes to also delete information on a CDROM, use the Edit CDROM info utility to delete the CDROM information. The Current Library can not be deleted. To delete the Current Library, first change Libraries using the Open Library menu item. It is also not possible to delete a Library is there is only one library. Note: While it is possible to delete the library named Base Library, it is recommended that the user not do this. FontFolder treats the name Base Library as special, using it as its first recourse for recovery from certain error conditions. If FontFolder can not find any library named Base Library, it will attempt to find and use another library and should be able to recover to the same extent as is possible when the Base Library exists. However, maintaining a library named Base Library will offer the best chance for recovery. See Deleting a Library for additional information. ═══ 18.2. FontPacks Menu ═══ The choices on the FontPacks menu are  New FontPack  Open FontPack  Save FontPack  Save FontPack as...  Delete FontPack  Revert FontPack  Close FontPack ═══ 18.2.1. New FontPack ═══ Choose New FontPack from the FontPacks menus to create a new FontPack. See the Creating a FontPack help for more details. ═══ 18.2.2. Open FontPack ═══ Choose Open FontPack from the FontPacks menus to edit an existing FontPack. See the Editing an existing FontPack help for more details. ═══ 18.2.3. Save FontPack ═══ Choose Save FontPack from the FontPacks menus to save an existing FontPack under its current name. See the Saving a FontPack (Save and Save As) help for more details. ═══ 18.2.4. Save FontPack as ═══ Choose Save FontPack as from the FontPacks menus to name and save a new FontPack or to save an existing FontPack under a new name. See the Saving a FontPack (Save and Save As) help for more details. ═══ 18.2.5. Delete FontPack ═══ Choose Delete FontPack from the FontPacks menus to delete an existing FontPack. See the Deleting a FontPack help for more details. ═══ 18.2.6. Revert FontPack ═══ Choose Revert FontPack from the FontPacks menus to revert a FontPack to the backup copy. See the Reverting a FontPack help for more details. ═══ 18.2.7. Close FontPack ═══ Choose Close FontPack from the FontPacks menus to close FontPack Edit mode and return to the Install Fonts mode. See the Quitting FontPack Edit mode help for more details. ═══ 18.3. Print Menu ═══ The choices on the Print menu are shown below:  Installed Fonts  Library  FontPack  FontPack Fonts  Cancel Exit ═══ 18.3.1. Print Installed Fonts ═══ Choose Installed Fonts from the Print menus to print some or all of the installed fonts. Selecting this menu item leads to the following submenu items:  All fonts...  Selected fonts... See the Selecting Fonts to Print help for more details. ═══ 18.3.2. Print Library ═══ Choose Library from the Print menus to print some or all of the fonts in the current library. Selecting this menu item leads to the following submenu items:  All fonts...  Selected fonts... See the Selecting Fonts to Print help for more details. ═══ 18.3.3. Print FontPack ═══ Choose FontPack from the Print menus to print all of the fonts in the selected FontPack in the FontPacks list. The FontPack to be printed must be selected before choosing this menu item. To print selected fonts from a FontPack, first open the FontPack for editing and then choose FontPackFonts from the Print menus. See the Selecting Fonts to Print help for more details. ═══ 18.3.4. Print FontPack Fonts ═══ Choose FontPack Fonts from the Print menus to print some or all of the fonts in the FontPack currently open for editing. A FontPack must be open for editing in order to use this menu item. Selecting this menu item leads to the following submenu items:  All fonts...  Selected fonts... See the Selecting Fonts to Print help for more details. ═══ 18.3.4.1. All Fonts... ═══ Select this menu item to print all the fonts in a library, installed fonts list, or fontpack. It is not necessary to mark the fonts in advance in order to print them. See the Selecting Fonts to Print help for more details. ═══ 18.3.4.2. Print Selected Fonts... ═══ Select this menu item to print selected fonts from a library, installed fonts list, or fontpack. The fonts to be printed must be selected before choosing this menu item. See the Selecting Fonts to Print help for more details. ═══ 18.3.5. Cancel Exit ═══ Select this menu item to cancel the scheduled exit of FontFolder once printing completes. See the Exiting FontFolder while Printing help for more details. ═══ 18.4. Options Menu ═══ The choices on the Options menu are shown below:  View  Settings ═══ 18.4.1. View ═══ The View menu option allows the user to change how the font lists are displayed in the main FontFolder window. The default display lists the fonts by their font names (e.g. Courier Bold). The user can also choose to have the lists display the fonts by their file names (COURB.OFM) or by their fully qualified path names (C:\PSFONTS\COURB.OFM). In each view the font lists are sorted alphabetically by the currently displayed names. Note: One way in which an alternate view is useful is that the path names view groups all fonts residing in the same directory together in the list so a user who wants to move a font directory for space or other reasons and needs to discover which font files from that directory are currently loaded in OS/2 can easily find them. All FontFolder functions are fully operational from whatever view is currently displayed. To select a new view, choose the View menu item from the Options menus, then choose the appropriate view from the submenu. ═══ 18.4.2. Settings ═══ Choose the Settings menu item from the Options menus to bring up the FontFolder Settings Notebook. From this dialog the user can change various settings that FontFolder uses to customize its operation. See the FontFolder Settings Notebook help for more details. ═══ 18.5. Utilities Menu ═══ The choices on the Utilities menu are shown below:  Edit CDROM info...  Map Drives...  Move Font files.. ═══ 18.5.1. Edit CDROM info menu ═══ Choose this menu item from the Utilites menus to invoke the Edit CDROM info utility. Note: This utility is only available to registered users of FontFolder. See Registration Information for how to register FontFolder. Selecting this menu item opens the Edit CDROM info Dialog. See the Edit CDROM info Dialog Help for help with using this dialog. ═══ 18.5.2. Map Drives menu ═══ Choose this menu item from the Utilites menus to invoke the Map Drives utility. Note: This utility is only available to registered users of FontFolder. See Registration Information for how to register FontFolder. Selecting this menu item opens the Map Drives Dialog. See the Map Drive Dialog Help for help with using this dialog. ═══ 18.5.3. Move Font files menu ═══ Choose this menu item from the Utilities menus to invoke the Move Font Files utility. Note: This utility is only available to registered users of FontFolder. See Registration Information for how to register FontFolder. Selecting this menu item opens the Move Font files Dialog. See the Help for the Move Font Files Dialog for detailed help. ═══ 18.6. Help Menu Help ═══ Help is available for the following Help menu items:  Keys Help  Product information ═══ 18.6.1. Keys Help ═══ The following are the FontFolder shortcut keys. When the names of two keys are shown joined by a plus (+) sign, press both keys simultaneously. Main Window Shortcut Keys Key Purpose Ctrl+M Tab to Library list in Main Window Ctrl+O Tab to OS/2 Installed Fonts list in Main Window Ctrl+I Install font in OS/2 Ctrl+U Remove(Uninstall) font from OS/2 Menu Item Shortcut Keys Key Purpose Ctrl+R Register font with Current Library Ctrl+D Delete font from Current Library F2 Save Library Shift+F2 Revert Library Ctrl+Q Open Font Browser Ctrl+A Create new FontPack Ctrl+B Open existing FontPack Ctrl+C Save FontPack Ctrl+E Save As... Font Pack Ctrl+G Delete Font Pack Ctrl+H Revert Font Pack Ctrl+J Quit FontPack edit mode Ctrl+N View fonts by fontname Ctrl+F View fonts by filename Ctrl+P View fonts by pathname Ctrl+S View/Change Settings ═══ 18.6.2. Product Information ═══ Select this menu item from the Help Menu to display product related information about FontFolder. Information includes the version number, author and date of production of FontFolder, product registration information, and how to get assistance. ═══ 18.7. Print Window Popup Menu ═══ The following items are available from the Print Window Popup Menu See FontFolder Menus for help on accessing popup menus.  Delete  Delete All  Cancel Exit ═══ 18.7.1. Delete ═══ Select this menu item from the Print Window Popup Menu to delete one or more print jobs queued for printing. The jobs to be deleted must be selected first before choosing this menu item. See the FontFolder Print Window help for more details. ═══ 18.7.2. Delete All ═══ Select this menu item from the Print Window Popup Menu to delete all print jobs queued for printing. See the FontFolder Print Window help for more details. ═══ 19. FontFolder Dialogs ═══ Help is available for the following FontFolder dialogs:  CDROM Import Dialog  Copy Fonts to Hard Drive Dialog  Edit CDROM info Dialog  FontPack Selection Dialog  Library Selection Dialog  Load Installed Fonts List Dialog  Map Drives Dialog  Move Font Files Dialog  Move Font Files Source Dialog  Move Font Files Destination Dialog  Move Font Files Settings Dialog  Print Dialog  Print - Duplex Setup Dialog  Print - Fonts Setup Dialog  Print - Margins Setup Dialog  Print - Printer Setup Dialog  Register Fonts Dialog  Setup Dialog ═══ 19.1. CDROM Import Dialog ═══ This dialog is a two-step dialog. The current step is indicated in the title bar by the addition of either Step 1 or Step 2 to the title.  Step 1 - Drive Identification First the user is asked to identify the drive letter for the drive from which the CDROM will be used (multiple CDROM drives are supported, but an individual CDROM must be associated with just one drive). The Volume Label for the CDROM recorded in the FX2 file is shown for reference. Enter the single letter for the drive letter and click OK to proceed to the next step. Click Cancel to dismiss the dialog and abort the import operaton. Once the user selects the CDROM drive letter and clicks OK, FontFolder reads the CDROM in the selected drive to see if it corresponds to the CDROM indentified in the FX2 file. The CDROM Volume Label is used to do this matching. If the Volume Labels do not match, the user is given the option of inserting a different CDROM in the drive and trying again (the user can avoid this by inserting the correct CDROM in the drive before starting the Import operation). Alternatively, if the user is certain the CDROM really is the correct one, and that the Volume Label mismatch should be ignored, the user can proceed and FontFolder will use the CDROM volume information instead of the volume information in the FX2 file in creating the Library. Once the CDROM has been accepted as correct, FontFolder will check its internal CDROM list to see if this CDROM has been seen before by FontFolder. If the CDROM is already in its database, FontFolder will complete the import with no further user intervention required.  Step 2 - Assignment of a User Label If the CDROM is new to FontFolder, the dialog text will change to ask the user to review and accept or modify the User Label for the CDROM. The initial User Label presented will be the one contained in the Import File. Note: The fact that the dialog has proceeded to a second stage of the import process is signified by the title bar changing to include Step 2 in the title and by the descriptive text in the dialog window flashing for three seconds. The User Label is used by FontFolder to identify the CDROM to the user in all messages dealing with the CDROM. Either accept the User Label as shown, or change it to any other 31 character text string. Click the OK button to proceed. FontFolder will complete the import operation with no further user intervention required required. Click Cancel to dismiss the dialog and abort the import operaton. ═══ 19.2. Copy Fonts to Hard Drive Dialog ═══ When the font that a user registers with a Library resides on a removable drive such as a diskette drive, FontFolder must copy the font files to a hard drive location in order for OS/2 to use them. The Copy To Hard Drive dialog will be displayed, and the user must enter the path to the directory on the hard drive where the fonts should be copied. A checkbox gives the user the option of making the path entered the default for future Copy Fonts to Hard Drive dialogs. The user also may change the Copy Windows Font Files setting as shown in the Copy Windows Font Files checkbox. If the Copy Windows Font Files checkbox is checked then FontFolder will also copy the appropriate Windows font files to the hard drive. This setting may also be changed from the Settings Notebook. ═══ 19.3. Edit CDROM info Dialog ═══ The left half of the dialog presents a list of all CDROMs known to FontFolder, by their User Labels . The right half of the dialog presents the detailed information kept by FontFolder on each CDROM. Initially the right half of the dialog has no information presented. Select a CDROM by clicking on a User Label. The details for that CDROM will now be displayed. The User Label and Assigned Drive fields can be modified. The Volume Label and Volume Serial Number fields are presented for information only and can not be modified. Once a CDROM has been selected, the user may either edit and update the CDROM information or else delete it entirely from FontFolder. Update CDROM info Make changes to the User Label and Drive Assignment fields by directly editing them. The User Label can be any 31 character text string. The Drive Assignment must be the drive letter of the CDROM drive from which the CDROM will be used. FontFolder will insist that the letter be a valid CDROM drive as defined in the Drives Settings in the Settings Notebook. Just the single character of the drive letter should be entered (FontFolder will not allow more). Once the changes are made, click on Update CDROM info to make the changes. Delete CDROM info Once the CDROM has been selected, click Delete CDROM info to delete all information about this CDROM from FontFolder. FontFolder will ask for confirmation. Next the Current Library and any FontPack open for editing will be checked to see if they contain any fonts from this CDROM. If they do, the operation will be rejected. Otherwise, the information about this CDROM in FONTFOLD.INI will be deleted. Note: While the information on a CDROM can be deleted as long as the CDROM is not in current use, if another Library or FontPack contains fonts from this CDROM, the information will be added back in to FONTFOLD.INI the first time a Library or FontPack requiring it is loaded. To completely delete all information about the CDROM, the user should first remove all fonts from this CDROM from all Libraries and FontPacks and then use Edit CDROM info to remove the CDROM information from FONTFOLD.INI. Closing the Edit CDROM info Dialog Click the Close button or choose Close from the Window menu to close the dialog and quit the utility. If a CDROM has been selected and the User Label or Drive Assignment has been modified but the update has not been processed, the user will be given an opportunity to make the update at this time. ═══ 19.4. Library(FontPack) Selection Dialog ═══ Use this dialog box to select from the list of existing Libraries or FontPacks. Either double-click on the name of the desired Library(FontPack), or click on the name of the desired Library(FontPack) to highlight it and then click OK. ═══ 19.5. Load Installed Fonts List Dialog ═══ This dialog box appears during FontFolder startup when FontFolder encounters a font already installed in OS/2 that is either unreadable by OS/2 or for which the OS/2 font information is corrupt. It is possible to add such fonts to the list of OS/2 Installed Fonts using the OS/2 Font Pallete. However, OS/2 cannot use such fonts, and they do not show up in the Font Pallete. FontFolder rejects these fonts. The Load Installed Fonts List dialog shows the name of the unusable font file, and gives the user the option of either removing it from the list of Installed Fonts or leaving it alone. In either case, FontFolder will not show this font on its list of Installed Fonts. Normally the user should choose to Remove the font. The only case where one might choose otherwise is if the user wants to temporarily leave it alone while the user investigates to understand what the problem might be with the font file. If the user chooses the Leave Alone option, this dialog box will reappear every time FontFolder is started, until the user chooses Remove. ═══ 19.6. Map Drives Dialog ═══ To set up a drive letter change (e.g. to change references to drive letter D to drive letter F) first set the left hand spin button to the old drive letter that should be changed (e.g. D). This can be done either by using the spin button arrows or by typing the drive letter directly. Next set the right hand spin button to the new drive letter (e.g. F). Once the spin buttons are set to show the desired drive letter mapping, click the Set button. The drive letter mapping will be added to the listbox of pending changes in the format D -> F. The drive letter change is not actually made until the Process button is clicked. Continue adding additional drive letter changes as required. To correct a pending change, enter it again. To cancel a pending change (e.g. D -> E), reenter the change with the left hand side set equal to the right hand side (e.g. D -> D). Process When all required changes have been entered, click on the Process button. After confirmation, the changes will be processed. A Progress Indicator window will open and show the percentage of the task completed and a MAPDRIVE.LOG file will be created containing a record of what actions were taken. WARNING: Process all drive letter mappings together! If you do not do this, you risk corrupting your data files beyond repair! If you intend to map C->D and D->E as an example, FontFolder will keep these separated properly as long as the changes are processed together. If you were to do C->D first and then try to process D->E separately, the first processing pass would change all references to C to D while leaving the original references to D still in place, making the new D references indistinguishable from the old D references. The second pass would change both to E, making the effect of the two passes the equivalent of mapping C->E and D->E. Cancel To cancel the drive mapping without making any of the pending changes, click Cancel. ═══ 19.7. Move Font Files Dialog ═══ The Move Font Files Dialog opens when the user selects Move Font files.. from the Utilities menu. The dialog is in the form of an OS/2 Notebook with Source, Destination, and Settings pages. The user should select the fonts to move on the Source page, identify the drive and directory location to move the font files to on the Destination page, identify additional font information to be updated such as WinOS/2 font information and additional OS/2 and Windows partitions to update on the Settings page, and then click on the Move Files button on the Destination page to begin the operation. The Source page allows the user to select the fonts whose files should be moved, either by selecting the fonts from the list of fonts corresponding to the current Library, or by selecting the font PFB files from a Drive/Directory list. Once a font is identified by either of these techniques, FontFolder takes care of finding all the associated files that share the same file name as the PFB file for the font. The Destination page allows the user to select the drive and directory location to move the font files to, using the familiar OS/2 File Dialog style. The target directory can not be created from this dialog, but OS/2's multitasking allows the user to go and create this directory using any of the standard techniques and then return to this dialog window (it will most likely be necessary to reselect the drive and directory to have the newly-created directory show in the list). Once the source and destination have been determined and the Settings have been set, the user should click on the Move Files button on this page to begin the operation. The Settings page allows the user to determine whether WinOS/2 font information is also updated, and to select up to 4 additional OS/2 partitions and 4 additional Windows partitions for updating at the same time. This latter is useful if the user has a multi-boot setup such as Boot Manager allowing multiple copies of OS/2 or Windows and has set these up so they all share the same font files. See the Move Font Files Utility description for more information on what this utility does. See the Help for the individual pages of this notebook for detailed Help on using each page.  Source  Destination  Settings ═══ 19.7.1. Move Font Files Source Dialog ═══ The Source page of the Move Font Files notebook is where the user specifies which fonts to move. This page is initially set to display the fonts in the current Library. The user can either select the fonts to be moved from this list or change to a Drive/Directory list by changing the Select from radio button selection to Drive/Directory. Library Mode In Library Mode fonts in the current Library are displayed in the same manner as they are displayed in the Library listbox in the main window. The user can select multiple fonts using the standard listbox selection techniques used in other FontFolder listboxes. Example Use the Library listing for a CDROM drive to move the font files for specific, frequently used fonts to a hard drive location so they can be accessed more quickly, and so you don't need to have the CDROM in the drive when installing these fonts. The font names will still show up in the Library as before, but when they are selected for installation, FontFolder will use the files on the hard drive instead of going to the CDROM. Since FontFolder updates all Libraries and FontPacks when it moves font files, this will take place wherever you use the fonts. In most cases the user will be viewing fonts by their font names, but the other views can be useful for specific purposes. It is necessary to set the View first in the main window before opening the Move Font Files notebook. Example Use the font pathname view to cull out unused fonts from a directory. This view will show the fonts from that directory that are contained in the current Library. Move those fonts to a new location. Do this for each Library, and when you are finished, what is left in the original directory are your unused fonts. (This assumes that if you have a font in a FontPack, you also have it in some Library). Drive/Directory Mode In Drive/Directory Mode the Source page becomes a standard OS/2 File Dialog that allows the user to select the drive and directory from which the font files are to be moved. In this view, fonts are represented by their PFB files. FontFolder will initially show all the PFB files in the selected directory. You can select the files to be moved using the standard listbox selection techniques used in other FontFolder listboxes. Use this mode when your purpose is to move an entire directory containing font files to a new location on your hard drive. FontFolder will find and move all the font files that share the same file name with the selected PFB files (i.e., if the font being moved is myfont.PFB, then all files named myfont.* will be moved. FontFolder searches the directory containing the PFB file and one level of subdirectories below this directory for matching files. If files are found in subdirectories, the subdirectory structure will be recreated as required when the files are moved. This will work for all the "standard" ways of organizing font files used by OS/2 and Windows font-related programs. In addition to rejecting font files located in subdirectories deeper than one level below the PFB directory, there are two other specific cases that FontFolder flags. 1. If there is another copy of the font PFB file in one of the subdirectories, FontFolder will reject the entire font and refuse to move the files. This is done to protect against possible complications associated with the "wrong" copy of the font PFB file being used to install the font in OS/2, resulting in FontFolder erasing font files that are currently in use. There should be no reason to have a second copy of the PFB file in a subdirectory, but it is possible that the user may have done this while struggling to install the font in OS/2 in a situation where the AFM files are contained in an AFM directory. The more appropriate solution to such a problem is to move or copy the AFM file to the PFB directory rather than copy the (much larger) PFB file to the AFM directory. 2. If there are multiple copies of the PFM file found, FontFolder will flag this and ask the user to identify which copy of the PFM file is the one to be used when searching WinOS/2 and Windows for installed copies of the font. This is necessary because the PFM file is the file on which the search must be based (in certain cases it is the only font file listed in ATM.INI and WIN.INI). Normally the correct answer is the PFM file located in the PFM subdirectory (this is the default that the Windows version of ATM uses). Select All Font files In both the Library and the Drive/Directory mode, the Select All Font files checkbox can be used to quickly select all the fonts in the list. ═══ 19.7.2. Move Font Files Destination Dialog ═══ The Destination page of the Move Font Files notebook is where the user specifies the drive and directory where font files should be moved to. It also contains the Move Files button that begins the operation. The target drive and directory are selected using a dialog similar to the standard OS/2 File Dialog, but because only the directory to which the files should be moved is relevant here, the fields dealing with files are not present. The target directory should be highlighted in the list of directories. It does not matter whether this directory has been double-clicked to open the list of its subdirectories as long as the proper directory is highlighted. The target directory must exist; it can not be created from the Move Files Dialog. However, since OS/2 is a multitasking operating system, it is possible to temporarily switch out of the Move Files Dialog and use any of the standard OS/2 techniques to create the directory and then return to the Move Files Dialog window. If this is done, it will probably be necessary to reselect the drive and directory in the Destination dialog to get the newly created directory to show in the list. Double-clicking on the root directory should accomplish the refresh of the directory list. ═══ 19.7.3. Move Font Files Settings Dialog ═══ The Settings page of the Move Font Files notebook is where the user specifies whether to update the WinOS/2 font information, and where the user can specify up to 4 additional OS/2 partitions and 4 additional Windows partitions whose font information should also be updated. All changes made on the Settings pages are saved either when the user leaves the Settings pages to return to the Source or Destination pages, or when the Move Font Files notebook is closed. This allows the user to set up the appropriate Settings without actually having to move anything. The Settings page has two subpages, selected by the minor Tabs located on the right side of the Settings page, dealing separately with OS/2 and Windows settings. OS/2 Settings Page Click on the OS/2 Tab located on the right side of the Settings page to display the OS/2 sub-page. This page is used to set information specific to how the Move Font Files utility treats OS/2 font information for other OS/2 partitions. The OS/2 Directories to update listbox contains a list of directories for OS/2 partitions where the Move Font Files utility should update the OS2.INI file font information for all of the fonts that have been moved. FontFolder will automatically add and highlight the directory location for OS2.INI for the currently running version of OS/2 and will not allow this entry to be modified since this information is always updated. In addition, if the user has other copies of OS/2 installed in other partitions, the user can add the drive and directory locations for the OS2.INI files for these copies of OS/2 (normally the \OS2 directory) to the list, and FontFolder will search and update these copies of OS/2 as well. Up to 4 additional OS/2 partitions can be added to the list. For a directory to be permanently added to the list, the entry in the listbox must be highlighted. To remove a directory from the list, deselect it to remove the highlighting. It will be removed from the list when the Settings page is closed. In order for FontFolder to update these partitions, the partitions must be accessible from the currently running version of OS/2 (i.e. they can not be primary partitions that are hidden). Use the Add Directory entry field to add a new drive/directory location to the list of directories where OS/2 will update the OS2.INI file. The entry must be the fully qualified path to the directory containing the OS2.INI file (do not add the OS2.INI file itself to the entry). Once the path is entered, either hit the Enter key or click on the Add button to add the entry to the list. At this point, FontFolder will check to verify that a copy of OS2.INI exists at the location entered and will reject the entry if none is found. Once the entry is validated, it is added to the list and the entry is highlighted (see discussion above on highlighting entries). Windows Settings Page Click on the Windows Tab located on the right side of the Settings page to display the Windows sub-page. This page is used to set information specific to how the Move Font Files utility treats WinOS/2 and Windows font information. The Update Windows Font information checkbox specifies whether FontFolder should search the ATM.INI and WIN.INI files used to store information about Type 1 fonts installed in WinOS/2 and update all entries involving the font files that have been moved. FontFolder searches for the entry in OS2.INI that indicates if WinOS/2 is installed and if it is found FontFolder automatically checks this checkbox and adds the WinOS/2 directory location stored in OS2.INI to the list of Windows directories to be updated. Normally, the user should allow FontFolder to update the WinOS/2 information. However, if the user is also using a Windows Font Manager, then there may be a conflict if this information is changed without the knowledge of the Windows Font Manager, so a means has been provided to disable this operation. The WinOS2/Windows Directories to update listbox contains a list of directories for Windows partitions where the Move Font Files utility should update the ATM.INI and WIN.INI file font information for all of the fonts that have been moved. FontFolder will automatically add and highlight the directory location for these files for WinOS/2 if WinOS/2 support has been installed. In addition, if the user has other copies of Windows (including Windows 95, but not Windows NT which does not support ATM) installed in other partitions, the user can add the drive and directory locations for the ATM.INI and WIN.INI files for these copies of Windows (normally the \Windows directory) to the list, and FontFolder will search and update these copies of Windows as well. Up to 4 additional Windows partitions can be added to the list. For a directory to be permanently added to the list, the entry in the listbox must be highlighted. To remove a directory from the list, deselect it to remove the highlighting. It will be removed from the list when the Settings page is closed. In order for FontFolder to update these partitions, the partitions must be accessible from the currently running version of OS/2 (i.e. they can not be primary partitions that are hidden). Use the Add Directory entry field to add a new drive/directory location to the list of directories for FontFolder to update the Windows ATM.INI and WIN.INI files. The entry must be the fully qualified path to the directory containing these files (do not add either of the INI files themselves to the entry). Once the path is entered, either hit the Enter key or click on the Add button to add the entry to the list. At this point, FontFolder will check to verify that copies of ATM.INI and WIN.INI exist at the location entered and will reject the entry if both are not found. Once the entry is validated, it is added to the list and the entry is highlighted (see discussion above on highlighting entries). ═══ 19.8. Print Dialog ═══ The FontFolder Print Dialog opens once the user has selected a set of fonts to print and chosen Print from one of the various menus that offer this option. The Print Dialog offers the user the ability to direct the print job to the desired printer, to customize the settings of each printer for use with FontFolder, to select what types of pages to print, and to customize the printout in numerous ways. Those settings that the user is most likely to want to change frequently are directly available in the main Print Dialog window. Less frequently used settings are reached by selecting one of the Setup pushbuttons in the window. Print Dialog Controls  Print on this Printer Choose the printer to which the print jobs should be sent from this menu. The currently selected printer is displayed. Click on the down arrow to the right of the printer name to see the list of OS/2 printers available. Click on any of these printers to change printers. Whenever you select a printer for the first time in FontFolder, or when a new version of a printer driver has invalidated the printer driver FontFolder has been using, the message Using defaults for Margins and Printer Setup will appear in Red under the selected printer. This is to alert you to the fact that FontFolder is making certain assumptions about how to set up printing based on the defaults supplied by this printer driver. You may wish to click on both Printer Setup and Margins Setup to review the settings. If you customize one or both of these items, or if you print using these defaults, FontFolder will not show this message in the future. The Enable manual spool file monitoring checkbox is a specialized setting which is only used in connection with certain printer drivers that do not communicate correctly with FontFolder. When FontFolder prints font samples of uninstalled fonts, it must temporarily install the fonts, print, and then uninstall the fonts. The fonts must be left installed until the print jobs actually exit the OS/2 print spooler because OS/2 needs access to the fonts when the jobs are finally sent to the printer. Therefore, FontFolder tracks print jobs after it has finished with them and sent them to the OS/2 print spooler so that it knows when to uninstall the fonts used in the job. Unfortunately, some printer drivers do not properly return the identity of jobs spooled for printing, even though FontFolder employs multiple strategies for obtaining these spool ids. Under these circumstances, FontFolder believes the jobs have already exited the spooler and immediately uninstalls the fonts with the result that when the jobs actually do print the fonts are no longer available, resulting in incorrect print results. For printer drivers that fail to return spool ids (the OMNI driver is an example of such a driver) users can use Enable manual spool file monitoring to force FontFolder to keep the fonts installed until the user notifies FontFolder that the jobs have been printed.  Print these Page Types Choose one or more of four different page types which can be printed for the selected fonts. Each page type can be chosen independently and FontFolder will manage the printing of the appropriate pages. The page types currently selected for printing are shown both by the checkbox to the left of the page type and by highlighting the page type background. For the Character Set page type, there are three different print formats available. Select the desired format by clicking on the appropriate icon. For the Font Catalog and Font List page types, the user can set the page numbering style by choosing from among the options offered in the Page Number Style combo box, and can set the starting page number in the entry field opposite the New Job radio button. If the job is intended to be a continuation of the last job printed, the user can select the Continue Last Job radio button to have page numbers start with the next page number after the last page of the previous job. The page number that will be used if this selection is chosen is shown to the right of this option.  Print Once all settings have been set as desired, choose Print to actually initiate the print job.  Cancel Cancel the printing operation by clicking on the Cancel button. The Print Dialog will be dismissed and the user returned to the normal FontFolder environment.  Printer Setup Click on Printer Setup to customize the printer setup for the currently selected printer. This opens the printer dialog that OS/2 calls Job Properties. From this dialog it is possible to choose such things as paper (normally one should choose either 8-1/2x11 or A4 paper), print orientation (choose Portrait, the pages will not print properly in Landscape orientation), and other custom printer settings. For example, for some printer drivers it is necessary to make printer-specific selections in order to be able to print reliably with Type 1 fonts. Just because your printer is printing satisfactorily from other OS/2 applications does not mean it is set up properly to print the wide variety of fonts you may choose to print from FontFolder. FontFolder does not create or directly interact with the choices offered in this dialog, but it saves whatever settings you choose and uses them with this printer whenever it is selected. For assistance in customizing these settings, click on Help once you have opened the Printer Setup dialog. Note: One known problem is with the Postscript printer driver shipped with the Warp Fullpack. To reliably print Type 1 fonts with this driver it is necessary to select Options/Report Downloaded Fonts from the Printer Setup dialog. This is not required with the currently available 30.442 update of this driver.  Margins Setup Click on the Margins Setup button to customize the page margins used in FontFolder printing. FontFolder has a default set of margins that it uses in laying out a page, but these must be combined with printer-specific information to produce the correct layout on the printed page. Every printer has somewhat different settings for both the printable area on the paper and for the x-y location (offset) of the print on the page. When a printer is selected in FontFolder, the printer driver is queried to determine both the printable area and the x-y location of printing and the necessary adjustments are made to translate the desired margins in to actual paper locations in the coordinate system of the printer. This dialog can be used either to set margins different than the defaults, or to compensate for errors in the paper layout reported by the printer drivers. It may be necessary to set these margins by trial and error if the printer driver is reporting incorrect values for its printable area and x-y offset. Once custom margins are set for a specific printer, the values are stored and used whenever that printer is selected in the future. See Margins Setup for detailed information on using the Margins Setup dialog.  Fonts Setup Click on the Fonts Setup button to customize the descriptive text fonts used in FontFolder printouts. Descriptive text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, the footer information found on each page, etc. There are both Global Settings which control the fonts used on all pages and Custom Settings which override the Global Settings on specific pages. Any currently installed Type 1 font may be used for any of these settings. See Fonts Setup for detailed information on using the Fonts Setup dialog.  Duplex Setup Click on the Duplex Setup button to set up FontFolder for duplex printing. Duplex Printing is the process of printing on both sides of a sheet of paper. Some printers support this directly, and many printers can be used to achieve manual duplex printing by first printing one side of the paper and then running the paper through the printer again to print the other side. In the Duplex Setup dialog FontFolder provides the controls necessary to achieve either automatic or manual duplex printing. See Duplex Setup for detailed information on using the Duplex Setup dialog. ═══ 19.8.1. Duplex Setup Dialog ═══ Duplex Printing is the process of printing on both sides of a sheet of paper. Some printers support this directly, and many printers can be used to achieve manual duplex printing by first printing one side of the paper and then running the paper through the printer again to print the other side. In the Duplex Setup dialog FontFolder provides the controls necessary to achieve either automatic or manual duplex printing. There are two separate steps that must be taken to print in duplex mode. First, pages must be formatted as either left or right pages, depending on where the page will appear in the duplex output. Second, if the duplexing is to be done manually, the printing must be separated into two separate passes, with all the right-formatted pages printed in one pass, and all the left-formatted pages printed in a second pass. The Format Pages as and Print these Pages sections of the Duplex Setup dialog contain the controls necessary to accomplish each of these steps, respectively. Adjusting the Duplex Setup settings to achieve the wide variety of possible duplex results can sometimes be confusing. See the Examples below for specific instructions for accomplishing a number of the more common duplex printing scenarios. Note: In setting up and using the FontFolder print controls to achieve duplex printing, it is useful to understand how FontFolder actually prints the different page types (Specimen Sheets, Character Sets, etc.) that are selected in the main Print Dialog. All pages of a given page type, e.g. Specimen Sheets, are bundled together and sent to the printer as a unit (which might be separated into multiple print jobs). Each page type is printed completely for all fonts before the next page type is printed. The order of printing is the same as the order in which the page types are listed on the main Print Dialog and on the Duplex Setup dialog: Specimen Sheets, Character Sets, Font Catalog pages, and finally Font List pages. Format Pages as It is normal when printing pages that are to be bound in a book or inserted in a notebook to leave an extra margin (called the binding margin) on the inside edge of the paper. A key characteristic of duplex printing is that pages that appear on the right side of an open book have the binding margin on the left side of the paper while pages that appear on the left side of the open book have the binding margin on the opposite side of the paper. This shifting of the page image depending on whether the page will ultimately be a left page or a right page is accomplished in the Format Pages as section of the Duplex Setup dialog. For example, if the intent is to print a Font Catalog for a library or other list of fonts in duplex mode, pages must be formatted as both left and right pages, so the user would select the Both Pages radio button for the Font Catalog in the Format Pages as section of the dialog. There are cases where the user may wish to interleave different page types in duplexed printing. An example would be if the user wished to be able to have both the Specimen Sheet and the Character Set for a given font together in the printed output, either back-to-back on a single sheet of paper, or facing each other in the open book composed of these pages. FontFolder accomodates this by allowing the user to specify that all pages of a specific type be formatted as left pages or as right pages. For the example cited, one might format all Specimen Sheets as right pages and all Character Sets as left pages. By using multiple passes to print in manual duplex mode, the user can achieve the intended result. Print these Pages Once the user has chosen to format pages for printing in duplex mode, there is still another decision to be made about which pages to print. If the user has a printer capable of automatically printing in duplex mode, then in most cases all that needs to be done is to make sure that the printer is set up to print in duplex mode (done via the Printer Setup dialog), and then choose Both Pages from both the Format Pages as and Print these Pages sections of the Duplex Setup dialog. However, if the user is using a printer that does not have an automatic duplex mode, or if the user is trying to accomplish something more complex such as the interleaved printing of Specimen Sheets and Character Sets, the choice of which pages to print in a given pass is more complex. In the case where the user has chosen to format a set of pages as all left pages or all right pages, there is only one page format that can be printed, so the Print these Pages choices for these pages is preset and can not be changed. When the user has chosen to format a set of pages as Both Pages, the user is now given the choice of which page formats to print via the radio buttons in the Print these Pages section of the dialog. The user can choose to print only those pages formatted as Left Pages, only those pages formatted as Right Pages, or Both Pages The first two choices are used for manual duplex printing where pages must be printed in two passes with all the right formatted pages printed in one pass and all the left formatted pages printed in a separate pass. OK and Cancel Duplex Settings are not effective until the OK button is used to dismiss the Duplex Setup dialog. At this point the duplex settings are in effect for the current print job and are saved for all future printing. To dismiss the Duplex Setup dialog without making any changes, use the Cancel button or double click on the Title Bar Icon in the upper left corner of the dialog window. Examples of Printing in Duplex Mode Setting up and actually printing in duplex mode can sometimes be quite confusing. The following examples give step-by-step directions for accomplished many of the common types of duplex printing.  Printing a single page type such as a Font Catalog on a duplex printer.  Printing a single page type such as a Font Catalog via manual duplexing on a non-duplex printer.  Interleaving Specimen Sheets and Character Sets so that the Specimen Sheet and Character Set for a given font appear on the same sheet of paper (back-to-back).  Interleaving Specimen Sheets and Character Sets so that the Specimen Sheet and Character Set for a given font appear as facing pages in an assembled book. ═══ 19.8.1.1. Example - Single Page Type on Duplex Printer ═══ The following is the procedure to print a duplexed Font Catalog of a group of fonts on a printer that has built-in duplexing capability. The procedure for printing any other single page type is identical. Note that FontFolder permits printing multiple page types in a single pass, so it is possible to use this procedure to set up and print more than one type of job (i.e. a Font Catalog and a Font List) in one pass. Step 1: Select the fonts - If printing selected fonts from a library, fontpack, etc., mark the fonts to be printed. If printing a whole library, fontpack, etc. go directly to Step 2. Step 2: Click the right mouse button on the listbox containing the fonts to be printed. Select either Print/All Fonts or Print/Selected Fonts from the popup menu. Step 3: From the Print Dialog, click on Font Catalog. The checkbox should change to the checked state and the background of the Font Catalog text should change from gray to white. Make sure none of the other page types are selected unless you want to print them also. Step 4: Set the Page Number Style to the page numbering style you prefer by choosing from the options in the Page Number Style combo box. To change styles, click on the down arrow to the right of the current page number style, and then select from the style options in the drop-down list. Step 5: Set the starting page number in the Page Number to appear on first page area. If this is a new job, then accept the default of New Job and a starting page number of 1. If the Font Catalog is being printed in multiple sections and this is a continuation of the last job printed, click on Continue Last Job to have the page numbers start with the next page number after the last page of the previous job. If a different, arbitrary starting page number is desired for some reason, click New Job and then enter the desired page number directly in the entry field to the right of New Job. Step 6: Set the printer you want to send the job to in the Print on this Printer combo box. Change printers by clicking on the down arrow to the right of the printer name, then select the desired printer from the drop-down list. Important: You must select the printer before going to Step 7. Printer setup is printer-specific and applies only to the currently selected printer. Step 7: Make sure you have selected the correct printer in Step 6 before going to this step. Click on Printer Setup and make sure that the settings required for duplex printing are set. These settings are printer-specific: consult the on-line Help after opening the Printer Setup dialog or your printer manual for how to set the printer for duplex printing. Also check that the other settings are appropriate. You should choose Portrait mode and the paper size should be 8-1/2x11, A4, or equivalent. Click on OK to accept the settings. Note: The settings chosen in Printer Setup only apply when using FontFolder, so you are free to customize the printer setup for FontFolder use without worrying about this having any effect when printing from other applications. Step 8: Click on Duplex Setup to open the Duplex Setup dialog. In the Font Catalog row, click on Both Pages in both the Format Pages as and Print these Pages sections of the dialog. Click on OK to accept these settings. Step 9: At this point you can optionally click on Margins Setup and/or Fonts Setup to customize the margins and descriptive text fonts for the job. Step 10: Click on the Print button to print the Font Catalog. If the fonts being printed reside on a CDROM, there will be additional messages directing you to insert the CDROM in the drive (if it is not already there), and informing you when FontFolder no longer needs the CDROM mounted. Follow the directions in these messages. Step 11: If it is not already open, the FontFolder print window (Jobs Waiting to Print) will open and show one or more jobs queued for printing. These jobs will be automatically dispatched in the background when appropriate. You may continue with your normal FontFolder activities at this point, except that you may not do anything that would require removing the CDROM if you are printing fonts that reside on a CDROM (see Step 10). Note: Since OS/2 is a multitasking operating system, you may of course use any other application while FontFolder is printing. However, note that FontFolder must temporarily install fonts in order to print with them. During the period that fonts are temporarily installed, these fonts will show up in the font menus of other OS/2 applications. If you select fonts in other OS/2 applications while FontFolder is printing (for example in a word processor like Describe), be sure to only select from those fonts that you know are installed in OS/2. If in doubt, consult FontFolder's list of Installed Fonts. This list will always be correct since it is not affected by this temporarly installation of fonts. ═══ 19.8.1.2. Example - Single Page Type on Non-Duplex Printer ═══ The following is the procedure to print a duplexed Font Catalog of a group of fonts on a printer that does not have bulit-in duplexing capability. It must be possible to pass already-printed pages through the printer in such a way as to print on the opposite side of the paper in order to achieve duplex printing. The procedure for printing any other single page type is similar. Note that FontFolder permits printing multiple page types in a single pass, so it is possible to use this procedure to set up and print more than one type of job (i.e. a Font Catalog and a Font List) in one pass. Step 1: If you are not sure how to do Manual Duplexing with your printer, experiment first to determine the proper procedure. You can use FontFolder's printing or any other print task in these experiments, but choose something that is only going to print a few pages. You must determine the following:  The order in which pages are fed to your printer - For a sheet feeder, pages normally are taken from the top of the paper stack. If this is so for your printer, you will need to make sure that the sheets of paper printed in the first pass are collated so that the sheet containing page 1 appears on the top of the stack, the sheet containing page 3 beneath it, etc. when you put the sheets back in your sheet feeder for the second pass.  Whether printing occurs on the top or bottom side of the sheet of paper, as viewed from the sheet feeder. - The simplest way to check this is to make a mark on one side of a sheet of paper and place it in the sheet feeder with the marked side up. Print and observe which side is printed. Practice with orienting the sheet so that printing occurs on the unmarked side. Since you will want to print on the unprinted side of the paper on the second pass in FontFolder, you should orient the already printed sheets from the first pass in the same way as you determine from the above experiments.  Which end of the paper feed corresponds to the top of the page - Normally the end of the paper that is adjacent to the printer feed mechanism is the end which becomes the top of the printed page. Experiment with a marked sheet of paper to verify which way the paper must be oriented to have the top of the page printed on the back side correspond to the top of the page printed on the front side. You will need to orient the paper on the second pass in FontFolder according to what you determine in these experiments. Step 2: Select the fonts - If printing selected fonts from a library, fontpack, etc., mark the fonts to be printed. If printing a whole library, fontpack, etc. go directly to Step 3. Note: Manual duplex printing requires you to print twice, selecting the same fonts on the second pass as were selected on the first pass. FontFolder facilitates this by leaving the selected fonts marked when printing. To print the second pass you should only need to select printing again. Step 3: Click the right mouse button on the listbox containing the fonts to be printed. Select either Print/All Fonts or Print/Selected Fonts from the popup menu. Step 4: From the Print Dialog, click on Font Catalog. The checkbox should change to the checked state and the background of the Font Catalog text should change from gray to white. Make sure none of the other page types are selected unless you want to print them also. Step 5: Set the Page Number Style to the page numbering style you prefer by choosing from the options in the Page Number Style combo box. To change styles, click on the down arrow to the right of the current page number style, and then select from the style options in the drop-down list. Step 6: Set the starting page number in the Page Number to appear on first page area. If this is a new job, then accept the default of New Job and a starting page number of 1. If the Font Catalog is being printed in multiple sections and this is a continuation of the last job printed, click on Continue Last Job to have the page numbers start with the next page number after the last page of the previous job. If a different, arbitrary starting page number is desired for some reason, click New Job and then enter the desired page number directly in the entry field to the right of New Job. Step 7: Set the printer you want to send the job to in the Print on this Printer combo box. Change printers by clicking on the down arrow to the right of the printer name, then select the desired printer from the drop-down list. Important: You must select the printer before going to Step 8. Printer setup is printer-specific and applies only to the currently selected printer. Step 8: Make sure you have selected the correct printer in Step 7 before going to this step. Click on Printer Setup and make sure that the settings are appropriate. You should choose Portrait mode and the paper size should be 8-1/2x11, A4, or equivalent. Click on OK to accept the settings. Note: The settings chosen in Printer Setup only apply when using FontFolder, so you are free to customize the printer setup for FontFolder use without worrying about this having any effect when printing from other applications. Step 9: Click on Duplex Setup to open the Duplex Setup dialog. In the Font Catalog row, click on Both Pages in the Format Pages as section and click on Right Pages in the Print these Pages section of the dialog. This will cause FontFolder to format all pages for duplex printing but to print only the right pages on this pass. (FontFolder doesn't actually format the pages that won't print, so there is no wasted time). Click on OK to accept these settings. Step 10: At this point you can optionally click on Margins Setup and/or Fonts Setup to customize the margins and descriptive text fonts for the job. Step 11: Click on the Print button to print the Font Catalog. If the fonts being printed reside on a CDROM, there will be additional messages directing you to insert the CDROM in the drive (if it is not already there), and informing you when FontFolder no longer needs the CDROM mounted. Follow the directions in these messages. Step 12: If it is not already open, the FontFolder print window (Jobs Waiting to Print) will open and show one or more jobs queued for printing. These jobs will be automatically dispatched in the background when appropriate. Note 1: Since you are going to take the pages that are printed in this first pass and reinsert them in your sheet feeder for the second pass, you obviously can not print the second pass until the first pass has completed printing. You can, however, proceed with the setup of the second pass printing, and by doing this you free FontFolder for use in other operations. The instructions below take you through this second pass setup up to the point of clicking the Print button in the Print Dialog, and have you wait there for the first pass to complete. Since the Print Dialog is a modeless dialog, you can leave it open and return to FontFolder at that point. FontFolder captures the list of fonts to be printed at the point where you choose to print from the popup menus, so any changes you make in FontFolder will have no effect on the printing even though the second pass print job has not actually been dispatched. Note 2: It is important that you wait for any print jobs from other applications to complete before reinserting the first-pass pages in the sheet feeder. You must also not initiate any other OS/2 print jobs once you have placed these pages in the feeder until all the second-pass printing is complete. The OS/2 Print Spooler normally takes jobs in the order in which they are queued, but it is possible (but very bad manners) for another application to raise the priority of its jobs in the Print Spooler to have them print ahead of other jobs. Step 13: In FontFolder reselect Print/All Fonts or Print/Selected Fonts exactly as you did in Step 3. If you are using Print/Selected Fonts be sure to not make any changes to the marked fonts. FontFolder has preserved the marked fonts from the previous pass so no changes are needed. Step 14: Go immediately to Duplex Setup, skipping all the intervening steps. All your settings from the previous pass have been preserved and will be correct. Do not change the starting page number. FontFolder will automatically handle setting the correct page number based on the settings you choose in Duplex Setup. Your previous Duplex Setup settings will be preserved. You only need to change the Font Catalog setting in the Print these Pages section to Left Pages for this pass. Click on OK to accept these settings. Step 15: Everything is now ready to print, but you can not print until the printing from the first pass has completed and you have reinserted these pages in the sheet feeder in the proper order (as determined in Step 1 above). As noted above, you can leave the Print Dialog open and go back to FontFolder or other tasks while the first pass printing completes. When you have the first-pass pages inserted in the sheet feeder in the proper order and orientation, resume with Step 16. Note: If you understand and are comfortable using the Hold/Release facilities of the OS/2 Print Spooler, it is possible to go ahead and print the second-pass jobs even though the first-pass jobs have not completed, using the Hold/Release facilities to hold the second-pass jobs in the OS/2 Print Spooler. You should only consider this if you are completely comfortable with manipulating the OS/2 Print Spooler in this manner since it is easy to make a mistake and release a job prematurely (or out of order). Step 16: At this point you should have completed the first-pass printing and have those pages inserted properly in the sheet feeder. Click on the Print button in the Print Dialog to begin printing the second pass. Follow the directions for any CDROM-related messages that appear. Step 17: The FontFolder print window may have closed after the first pass printing. If so, it will reopen and the second pass jobs will be displayed as they progress though the FontFolder print queue. The jobs will be automatically dispatched in the background. You may continue with your normal FontFolder activities at this point, except that you may not do anything that would require removing the CDROM if you are printing fonts that reside on a CDROM (see Step 11). Note: Since OS/2 is a multitasking operating system, you may of course use any other application while FontFolder is printing. However, note that FontFolder must temporarily install fonts in order to print with them. During the period that fonts are temporarily installed, these fonts will show up in the font menus of other OS/2 applications. If you select fonts in other OS/2 applications while FontFolder is printing (for example in a word processor like Describe), be sure to only select from those fonts that you know are installed in OS/2. If in doubt, consult FontFolder's list of Installed Fonts. This list will always be correct since it is not affected by this temporarly installation of fonts. ═══ 19.8.1.3. Example - Back-to-Back Interleaved Printing ═══ The following is the procedure to print Specimen Sheets and Character Sets for a group of fonts duplexed in such a way that the Specimen Sheet and Character Set pages for each font appear back-to-back on the same sheet of paper. This procedure requires the use of manual duplex printing, i.e. passing the same sheets of paper through the printer twice in order to print on both sides, even if the printer is capable of duplex printing. In the instructions below, it is assumed that the user wishes to have the Specimen Sheet print with a right orientation and the Character Set print with a left orientation on the page. Step 1: If you are not sure how to do Manual Duplexing with your printer, experiment first to determine the proper procedure. You can use FontFolder's printing or any other print task in these experiments, but choose something that is only going to print a few pages. You must determine the following:  The order in which pages are fed to your printer - For a sheet feeder, pages normally are taken from the top of the paper stack. If this is so for your printer, you will need to make sure that the sheets of paper printed in the first pass are collated so that the sheet containing the first font appears on the top of the stack, the sheet containing the second font beneath it, etc. when you put the sheets back in your sheet feeder for the second pass.  Whether printing occurs on the top or bottom side of the sheet of paper, as viewed from the sheet feeder. - The simplest way to check this is to make a mark on one side of a sheet of paper and place it in the sheet feeder with the marked side up. Print and observe which side is printed. Practice with orienting the sheet so that printing occurs on the unmarked side. Since you will want to print on the unprinted side of the paper on the second pass in FontFolder, you should orient the already printed sheets from the first pass in the same way as you determine from the above experiments.  Which end of the paper feed corresponds to the top of the page - Normally the end of the paper that is adjacent to the printer feed mechanism is the end which becomes the top of the printed page. Experiment with a marked sheet of paper to verify which way the paper must be oriented to have the top of the page printed on the back side correspond to the top of the page printed on the front side. You will need to orient the paper on the second pass in FontFolder according to what you determine in these experiments. Step 2: Select the fonts - If printing selected fonts from a library, fontpack, etc., mark the fonts to be printed. If printing a whole library, fontpack, etc. go directly to Step 3. Note: Manual duplex printing requires you to print twice, selecting the same fonts on the second pass as were selected on the first pass. FontFolder facilitates this by leaving the selected fonts marked when printing. To print the second pass you should only need to select printing again. Step 3: Click the right mouse button on the listbox containing the fonts to be printed. Select either Print/All Fonts or Print/Selected Fonts from the popup menu. Step 4: From the Print Dialog, click on Specimen Sheet. The checkbox should change to the checked state and the background of the Specimen Sheet text should change from gray to white. Make sure none of the other page types are selected. Step 5: Set the printer you want to send the job to in the Print on this Printer combo box. Change printers by clicking on the down arrow to the right of the printer name, then select the desired printer from the drop-down list. Important: You must select the printer before going to Step 6. Printer setup is printer-specific and applies only to the currently selected printer. Step 6: Make sure you have selected the correct printer in Step 5 before going to this step. Click on Printer Setup and make sure that the settings are appropriate. You should choose Portrait mode and the paper size should be 8-1/2x11, A4, or equivalent. Click on OK to accept the settings. Note: The settings chosen in Printer Setup only apply when using FontFolder, so you are free to customize the printer setup for FontFolder use without worrying about this having any effect when printing from other applications. Step 7: Click on Duplex Setup to open the Duplex Setup dialog. In the Specimen Sheet row, click on Right Pages in the Format Pages as section. FontFolder will automatically select Right Pages in the Print these Pages section as well. Click on OK to accept these settings. Step 8: At this point you can optionally click on Margins Setup and/or Fonts Setup to customize the margins and descriptive text fonts for the job. Step 9: Click on the Print button to print the Specimen Sheets. If the fonts being printed reside on a CDROM, there will be additional messages directing you to insert the CDROM in the drive (if it is not already there), and informing you when FontFolder no longer needs the CDROM mounted. Follow the directions in these messages. Step 10: If it is not already open, the FontFolder print window (Jobs Waiting to Print) will open and show one or more jobs queued for printing. These jobs will be automatically dispatched in the background when appropriate. Note 1: Since you are going to take the pages that are printed in this first pass and reinsert them in your sheet feeder for the second pass, you obviously can not print the second pass until the first pass has completed printing. You can, however, proceed with the setup of the second pass printing, and by doing this you free FontFolder for use in other operations. The instructions below take you through this second pass setup up to the point of clicking the Print button in the Print Dialog, and have you wait there for the first pass to complete. Since the Print Dialog is a modeless dialog, you can leave it open and return to FontFolder at that point. FontFolder captures the list of fonts to be printed at the point where you choose to print from the popup menus, so any changes you make in FontFolder will have no effect on the printing even though the second pass print job has not actually been dispatched. Note 2: It is important that you wait for any print jobs from other applications to complete before reinserting the first-pass pages in the sheet feeder. You must also not initiate any other OS/2 print jobs once you have placed these pages in the feeder until all the second-pass printing is complete. The OS/2 Print Spooler normally takes jobs in the order in which they are queued, but it is possible (but very bad manners) for another application to raise the priority of its jobs in the Print Spooler to have them print ahead of other jobs. Step 11: In FontFolder reselect Print/All Fonts or Print/Selected Fonts exactly as you did in Step 3. If you are using Print/Selected Fonts be sure to not make any changes to the marked fonts. FontFolder has preserved the marked fonts from the previous pass so no changes are needed. Step 12: From the Print Dialog, click on Character Set. The checkbox should change to the checked state and the background of the Specimen Sheet text should change from gray to white. Remove the checkmark from Specimen Sheet. Make sure none of the other page types are selected. Step 13: Click on Duplex Setup to open the Duplex Setup dialog. In the Character Set row, click on Left Pages in the Format Pages as section. FontFolder will automatically select Left Pages in the Print these Pages section as well. Click on OK to accept these settings. Step 14: Everything is now ready to print, but you can not print until the printing from the first pass has completed. When all the Specimen Sheet pages have finished printing, assemble them according to the procedure determined in Step 1 so that the first font will be the first page to print, the second font the second page, etc. As noted above, you can leave the Print Dialog open and go back to FontFolder or other tasks while the first pass printing completes. When you have the first-pass pages inserted in the sheet feeder in the proper order and orientation, resume with Step 15. Note: If you understand and are comfortable using the Hold/Release facilities of the OS/2 Print Spooler, it is possible to go ahead and print the second-pass jobs even though the first-pass jobs have not completed, using the Hold/Release facilities to hold the second-pass jobs in the OS/2 Print Spooler. You should only consider this if you are completely comfortable with manipulating the OS/2 Print Spooler in this manner since it is easy to make a mistake and release a job prematurely (or out of order). Step 15: At this point you should have completed the first-pass printing and have those pages inserted properly in the sheet feeder. Click on the Print button in the Print Dialog to begin printing the second pass. Follow the directions for any CDROM-related messages that appear. Step 16: The FontFolder print window may have closed after the first pass printing. If so, it will reopen and the second pass jobs will be displayed as they progress though the FontFolder print queue. The jobs will be automatically dispatched in the background. You may continue with your normal FontFolder activities at this point, except that you may not do anything that would require removing the CDROM if you are printing fonts that reside on a CDROM (see Step 9). Note: Since OS/2 is a multitasking operating system, you may of course use any other application while FontFolder is printing. However, note that FontFolder must temporarily install fonts in order to print with them. During the period that fonts are temporarily installed, these fonts will show up in the font menus of other OS/2 applications. If you select fonts in other OS/2 applications while FontFolder is printing (for example in a word processor like Describe), be sure to only select from those fonts that you know are installed in OS/2. If in doubt, consult FontFolder's list of Installed Fonts. This list will always be correct since it is not affected by this temporarly installation of fonts. ═══ 19.8.1.4. Example - Face-to-Face Interleaved Printing ═══ The following is the procedure to print Specimen Sheets and Character Sets for a group of fonts duplexed in such a way that the Specimen Sheet and Character Set pages for each font appear face-to-face when assembled into a book. This procedure requires the use of manual duplex printing, i.e. passing the same sheets of paper through the printer twice in order to print on both sides, even if the printer is capable of duplex printing. In the instructions below, it is assumed that the user wishes to have the Specimen Sheet print with a right orientation and the Character Set print with a left orientation on the page. The procedure for printing in this manner is identical to that described for Back-to-Back Interleaved Printing except for Step 14 Follow the steps in the above procedure, except substitute the following for Step 14. Step 14: Everything is now ready to print, but you can not print until the printing from the first pass has completed. When all the Specimen Sheet pages have finished printing, assemble them according to the procedure determined in Step 1 so that the first font will be the first page to print, the second font the second page, etc. Then, because you want the printouts for the same font to appear face-to-face, add one blank sheet of paper to the assembled pages, ahead of the sheet for font 1. This will make the Character Set for the first font print on the back of the blank page, achieving the desired face-to-face arrangement. ═══ 19.8.2. Fonts Setup Dialog ═══ The Fonts Setup Dialog can be used to customize the descriptive text fonts used in FontFolder printouts. Descriptive text is text used within a printout to convey information such as the name of the font being printed, the point size in which a sample is printed, the footer information found on each page, etc. There are both Global Settings which control the fonts used on all pages and Custom Settings which override the Global Settings on specific pages. Any currently installed Type 1 font may be used for any of these settings. Global Settings The Global Settings apply to all pages. Use these settings to make a global change of either the Title Font or Text Font on all printed pages.  Title Font The Title Font is used for the titles that appear at the top of each printed page. This font is common to all pages and can only be changed globally. The default is Helvetica Bold.  Text Font The Text Font is used for all other descriptive text. Any font chosen for this setting in the Global Settings section of this dialog will be used on all pages unless it is overridden by a specific setting in the Custom Settings section. The default is Helvetica. Custom Settings The Custom Settings override the Global Text Font on specific pages. These settings are optional, but any entry in one of these settings will override the Global Text Font setting. To permit changes in the Global Text Font to apply to specific pages, leave the Custom Setting entry empty instead of entering the same font as is used for the Global Text Font.  Specimen Sheet Text Enter a font name here to override the Global Text Font on the Specimen Sheet page.  Character Set Text Enter a font name here to override the Global Text Font on the Character Set page.  Font Catalog Text Enter a font name here to override the Global Text Font on the Font Catalog page. Unlike the other pages, there are two separate custom text settings for the Font List page.  Font List Text Enter a font name here to override the Global Text Font on the Font List page for the text used for the font names. This font is also used for the footer text.  Font List Filenames Enter a font name here to override the Global Text Font on the Font List page for the text used for the font filenames. Some of the possibilities here are to use a monospace font such as Courier to have filename text characters align, or to use a condensed font such as Helvetica Narrow to squeeze long pathnames on to the page (this version of FontFolder will truncate filenames if they are too long to fit on a single line). Entering Font Names in the Entry Fields Font names must be entered in the entry fields of this dialog exactly as they appear in FontFolder's list of Installed Fonts. Capitalization and spaces are important. Fontfolder checks the font name for validity when the user tabs out of the entry field and will not allow an invalid font name to be entered. Instead of trying to exactly type a long font name, use the Font List button (see below) to bring up a list of the installed fonts and select from that list. Note: Do not enter a point size along with the font name. FontFolder does not permit the point size to be customized, and it will treat any point size entry as part of the font name, invalidating the font name. Font List While the cursor is located in any entry field, click on the Font List button to get a list of available fonts. Select the desired font and click on OK to have the font entered in the entry field. Choosing a font via the Font List button has no effect if the cursor is not located in an entry field. Default Font While the cursor is located in any entry field, click on the Default Font button to reset that field to its default font value. If the cursor is located in the Global Title Font entry field or the Global Text Font entry field, the field will be reset to Helvetica Bold or Helvetica, respectively. If the cursor is located in one of the Custom Settings entry fields, that entry field will be reset to an empty setting, indicating that the Global Text Font will be used for that entry. Clicking on the Default Font button when the cursor is not in an entry field has no effect. OK and Cancel Font Settings are not effective until the OK button is used to dismiss the Fonts Setup dialog. At this point the font changes are made and are saved for all future printing. To dismiss the Font Setup dialog without making any changes, use the Cancel button or double click on the Title Bar Icon in the upper left corner of the dialog window. ═══ 19.8.3. Margins Setup Dialog ═══ Use the Margins Setup Dialog either to set custom page margins or to compensate for errors in the page metrics supplied by the printer driver. Margins can be set independently for left and right pages, or left pages can be set to automatically mirror the margins of right pages. Page margins are specific to a printer driver because the actual placement of the page on paper is a function not only of the margins entered here but also of the location of the printable area on the paper (x-y offset and area dimensions) as reported by the printer driver. Any margins values entered in this dialog will be saved if the OK button is used to exit the dialog and will be reused whenever this printer driver is selected in the future. If the user exits the dialog via the Cancel button, changes will not be saved. The Margins Setup Dialog displays page margins measured from the outside edges of the page for both left and right hand pages. It also displays the minimum value for these margins as reported by the printer driver for the currently selected printer. Normally one should not set margins less than these minimums since the printer is not supposed to be able to print outside these boundaries, but these printer minimums are not always reported accurately so if there is a problem in aligning the printout properly on a page the user may need to specify margins that violate these minimums in some cases. FontFolder allows this. Units The margins can be displayed in inches, millimeters, or points (FontFolder uses the "Postscript point" definition of 72 points per inch). The default display is in inches. The user can change the units used by selecting the preferred units from the Units combo box. Existing margins will be converted and displayed in the new units. Entering Margins Margins can be altered by typing directly in the entry fields for the margins. Margins are kept internally in FontFolder in units that OS/2 calls TWIPS. There are 1440 TWIPS per inch (20 TWIPS per point), so this means that entries can generally be made to three decimal places for units in inches, two decimal places for millimeters, and one decimal place for points. Because of rounding in conversion, the last decimal place may not always be preserved when converting between units. Margins for Left and Right Pages FontFolder permits pages to be formatted with either a Right or a Left orientation, or both. Right and Left orientation refer to the way pages appear in an open book. The difference is that usually one allows a larger margin on the inside edge of the paper to allow for binding in a book, punching holes for assembly in a notebook, etc. Since FontFolder supports duplex printing, this binding margin must be reversed for left and right pages. The default in the Margins Setup Dialog is to have the margins for Left pages mirror those of Right pages. This is controlled by the Mirror Right Page checkbox. When this box is checked, entries can be changed only for the Right Page margins, and the Left Page margins will be adjusted automatically. Normally, one wants this symmetry, but if for some reason the user wishes to not have the margins symmetrical, this can be accomplished by unchecking the Mirror Right Page checkbox and then entering margins for the Left Page directly. A more common reason for doing this is that errors in what the printer driver reports for the page x-y offset cause pages to come out assymetrical even though the margins have been entered to be symmetrical. See Why Page Margins Aren't Always Correct below for a desciption of why this may occur. In such a case, the user can usually bring the pages in to symmetrical alignment by trial and error adjustment of the separate Right and Left page margins. Defaults Pushbutton The Defaults pushbutton can be used to reset all margins to FontFolder's default values. The default unit is inches, mirroring pages is the default, and FontFolder's default values in inches are: Margin Default Value Inside 1.000 Outside 0.375 Top 0.500 Bottom 0.250 If the printer driver reports minimum margins that are greater than these values, the default margins will be adjusted to be equal to the printer minimums. What do Page Margins Measure? A specific page margin in FontFolder (e.g. the right hand margin on a right hand page) always sets the distance from the edge of the paper to the outermost object being printed on that page, but it is not always possible to directly measure this page margin. A concrete example of where this problem occurs is in the footer text on the bottom of every FontFolder page. When the outermost object being printed is text, the location of the text string is set by the baseline of the text, which is normally the imaginary line that a row of text sits upon. In order to have the text fit within the specified margin, FontFolder must place this baseline far enough inside the margin so that descending characters such as g and y remain within the margin. However, fonts do not necessarily accurately report the position of the lowest descender, the specific text string being printed may not contain characters that descend to this minimum, and some special fonts such as symbol fonts may not even have an observable baseline. Therefore it is not in general possible to accurately measure the page margin by measuring relative to a text string. If the user wishes to check whether the margins set in the Margins Setup dialog are being correctly translated to the printed page, the recommend way for measuring each margin is shown below. Left Margin Measure from the left edge of the paper to the left end of either horizontal separator line drawn on a Font Catalog or Font List page. Right Margin Measure from the right edge of the paper to the right end of either horizontal separator line drawn on a Font Catalog or Font List page. Top Margin Measure from the top edge of the paper to the boundary line of the bounding box drawn on either a Specimen Sheet or Character Set page. Bottom Margin Measure from the bottom edge of the paper to the boundary line of the bounding box drawn on either a Specimen Sheet or Character Set page. Subtract 0.250 inches from this measurement to determine the page margin. Why Page Margins Aren't Always Correct The page margins have been set to exactly what is desired in the Margins Setup dialog, but the pages don't come out of the printer with those margins. What is wrong? To understand what has gone wrong, and more importantly to correct it, it is useful to understand the translation that takes place between the page margins specified in FontFolder and what gets printed. Page margins are something the user thinks of as measurements made from the respective outer edges of the paper, but this is not how OS/2 or the printer measure things. The differences include both the reference point(s) from which measurements are made, and a level of indirection in how the printer driver reports a number of key page metrics. To begin with, in printing under OS/2 all measurements are made from the origin of a cartesian coordinate system with (0,0) located somewhere down toward the lower left edge of the paper. The precise meaning of somewhere down toward is the first important distinction to understand. Most printers can not print all the way out to the edge of the paper in either the x or y directions. So the first thing that a printer driver must tell OS/2 is the location of the lower-left corner of its printable area. This offset of the origin from the actual lower-left corner of the paper figures directly in the calculation of the left and bottom margins since OS/2 must specify the margin not from the lower left edge of the paper but from this offset location. For example, if the left margin is intended to be 1.000 inches, but the printer driver reports that the x-offset is 0.157 inches, then to have the margin end up 1.000 inches from the paper edge, the page must be drawn with a left margin of 0.843 inches (1.000 - 0.157) as measured from the origin of printer's coordinate system. As a result, an incorrect value for the offset as reported by the printer driver will lead directly to incorrect left or bottom page margins on the printed page. The second important distinction is that the printer driver does not directly report the top and right page margins. Instead, it reports physical page dimensions (8-1/2 x 11) and printable area dimensions. Physical page dimensions reported by the printer driver refer to the paper size, and are rarely in error. Printable area dimensions are reported by the printer driver as x and y distances from the (0,0) origin described above to the right and top edges of the printable area, respectively. Thus for example to determine the minimum value allowed for the right page margin as measured from the paper edge, one needs to start with the physical page x-dimension and subtract both the x-offset and the printable area x-dimension. An error in either the offset or the printable area as reported by the printer driver will result in an incorrect calculation of the resulting page margin. As was noted above, in printing all dimensions are specified from the (0,0) origin as reported by the printer driver offset, so when FontFolder draws right and top edges of a page, it must give their locations from this origin rather than the paper edge. This means right and top edge margins must be translated via the combination of the offset, printable area dimensions, and physical page dimensions from an outside edge of the paper measurement to a distance from this origin. An error in any one of these values as reported by the printer driver can lead to an incorrect placement of the top or right margin. If the printed pages appear to be sized correctly but are shifted left or right, up or down, the culprit is the offset, and it will be necessary to adjust both of the affected margins to compensate. This type of error will also mean that left and right pages will need to have their margins set to be assymetical (by the amount of error in the reported offset) to compensate. The useful information here is that the amount of change that needs to be made should be identical in magnitude for all margins. If one margin appears correct but the opposite one is wrong (normally the top or right margin will be wrong), then the culprit is the printable area reported by the printer driver (it is rare for the physical page dimensions to be reported incorrectly), and only the affected margin needs to be adjusted. ═══ 19.8.4. Printer Setup Dialog ═══ The Printer Setup Dialog one reaches by choosing Printer Setup in the FontFolder Print Dialog is the dialog that OS/2 calls Job Properties. It is not a part of FontFolder, but is supplied by the printer driver for the printer selected in FontFolder. Detailed Help for this dialog is also part of the printer driver support, not FontFolder. To get help for this dialog, click on the Help button once the dialog is open. From this dialog it is possible to choose such things as paper (normally one should choose either 8-1/2x11 or A4 paper), print orientation (choose Portrait, the pages will not print properly in Landscape orientation), and other custom printer settings. For example, for some printer drivers it is necessary to make printer-specific selections in order to be able to print reliably with Type 1 fonts. Just because your printer is printing satisfactorily from other OS/2 applications does not mean it is set up properly to print the wide variety of fonts you may choose to print from FontFolder. FontFolder does not create or directly interact with the choices offered in this dialog, but it saves whatever settings you choose and uses them with this printer whenever it is selected. Note: One known problem is with the Postscript printer driver shipped with the Warp Fullpack. To reliably print Type 1 fonts with this driver it is necessary to select Options/Report Downloaded Fonts from the Printer Setup dialog. This is not required with the currently available 30.442 update of this driver. ═══ 19.9. Register Fonts Dialog ═══ Use this dialog box to mark the font files that you want to register with the Current Library. First select the Drive on which the font files are located from the Drive: box, then select the Directory on which the font files are located by doubleclicking on the correct directory in the Directory: box. The File: box will fill with the names of all the font PFB files in the selected directory. FontFolder uses the font PFB files to identify the fonts, unlike the OS/2 Font Pallete, which uses the font AFM files. Mark all the font files you want to register and then click OK. Multiple files can be marked by holding down the control key while marking. Consecutive files can be marked by dragging the mouse in the list of files while holding down Mouse Button 1 (and the control key if required). If you wish, you can have FontFolder take care of identifying and registering all the font files automatically, by choosing one of the Auto Select options. Choose the Select All Font Files option if you want FontFolder to select all the fonts in the directory instead of you having to manually mark them. Choose Search All Subdirectories if you want FontFolder to register all the fonts in the current directory and all subdirectories below this directory. In this case the current directory does not have to contain any fonts. To register all the fonts on a drive, select the root directory of the drive and check the Search All Subdirectories option. The Search All Subdirectories option is selectable only after the Select All Font Files option has been checked. The selected fonts will be registered, and a REGFONTS.LOG file will be created describing the actions taken. If FontFolder was unable to register any of the fonts, a message box will appear informing the user of this and directing them to the REGFONTS.LOG for the details. Selecting Cancel will return you to the Main FontFolder Window. ═══ 19.10. Setup Dialog ═══ The FontFolder Setup Dialog is displayed when first starting FontFolder and in any case when FontFolder cannot find the FONTFOLD.INI file on startup. This dialog presents the user with key choices that must be made before FontFolder can run. They are  Removable Drive Letters When the user trys to register a font with a FontFolder Library, FontFolder needs to check whether the source location for the font files is on a removable medium such as a diskette. If the font files are on a removable medium, FontFolder must copy them to a location on a nonremovable drive (a hard drive) as part of the registration process. OS/2 requires that fonts reside on a hard drive when installed. FontFolder uses the Removable Drive Letters entry to identify the removable drives. The user should enter the drive letters of all the removable drives on the system in the Removable Drive Letters entry field. The form of the entry is the drive letters with no spacing or other punctuation. Example: If the system has two diskette drives, A and B, and a removable hard drive identified as F, then the Removable Drive Letters entry should be ABF Failure to properly identify the removable drives can lead to unpredictable results.  CDROM Drive Letters If a drive is identified to FontFolder as a CDROM Drive, FontFolder will treat the fonts on that drive differently than it treats fonts on a hard drive or a removable drive. It will leave the fonts in place on the CDROM as long as they are not installed in OS/2, but when a CDROM font is installed in OS/2 the font files will be temporarily copied to the hard drive in a special directory called the Font Cache If the font is later uninstalled from OS/2, FontFolder will detect that it is a Font Cache font and erase the font files from the hard drive. This gives the user the freedom to have access to all their CDROM fonts while at the same time minimizing the amount of hard drive space required. The user should enter the drive letters of all the removable drives on the system in the CDROM Drive Letters entry field. The form of the entry is the same as for the Removable Drive Letters. A CDROM drive should be indentified to FontFolder as either a CDROM drive or as a removable drive. Failure to do so will cause FontFolder to attempt to treat it as a hard drive, which will lead to failure when FontFolder tries to install a font from this drive in OS/2. For additional information, see Using Fonts on CDROMs.  Path to FontFolder INI file The first time FontFolder is closed it creates a file called FONTFOLD.INI and writes a set of information about its state to the file. Examples of the type of information are the size and location of the FontFolder window on the screen, the Removable Drive Letters setting, and the location of the FontFolder data files. The default is to create this file in the same directory as FONTFOLD.EXE. However the user may want to locate the file in a different directory. For example, if FontFolder resides on a network server and is shared by several users, each user needs an individual copy of FONTFOLD.INI. In this case the user should change the path to the FontFolder INI file to point to a location on the local workstation. If the path to the FontFolder INI file is changed, an entry is made in OS2.INI specifying where this file is located.  Path to FontFolder data files FontFolder creates several data files during operation. The Library data files, MLIBnnn.FF2, contain the font registration information for the fonts included in the Libraries. The default is for thess files to reside in the same directory as the FONTFOLD.EXE file, but the user can change the path to point to another location. The Path to FontFolder date files information is stored in FONTFOLD.INI. One consideration in deciding where to locate the Library data files is the size of these file. The size will vary depending on the number of fonts registered with the the Libraries. For the largest library that FontFolder can currently support the size of MLIBnnn.FF2 would be approximately 100KB. Since one backup copy, MLIBnnn.BAK, is also maintained, the maximum total space requirement for the Library files is approximately 200KB times the number of libraries. However, this assumes the font file information stored includes maximum length path names. In actual practice the Library files will probably only be 20-30% of this size. The data files also include files of the form FNTPKnnn.FP2, which contain information identifying all the fonts included in the different FontPacks the user creates. There will be backup files, of the form FNTPKnnn.BAK for these files also. Unless the user creates a very large number of FontPacks, these files will take up much less space than the Library files. ═══ 20. Navigating in Listboxes ═══ When the cursor is located in any of the FontFolder font listboxes the user can type all or part of an entry and FontFolder will find, select and display the first item in the list that matches the characters entered. Case is not important. When the first character is typed, the menu bar area of the main window changes to display the character string being entered. As each character is typed, it is added to the search string and the listbox is searched for a match of this string. If a match is found, the listbox is scrolled to display the matching item, which is highlighted. The backspace character can be used to make corrections, but other navigation keys such as the delete key and the cursor keys are not available. This behavior continues as long as characters (or the backspace) continue to be entered. Once a set period of time (1.5 seconds) passes without further keystrokes being entered, FontFolder reverts to its normal menu display, and any subsequent keystroke is considered to be the start of a new search string. ═══ 21. Selecting Items in Listboxes ═══ Many of the listboxes in FontFolder use an OS/2 selection style known as Extended Selection which permits multiple consecutive items to be selected by dragging the mouse in the listbox. The listboxes which use this selection style are:  Library listbox  OS/2 Installed Fonts listbox  FontPack Fonts listbox  File selection listbox in the Register Fonts dialog  Library and Directories listboxes in the Move Font Files - Source dialog The methods for selection and deselection in these listboxes is as follows: Selection  To select a single item simply click Mouse Button 1 on that item. Any items previously selected will be deselected.  To select multiple consecutive items in the list. Hold down Mouse Button 1 while dragging the mouse through the items to be selected.  To select multiple isolated items, hold down the Ctrl key while clicking Mouse Button 1 on each of the items.  To select multiple blocks of consecutive items that are separated in the list, hold down the Ctrl key while dragging the mouse through each separate block of items. Deselection  To deselect an item, hold down the Ctrl key while clicking Mouse Button 1 on the item to be deselected.  To deselect consecutive items from a list of multiple selected items, hold down the Ctrl key while dragging the mouse through the items to be deselected.  To deselect all items in a list, first click Mouse Button 1 on any unselected item. All previously selected items will be deselected, leaving only the newly selected item. Deselect this item as described above. If all items are selected intitially, first use the technique described above to create one unselected item, and then follow these instructions. ═══ 22. FontFolder Appendices ═══ See the following:  FontFolder Data File Format  How FontFolder Prints - Technical Details  Error Recovery ═══ 22.1. FontFolder Data File Format ═══ FontFolder uses the same data format for Library files and FontPack files. These files are flat ASCII files. The present version of the files, Version 2, is described below. A different, incompatible format was used with FontFolder versions 1.0 and 1.1. The current format has been used beginning with FontFolder Version 1.2. Data File Format Line No. Content 1 Library or FontPack name 2 Data file version string - FontFolder 2.0 3 Number of fonts in library or FontPack 4 User Label of CDROM 1 5 Volume Label of CDROM 1 6 Volume Serial Number of CDROM 1 7 Assigned Drive Letter of CDROM 1 8-11 Volume data for CDROM 2 (same format as CDROM 1) 12-15 Volume data for CDROM 3 (same format as CDROM 1) 16-19 Volume data for CDROM 4 (same format as CDROM 1) 20-23 Volume data for CDROM 5 (same format as CDROM 1) 24-27 Volume data for CDROM 6 (same format as CDROM 1) 28-31 Volume data for CDROM 7 (same format as CDROM 1) 32-35 Volume data for CDROM 8 (same format as CDROM 1) 36-39 Volume data for CDROM 9 (same format as CDROM 1) 40-43 Volume data for CDROM 10 (same format as CDROM 1) 44 Font Facename of Font 1 45 Fully qualifed path to Font 1 font metrics file (either AFM or OFM) 46 Font Family name of Font 1 47 Reserved for future use 48 Index (0-10) of CDROM volume containing this font (0 indicates hard drive) 49... Repetition of lines 44-48 for remaining fonts in Library or FontPack For an Export Library (FX2 file), two changes are made to the above format: 1. The Volume Serial Number for each CDROM (there would normally only be one in an Export Library) is replaced by ********. This is done because the Volume Serial Numbers can be different for different copies of the same CDROM. The correct Volume Serial Number will be read from the user's CDROM when the Library is imported. 2. The drive letter in each of the CDROM records is replaced by a two digit number corresponding to the CDROM index, i.e. for CDROM 1 the drive letter is replaced by 01. The same replacement is made for the drive letter-colon portion of the fully qualified path to the font metrics file, with the number corresponding to the CDROM index for the font, e.g. a font on CDROM 1 would have its path shown as 01\FONTS\... instead of N:\FONTS\... ═══ 22.2. How FontFolder Prints - Technical Details ═══ The approach FontFolder takes to printing is dictated primarily by the need to be able to print very large numbers of fonts. The design goal is to allow the user to make a simple selection such as Print a Font Catalog of all fonts in the Current Library, and have FontFolder handle all the details of managing this printing. Since users can have libraries containing up to several thousands fonts, this leads immediately to several design decisions: 1. Printing must be a background task, allowing the user to continue to use FontFolder for other purposes while printing takes place. Apart from the fact that this is generally the appropriate way to print in a multi-threaded operating system, it is a necessity in FontFolder because printing hundreds or thousands of fonts can take hours to accomplish. 2. A single print command involving large numbers of fonts will generate multiple print jobs, each of which contains a subset of the total set of fonts to be printed. This is necessary because fonts must be installed in OS/2 to be printed, and installing several thousand fonts as one unit for printing would not be practical. 3. FontFolder must set up and manage its own print queue to manage the number of simultaneous print jobs in OS/2. This is necessary because fonts must be kept installed until a print job has actually been sent to the printer. Having multiple print jobs does no good as a strategy for managing the total number of fonts installed for printing if all of those jobs are sitting in the OS/2 print spooler waiting to be printed. In addition to the above considerations, a decision has to be made about how to handle the different types of printout that FontFolder can produce. Since it is time-consuming to install a font in OS/2, FontFolder groups all printouts involving a given set of fonts in one print job, and only installs a font once for all the different printouts involving the font. This consideration together with the design goal of supporting automatic duplex printing leads immediately to the conclusion that a print job must contain a multiple of 40 fonts since that is the number of fonts required to print a Font Catalog in duplex mode on single sheet of paper (20 per side). There are several considerations in the decision of whether a print job should contain 40 fonts or some larger multiple. First, while 40 fonts yields only two pages of printout for a Font Catalog or Font List, it yields 40 pages of printout for Specimen Sheets or Character Sets. Going to the next level, 80 fonts, would result in very large print jobs. Second, it is desirable to have at least 2 jobs processing simultaneously so that one can be processing while the other is being spooled to the printer. With 40 fonts per job, this means an additional 80 fonts will be installed in OS/2, while 80 fonts per job would result in an additional 160 fonts installed in OS/2. Based on these considerations, it was decided that print jobs will be constructed in 40 font units. As a result of the above considerations, when a user selects a set of fonts and gives the print command, FontFolder takes the following steps: 1. A list is generated in memory of all the fonts selected for printing. This is done first so that the FontFolder listboxes are freed to be used for other purposes. Among other things, this permits manual duplex printing to be done in a convenient fashion by allowing the user to set up the second pass printing but not execute it, and then continue with other FontFolder operations while waiting for the first pass to complete. 2. If not already running three additional threads are intitiated. Two (user interface thread and worker thread, referred to here collectively as the print thread ) manage the preparation of print jobs, loading of the jobs on the FontFolder print queue, communication with the user on the status of print jobs via a print window, and interprocess communication with the print processes (see below), and the third thread manages the print queue. 3. The Print Dialog is displayed, allowing the user to specify what types of printout are desired and to customize the printout through the various setup options. 4. When the Print button is clicked in the Print Dialog, FontFolder breaks the font list down into a set of 40-font units, and attaches to each a list of the print instructions generated by the Print Dialog. A separate print job is defined for each of these units and is queued in FIFO order in the FontFolder print queue to await dispatching. A print window is also opened and a listbox displayed showing a list of the jobs currently queued for printing and the jobs already dispatched but not yet complete. 5. The print queue thread takes the first job off the queue, increments the number of jobs processing, and updates the print window listbox to show the job is being processed. It then starts an independent OS/2 process to handle the printing, and passes the job information to this process via shared memory. From this point on this independent print process handles the actual drawing of the print pages (see below), and communicates the status of the print job by posting messages back to the FontFolder print thread. 6. Because it has been determined empirically that there is no advantage to having multiple print jobs executing the drawing of print pages simultaneously, the print queue thread blocks at this point, waiting for the print process to post a message that it is finished drawing. 7. When the message is received that the current print process has completed drawing the pages, the print queue thread checks to see how many print jobs are in process. The current limit is 2 based on empirical testing. If there are already 2 jobs processing, the thread blocks until one of these jobs post a JOB_FINISHED message back to the FontFolder print thread, which decrements the number of jobs processing and signals the print queue thread to resume processing. If less than 2 jobs are processing, the print queue thread retrieves the next job from the print queue, increments the number of jobs processing, updates the print window listbox, and initiates another independent print process to handle the printing. 8. The queue processing continues this way until the print queue has been emptied. The print queue thread then loops, waking up once a second to check the number of jobs processing. When all jobs have finished printing, it closes the print queue, posts a message to the print thread to close, and exits. 9. The print thread waits for messages from the independent print processes indicating the progress of each print job. Two messages are returned by each print process. The first message signals that the drawing of the print pages is complete. When the print thread receives this it posts a semaphore signalling the print queue thread that it is free to proceed to the next print job, as described above. The second message a print process sends is when all printing associated with a print job has completed and the print process has uninstalled the fonts assoicated with the job. When the print thread receives this message it removes the print job from the print window listbox, decrements the count of the number of jobs processing, and posts a semaphore signalling the print queue thread that a job has completed. Each independent print process carries out its task in the following manner: 1. Once a print process has retrieved the job information from shared memory it opens a printer device context and examines the types of printing requested. This examination and the subsequent printing is always done in the following order:  Specimen Sheets  Character Sets  Font Catalog  Font List If any of the first three page types have been requested, all the fonts in the job are installed in OS/2. This is done even if the fonts are already installed in OS/2. This step is skipped if only a Font List is being printed since this does not involve actually printing with any of the fonts. The priority of the print process is reduced to idle-time priority before the installation of fonts begins and is maintained at this low priority until all page drawing is complete so that the print process will not impact other OS/2 tasks. 2. Next each of the requested page types is processed in turn, for all the fonts, i.e. all the Specimen Sheets for all fonts are drawn, then all the Character Sets, and so on. For Specimen Sheets and Character Sets, the print job is further broken down in to 2-font documents. A document is the unit of work that the OS/2 Print Spooler deals with (the object that shows up as a print job in the OS/2 Print Spooler). This breakdown is done because in PM printing a job is not sent to the printer until the complete document has been composed. By creating 2-font documents (the minimum necessary to support duplex printing), printing can commence as soon as the pages for these two fonts have been drawn whereas if all 40 fonts were treated as one document no printing would begin until after all 40 Specimen Sheet or Character Set pages had been drawn (which can take a significant amount of time). As a result of this strategy, there is a further explosion of jobs as seen in the OS/2 Print Spooler. If all page types are printed, one 40-font job will generate 42 separate documents in the OS/2 Print Spooler. 3. Once all the requested pages have been drawn and sent to the OS/2 Print Spooler, the print process posts a message back to the FontFolder print thread notifying it that drawing is complete. 4. At this point the print process goes in to a loop, waking up every 2 seconds and examining the jobs in the OS/2 Print Spooler to see if the last document has exited the Print Spooler. This depends on the Print Spooler handling jobs in FIFO order, which it will do unless the user intervenes and reorders the jobs. When it no longer finds the last document in the Print Spooler, it uninstalls the fonts that were part of this job, posts a JOB_FINISHED message to the FontFolder print thread and exits. ═══ 22.3. Error Recovery ═══ See the following for help with specific errors:  Listbox Error ═══ 22.3.1. Listbox Error ═══ Error Message: OS/2 can not insert any more items in the listbox name listbox. Your data should be safe. Refer to the Help section on Error Recovery for instructions on how to recover from this error. Explanation: This error occurs when OS/2 has reached its limit of 64K bytes of listbox text for all listboxes in the system. In FontFolder this usually only occurs when in full pathname view mode and the font directory paths are very long. If you have large numbers of fonts stored in directories with long path names, try the following: 1. If you are not already in Pathname view mode, switch to this mode, ignoring the error message. 2. Select all the entries in the Library listbox that are located in the directory with the long path name. 3. Select Delete from the Library menus. 4. Select Pathname view mode again from the Options menu to refresh the listboxes and repeat steps 2 and 3. Do this as many times as is required to purge all the items for the long path name directory. 5. Save the Library. You should now be able to switch in and out of the Pathname view mode without encountering the Listbox error. If not, you may have to repeat the above steps for another directory. 6. If any of the fonts you have just removed are installed in OS/2, uninstall them. 7. Close FontFolder and reboot the system. The reboot may not be necessary, but you should do it anyway as a safety precaution. 8. Reorganize your font directories so that they have shorter path names, and then re-register the fonts with FontFolder. If after doing the above, you still get the Listbox error message, you have reached the limit of the total number of fonts you can register in FontFolder for a single library. Break up your library in to multiple smaller libraries. ═══ 23. Registration Information ═══ The Registration ID for FontFolder is entered on the Product Information Panel. FontFolder can be registered either as a full version with access to all facilities, or as a "Lite" version, which has access to all facilities except for printing. A Registration ID can be obtained by registering FontFolder by one of the methods described below. Note that current users of Version 1.x will need to upgrade their registration in order to be able to use the printing facilities of FontFolder 2.1. A 1.x registration will still work with all other aspects of FontFolder, and is the same as a FontFolder Lite registration as described above. Registration Fees New User Registration for FontFolder 2.1 $30 New User Registration for FontFolder 2.1 Lite $20 Upgrade from Version 1.x or FontFolder 2.x Lite $10 To register FontFolder 1. Send mail with registration fee to Cliff Cullum 11 Lincoln Road Putnam Valley, NY 10579 Note: Users from outside the U.S. and Canada, please do not send checks, even if they are in dollars, unless drawn on U.S. banks. Unfortunately, I have not been able to find a U.S. bank that will process such checks without charging a processing fee equal to or greater than the face value of the check. Send cash or international postal money orders or use BMT Micro, Compuserve or EmTec to register as described below. 2. Use BMT Micro to register by check, money order or most major credit cards. Send registration with payment to BMT Micro at BMT Micro PO Box 15016 Wilmington, NC 28408 USA or register with credit card by phone 800-414-4268 Orders (U.S. and Canada only) 910-791-7052 Orders, questions 910-350-2937 24 hour FAX Note: Users registering FontFolder 2.1 Upgrade will need to provide their current registration id when ordering. 3. Use the Compuserve software registration facility (GO SWREG). The SWREG id's for FontFolder are New User Registration for FontFolder 2.1 7891 New User Registration for FontFolder 2.1 Lite 7893 Upgrade from Version 1.x or FontFolder 2.1 Lite 7892 4. In Europe use EmTec to register by check, credit card or (in Germany only) bank transfer/bankeinzug EmTec Markus Schmidt Waagstr. 4 90762 Fuerth -Germany- Tel./Fax: +49 (0)911 7406856/57 E-mail: mschmidt@emtec.com See the file EMTEC.TXT for detailed ordering information and order form. Note: Users registering FontFolder 2.1 Upgrade will need to provide their current registration id when ordering. ═══ ═══ FontFolder uses the term register in the sense that information about the font and where to find the font files is added to the library. This term is used in preference to add to try to make the point that no files are added to the system as part of the registration process. The exception to this is when the files reside on a removable drive, in which case FontFolder both registers them and adds them to the system. ═══ ═══ Manual duplex printing requires two complete passes through the FontFolder print process. On the first pass one page format is printed (e.g. right-formatted pages). Then the same set of fonts must be selected again in FontFolder (the previous selection is preserved) and printed again, this time printing the other page format (e.g. left-formatted pages).