home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast.iso
/
pcmag
/
vol12n07.zip
/
FNTPRN.ZIP
/
FNTPRN.DOC
next >
Wrap
Text File
|
1993-03-16
|
18KB
|
315 lines
FNTPRN.EXE (VERSION 1.0) Copyright (c) 1993 John Deurbrouck
-------------------------------------------------------------------------
First Published in PC Magazine April 13, 1993 (Utilities)
-------------------------------------------------------------------------
FNTPRN:
FNTPRN lets you easily view multiple fonts and then
generate your own font catalog for handy reference.
Finding the font you want can be frustrating. Remembering the
difference between Times New Roman and Arial may be easy, but what does
Bembo look like? Does Gatineau have an attractive, true italic? And
which font is the one that looks like the type that appears on an Old
West Wanted poster?
Font selection dialog boxes--for example, the one that pops up
when you select CharacterFonts in Windows Write--show you fonts, but only
one at a time. That gives you some nice confirmation of what you already
know, but it's too slow and cumbersome if you need to search for or browse
among more than a few fonts. FNTPRN gives you a way to view multiple fonts.
To compile the source code, you'll need Borland's C++ 3.1 or
Microsoft's C/C++ 7.0. FNTPRN requires Version 3.1 of Windows because it
employs programming features found only in this release. The utility works
with all of Windows' native fonts as well as any Microsoft TrueType and
Adobe ATM fonts.
ABOUT FACES
A typeface (in Windows--typographers employ a stricter definition)
is the name given to the design of a set of characters. Individual
variations of a typeface--known as fonts--are described by three parameters:
point size, weight, and degree of slant. The first, point size, measured
in a unit called the point (1/72 of an inch), gives the vertical distance
of an imaginary rectangle that surrounds each character of a font. Be
careful to distinguish between this and height, as it is used to describe
the distance from the bottom of a font's descenders (the tail in a lowercase
y, for instance) to the top of its ascenders (the uppermost point on a
lowercase f, for example). Height can--at a maximum--match the point
size but rarely does, since a character seldom occupies the entire
vertical dimension of its invisible box.
The other two factors that separate fonts from one another are
weight (bold, for instance) and degree of slant (italic, none, or
oblique). (The combination of weight and slant is known as the font's
style--bold-italic is one example, bold by itself is another.) Thus
Arial (the TrueType Helvetica clone) is a single typeface and the
following describes four of its fonts: 8-point Arial, 10-point Arial,
8-point Arial italic, and 8-point Arial bold.
Windows assigns typefaces--based on their general appearance--to one
of five groups called families. Typefaces suggestive of cursive writing
fall into the Script family, while those with ornate designs are
classified as Decorative. Of the remainder, most with constant-thickness
strokes (the lines composing each character) are considered Modern
(Courier, for one), while those with variable strokes land in the Roman
family if they contain serifs (short, decorative strokes such as those
hanging off the top of this T) or the Swiss category if they are sans
serif (such as Arial or Helvetica). Fixed-pitch or monospaced fonts use
the same amount of space for every character, while variable-pitch or
proportional fonts use more space for larger characters. Monospaced fonts
line up nicely into columns, while proportional fonts are more compact
and easier to read. Finally, Windows actually contains a sixth font
family known as Dontcare (labeled as Other in FNTPRN's Option window),
which lets a program select a font without regard to the family.
There are several technologies used to create fonts in Windows, but
all fall into one of two general categories: bitmapped and vector.
A bitmapped font is essentially a dot-by-dot description of every
character. They're fast, but they don't scale (change size) well--printing
an 8-point bitmapped font at 24 points yields a chunky, unattractive
result. Vector fonts include stroke fonts, ATM, and TrueType. Instead of
being a collection of dots, vector fonts are descriptions of each
character: a line here, a curve there. Thus vector fonts scale well and
look good at any size. Stroke fonts are an older technology, included
mainly for printing on plotters. ATM (Adobe Type Manager) fonts are
designed to work at any point size on both the screen and any Windows
printer. ATM fonts can be particularly fast with PostScript printers.
TrueType fonts were introduced to Windows in Version 3.1 and offer
scalability like ATM fonts.
INSTALLING AND DELETING FNTPRN
The utility demands no special effort to install. To place its icon
in the currently selected program group, use the Program Manager
command File|New, choose Program Item from the dialog box, and after
clicking OK, fill in the blanks in the Program Item Properties dialog
that comes up, then choose OK once more.
Removing FNTPRN takes as little effort. Dispose of its icon by
selecting it and choosing File|Delete from the Program Manager menu.
Repeat the procedure for all occurrences of the icon, then erase
FNTPRN.EXE. The program makes no modifications to WIN.INI, and the
only files it creates are .WRI files containing font examples.
USING FNTPRN
If you're in a hurry, you can use FNTPRN without installing it
simply by selecting File|Run from the Program Manager menu and entering
the utility's full pathname in the resulting dialog box, which brings up
the FNTPRN window. Set the options you want, make sure that the Launch
Write check box in the lower-left corner is checked (if it isn't, click
on it), then click the OK button. You'll be presented with a standard
Save As dialog box (but with a title bar that reads ``Choose Output
Filename''). After you pick an output filename, select OK again.
FNTPRN will generate and save a sample file based on the options you
selected, then display it in Windows Write. (If you don't make any
changes and then click on OK, a file named FNTPRN.WRI will be saved to
the directory that contains FNTPRN.) FNTPRN is still running, so you
can switch to it while Write is still running or after you're done,
where you can design another report or quit the utility. That's the
quick start. Now for a few details.
Running FNTPRN takes you right to the heart of the program--its
option window. Most items on this screen fall into one of three option
groups--Fonts, Sample Text, and Description Formatting.
The Fonts section allows you to configure the report file FNTPRN
produces. Sort Order (covered in greater detail shortly) is a drop-down
list used to determine the sequence of samples in the output, while the
Pitch radio buttons let you include proportional fonts, monospace, or
both, and the Device selection determines whether the file will contain
printer or screen fonts. The output will incorporate whatever selections
you make under the Font Families and Styles categories, but you must
select at least one of each. If you check the check box labeled Allow
Bold/Italic Synthesis, and if a particular typeface lacks any or all of
the styles (italic, bold, or bold-italic), FNTPRN will request that
Windows artificially create those you've included. (Some limits, which
I'll describe a little later, exist.) Check the TrueType Only checkbox
to restrict the report's contents to just those fonts. You may want to
do this to exclude clunky, nonscalable fonts (such as LinePrinter) from
your report. Don't check the box, though, if you use ATM fonts. Let your
font collection be your guide!
If you make no changes in the Font section's options, they default
to alphabetical sort order, both spacing types, printer fonts, all styles
and families, bold/italic synthesis, and any make of font (rather than
TrueType alone).
As implied above, Sort Order presents you with several choices. The
first--Alphabetical--sorts by face name, so Arial would come before
Bodoni Bold. To arrange the report by height (as defined near the
beginning of the article) choose that item from the list. Width refers
to the average width of the characters in the font, while Proportion
sorts by the result of height divided by width, so tall, skinny fonts
would come before short, squat ones. Weight orders the output by the
boldness designation the vendor supplies, thus lighter fonts will precede
darker ones. Font Family organizes the report alphabetically by the
vendor-provided font family information and can help you zero in on a
desired look quickly.
Earlier I indicated that sometimes--but not always--Windows can
artificially create styles not provided with a particular font. I have
an Arial MT, for example, that comes only in regular, but Windows can
easily widen the strokes to fake a bold look, slant them so they seem
italicized, or combine both processes to give the characters a bold
-italic appearance. Choosing to include these styles and selecting
Allow Bold/Italic Synthesis will make them appear in FNTPRN's report.
On the other hand, the Bodoni I use just offers a bold. Windows can
make a bold-italic, but it can't thin out the strokes to imitate a
regular or regular-italic--so allowing synthesis will do no good for
those two styles.
SAMPLE TEXT
The Text drop-down list in this section of FNTPRN's screen lets
you display each of your chosen fonts using one of four sample texts.
The first selection prints exactly the characters it displays, chosen
for their ability to show off most features of the font without taking
a lot of room. Use Text Paragraph to get a better idea of how a large
block of text will look and Alphabet to see all the upper- and
lowercase characters, 0 through 9, and the symbols contained on
IBM-compatible keyboards. The Sample Textlist item simply prints the
phrase ``Sample Text,'' but for a specific purpose. FNTPRN supplies
no direct way that you can enter your own example text. To use your own
choice of text, use Write's search-and-replace to substitute it for
Sample Text.
Justification of text sets the spacing between words and controls
where each line is placed relative to the left and right margins.
FNTPRN presents the four possibilities via a drop-down list. Center
places the middle of the text line halfway between the margins, dividing
any remaining space (which can vary from line to line) equally and
putting it at the ends. Justified adjusts the distance between each word
so that unindented lines--except, possibly, the last in a paragraph--
stretch to the margins. This column is an example. Left forces every
line against the left margin, pushing any extra space--which, again, can
vary--to the other end. The uneven line endings give that side of the
page a ragged appearance, so this is also known as ragged right. As you
might guess, Right (or ragged left), does just the reverse, pushing
lines against the right margin.
To select the point size for your chosen sample text, enter any
value from 6 to 72 in the Size box. 10 is a good choice for viewing
fonts that you plan to use in the body of your writing. However, if
you want to get a good look at candidates for headlines and decorative
text, you should try a setting of 36. A little experimentation will
quickly give you a feel for what to pick.
The default Sample Text options are the sample list's first item,
left justified at 18 points.
DESCRIPTION FORMATTING
FNTPRN labels each sample on its output using the font displayed
under Description Formatting. To make modifications, click the Change
button to bring up a standard font-selection dialog box. Make your
selections from the scroll lists presented or type your choices in and
click OK when finished. Your changes will be reflected in the Description
Formatting area. The default is 8-point Arial Regular.
The Launch Write check box, at the bottom left of the window, lies
outside any option group. If checked (as it is unless changed), FNTPRN
first follows its normal procedure when you click OK. It asks for a
filename and, assuming you select OK again, creates and immediately saves
its report to the .WRI file you specify. After, however, it also
launches Microsoft Write, loading the newly generated report into it.
If you would rather view the file later, remove the x from this option's
check box. Now selecting OK from the program's window (and again from
the Choose Output Filename dialog box that appears) saves the .WRI file
but doesn't start Write.
The Defaults button restores each control to the state it was
in when you first started the utility, and, as you have seen, clicking
OK produces the output file and loads it into Write. Press Cancel in the
Choose Output Filename dialog to return to FNTPRN's main window without
generating the font document.
FNTPRN's REPORT
FNTPRN produces easily understood output. An informational header
at the top serves as a reminder of the choices you made to generate the
report. The ``Number of Font Families Found'' appears first, then a list
of included font families (Roman, modern, sans serif, script, novelty,
and unknown), followed by your selections for Device (screen or printer),
``Synthetic Bold/Ital allowed,'' Styles (any combination of regular,
bold, italic, and bold-italic), ``Sort Order,'' and ``TrueType only''
(if you made that restriction).
The styles for each typeface appear as a group, so for example if
you selected Arial, the sample paragraphs would appear in the order
regular, bold, italic, and bold-italic. A line of description follows
each and displays the font's name as provided by the manufacturer, the
style, its spacing type (monospaced or proportional), the family, and
if the font is TrueType or not--with all items separated by commas.
Any synthesized styles will be described that way--Synthesized Bold,
for example.
You may notice some font names repeated. Courier shows up several
times on my own system. This is because Windows actually allows the same
name for multiple fonts. If the fonts are in different families, FNTPRN,
Windows, and Write will distinguish among them correctly, so don't worry
about duplicates in FNTPRN's report. If duplicates are in the same
family, you'll see only one--the one Windows chooses--both on-screen and
on the printer. Windows will choose the best version for each purpose.
Some fonts, such as System (which is fixed-width and comes with
Windows), are meant exclusively for screen display and can't be printed
exactly. Others--LinePrinter on my laser printer, for instance--correctly
reproduce on paper only. Since Write can both display and print files,
FNTPRN's use of it gives you at least one way to see any font as it
truly looks. Remember, though, when no font exists for a device,
Windows substitutes something close--so you'll still see a representation,
but not necessarily an accurate one.
If your default printer is a PostScript device, certain fonts may
not display or print correctly--whether you are using FNTPRN or some
other application. For example, rather than Wingdings, you may get the
native Symbols font. To correct the problem, open Control panel and
select Printers|Setup|Options|Advanced. If ``Use Printer Fonts for all
TrueType Fonts'' is checked, you're gaining speed but losing most of your
TrueType fonts (Wingdings, for example). Uncheck this box and you'll be
able to access your TrueType fonts again.
EXPLORING YOUR FONTS
Printed font catalogs are handy. If you use a lot of decorative
faces, why not create a set of all your fonts at about 36-point size?
Leafing through it from time to time will help you remember what you
have. FNTPRN's Write files are compact, so leaving them on-disk is
fine. Since they're ordinary .WRI files, you can edit them, use
search-and-replace, and perform any other function possible on a typical
Write document. This also ensures that they import well into most
Windows word processors.
Suppose you produce a newsletter and want to see how a paragraph
of text might look in all of your Roman fonts. Generate a font list with
FNTPRN, then import the file into your word processor and set your page
format to three columns. A few cautions are in order. First, working
in a word processor with FNTPRN's .WRI files can be rather slow. Nearly
every line uses a new font, so the computing overhead can be high. Turn
on your draft mode to save time until you want to look at the actual
fonts.
Though FNTPRN uses vendor-supplied information to produce its
reports, not all font publishers provide accurate data. One simply
reports every family as Unknown--even Times Roman and Helvetica clones,
lumping them together with map symbols and script fonts. FNTPRN would
be a mammoth program if it tried to distinguish these characteristics
on its own, so its sorting ability is at the mercy of the font makers.
I also ran across a limitation in Write. Though its file format
supports up to 512 fonts per document, the program itself fails to
handle more than about 60 correctly. As soon as it gets past its limit,
Write starts using fonts from the beginning of its list over again, so
your last font may be labeled Times New Roman but show up as Arial.
This won't hurt your system, but you won't get an accurate rendering of
your fonts. If this is a concern for you, you'll need to use another
tool to look at FNTPRN's output (WinWord works fine).
Careful use of fonts can make the pages you produce more
effective. FNTPRN can help you use your fonts better than ever before.
----------------------------------------------------------------------
JOHN DEURBROUCK IS A C AND ASSEMBLY LANGUAGE PROGRAMMER.