Amiga bitmapped font builder ============================ MkBmap V1.2 Copyright Adrian Aylward 1991 You may freely copy, use, and modify this program. The source is included in the distribution. This program builds Amiga format bitmapped fonts from PostScript fonts. It uses the library "post.library" to render the characters. This is included in the PostScript interpreter package "Post" that is freely distributable on the Amiga. Best results will be obtained by using fully hinted type 1 fonts, such as those supplied by Adobe and other vendors. It should however work with any other PostScript fonts, though the quality will not be so high. Command line interface ====================== usage: mkbmap -options bmapfile fontname nn,nn,... options: -s startupfile The PostScript library startup file name. Default "PSFonts:init.ps". -e encodingfile The character set encoding file. Default "PSFonts:encoding.ps". -f Use font specific encoding - for fonts such as "Symbol" where the character names are non-standard. -n Make new .font contents file. Updates the font directory information, like running the FixFonst program, but updating just the particular font. -dnnn Set the density, in dots per inch, both x and y directions. Default is 75 dpi.. -xnnn Set the x density. -ynnn Set the y density. -znnn Set the baseline, in units of 1/1000 of the pixel height. Default automatically accomodates the descenders. -wnnn Set the nominal character width, in units of 1/1000 of the character cell. Default is the average width of all the characters. -lnnn Set LoChar, the lowest character code value in the font. Default 32. -hnnn Set HiChar, the highest character code value in the font. Default 255. -c Clip characters to their width, so that overhanging sidebearings are truncated. -m Flag the font as monospaced, i.e. not proportionally spaced. Should only be used if all the characters in the font actually are the same width, e.g. Courier. -b Set Bold style flag. -i Set Italic style flag. -t Turn trace on, for debugging. The "bmapfile" argument is the name of the bitmapped font file to be created. So that more than one size can be created at once, the name can be specified as a prototype. Any "*" characters are replaced by the point size, and any "?" characters are replaced by teh individual digits. For example if we generate 9 and 10 point then "fonts:fred/*" will become "fonts:fred/9" and "fonts:fred/10"; "t:fred??" wil become "t:fred09" and "t:fred10". The "fontname" is the PostScript font name, for example "Palatino-Roman". The last argument is the list of point sizes to be generated, for example "10,12,24". The minimum size allowed is 5, and the maxium 500 - if you have enough memory. Normally, all three arguments are required. However, if just the first argument is given then the "-n" option may be used to update the font contents. For example: mkbmap -n fonts:Times/* Times-Roman 10,12,14 Creates bitmapped versions of the "Times" font in the current fonts directory, updating the font contents file "fonts:Times.font" so they become immediately available to the system. mkbmap t:Times24 Times-Roman 24 Creates a bitmapped 24 point "Times" in the temporary directory. If you then copy it into the fonts: directory: copy t:Times24 fonts:Times/24 you must then either run FixFonts or use mkbmap to update the font contents: mkbmap -n fonts:Times/ The font is now available for use. N.B. the trailing "/" on the path name must not be omitted; otherwise it will be looking for individual bitmaps within the fonts:directory, rather than in the Times subdirsctory. If you use the "-n" option, the font subdirectory will be created automatically if necessary. Character sizes =============== The size list is the heights of the generated bitmaps, in pixels. This is also the point size (in PostScript terminology) at the chosen resolution. When characters are rendered at 75 dpi. (the default) the alphabet normally fits satisfactorily into the pixel height. However the upper case accented characters are normally too large to fit, so are scaled down. Excessively long descenders are scaled too. This can lead to a slightly ragged look on the screen, but fortunately these characters are rarely used. Alternatively, you can adjust the density to make the charecters fit. At about 60dpi. even the tallest characers should be OK. But the characters may then look too small in relation to the line spacing. If you are generating a font for a screen where the pixels are not approximately square (such as high-res, non-interlaced) you can set the x and y density separately. Professional Page renders its screen at 75 dpi., so you should normally use the default density when generating fonts for it. The baseline is normally positioned automatically, so the alphabetic descenders just fit. If you prefer you can set it yourself; values of 200 - 250 are about right (1/5 to 1/4 of the pixels below the baseline. The Xsize (nominal width) is automatically set to the average width of the characters generated. You can set it yourself from the command line; values will typically range from 300 to 700 (in 1/1000 character space coordinates used by Adobe). Versions ======== V1.0 03-May-91 The original. V1.1 04-May-91 Rendering code changed so as not to clip characters by default. New -c option to enable old behaviour. V1.2 13-May-91 Bugs fixed: -s and -e options, characters with negative sidebearings.