NAME wPFMfix - (Windows Version) modifies fontnames and attributes in a PFM file USAGE wPFMfix [PFM_directory] DESCRIPTION This is the Windows version of PFMfix, a utility that allows the user to alter font attributes and names in a PFM file. It is written in Visual Basic, and requires the run-time Dynamic Link Library VBRUN100.DLL (available on Compuserv, GO MSLANG, LIB 6, VBRUN.ZIP). Many font converters do not generate PFM files that allow fonts of the same family to appear under the same entry. wPFMfix will FIX the PFM file by allowing the user to specify the Windows Menu Name (or Family Name), the full PostScript font name, and bold and italic attributes. wPFMfix also allows the user to select the "Font Family" attribute (Roman, Swiss, Modern, Script, or Decorative). There is also a Fixed/Variable Pitch field, but ATM currently expects Fixed Pitch, regardless of the actual font attribute. wPFMfix is also useful for grouping font families with more than four (4) fonts. One way to do this will be presented below. The advantages of fixing the PFM file are: 1. Fewer entries in the pull-down font menu in Windows Applications. 2. Clicking on Bold/Italic will automatically pull in the correct fonts. General Rules for Modifying PFM files: 1. All fonts of the same family MUST have the same Window Menu Name. 2. The PostScript font name MUST match the name in the corresponding PFB file. (This is usually the case, and do not have to be changed.) 3. The bold and italic attributes obviously must match the font. (Nevertheless, many font converters do not set them correctly.) Multiple copies wPFMfix may be run at the same time without conflict (I hope). This aids in changing multiple fonts of the same family to make sure fields match, especially when running in high resolution mode (800x600 or 1024x768). INSTALLATION Three (3) files are included in this archive wPFMfix.TXT - This file wPFMfix.exe - Main executable file wPFMfix.DLL - Dynamic Link Library for wPFMfix In addition to the above files, you need the Visual Basic run-time Dynamic Link Library, VBRUN100.DLL (Compuserve, GO MSLANG, LIB 6, VBRUN.ZIP). VBRUN100.DLL and wPFMfix.DLL MUST be on your PATH, or in the WINDOWS directory. wPFMfix.exe can be placed anywhere. To install wPFMfix as a permanent icon in a Program Manager Group, select the group, select Program Managers "File" menu, click on "New", choose "Program Item". Type "wPFMfix" as the "Description", and type the full path to the wPFMfix.exe for the "Command Line". You can add a PFM Start-up directory on the command line. Example: Command Line: c:\bin\wPFMfix.exe c:\psfonts\pfm That's it. EXAMPLE We have 4 fonts of the same family listed as: op______.pfm Optima opo_____.pfm Optima-Oblique opb_____.pfm Optima-Bold opbo____.pfm Optima-BoldOblique Set the following names/attributes: FILE MenuName PSName Bold/Italic Family op______.pfm Optima Optima (none) Swiss opo_____.pfm Optima Optima-Oblique Italic Swiss opb_____.pfm Optima Optima-Bold Bold Swiss opbo____.pfm Optima Optima-BoldOblique (both) Swiss Now let's consider a font with more than 4 fonts: futcl___.pfm FuturaCondensedLight futclo__.pfm FuturaCondensedLight-Oblique futc____.pfm FuturaCondenced futco___.pfm FuturaCondenced-Oblique futcb___.pfm FuturaCondenced-Bold futcbo__.pfm FuturaCondenced-BoldOblique We'll make two menu entries: FuturaCondLight and FuturaCond The trick is to duplicate futc____.pfm and futco___.pfm, but with the bold attribute set. You can just read in futc____.pfm (futco___.pfm), Click on "Bold", change the name to futc1___.pfm (futco1___.pfm), and click "Save". The resulting files look like: (leaving out PSName) FILE MenuName Bold/Italic Family futcl___.pfm FuturaCondLight (none) Swiss futclo__.PFM FuturaCondLight Italic Swiss futc1___.pfm FuturaCondLight Bold Swiss futco1__.pfm FuturaCondLight (both) Swiss futc____.pfm FuturaCond (none) Swiss futco___.pfm FuturaCond Italic Swiss futcb___.pfm FuturaCond Bold Swiss futcbo__.pfm FuturaCond (both) Swiss That's all there is to it. OPTIONS [PFM_directory] You can give a PFM directory for wPFMfix to start up in. This is useful when you have a main PFM directory where all you PFM files are kept. When you create the icon in Program Manager, the command line could read: wPFMfix c:\psfonts\pfm FIELDS MenuName This is the name you want to appear in your font menus. Four fonts belonging to the same family should share this name. (See above example). PSName This is the PostScript fontname for the font. Unless you also change the name in the .PFB file, you should not touch this field. It is provided as information. Bold Check this for fonts that are to be the "Bold" or "BoldItalic" font of the family specified with "MenuName". Italic Check this for fonts that are to be the "Italic" or "BoldItalic" font of the family specified with "MenuName". Font Family There are five choices. This field is used by Windows for finding alternate fonts when a specified one is not available. Additionally, choosing "Decorative" prevents remapping the font with the Windows character set. Roman Serif fonts such as Times, Bookman, etc Swiss SansSerif fonts such as Helvetica, Avant-Garde, etc Modern Computer type such as Courier, Elite, etc Script Script fonts such as Present-Script, Snell-Roundhand Decorative Symbol fonts such as Symbol, ZapfDingbats, etc Pitch You should set this as "Fixed", although setting it to "Variable" does not seem to make a difference with ATM. As least the ATM provided fonts do not alter this field. NOTE There is no online Help at the moment, but hopefully, it's intuitive enough to use. If you have any problems, or comments, I can be reached at: Vincent Chen 3083 Rasmus Circle San Jose, CA 95148 (408) 270-6024 CIS: 76636,415 Please feel free to share wPFMfix with anyone you want if you find it helpful. (Please distribute all the files included in this archive.) If you REALLY find it helpful, a $5 contribution would very much be appreciated. This program is provided AS IS, no warranties, etc. Please consider this the standard disclaimer. Copyright (c) 1991 Vincent Chen. All rights reserved. Portions (Visual Basic) are a Copyright (c) 1987-1991 of Microsoft Corporation. All rights reserved.