Dec 292017
A menu-driven program to make loading new VP fonts relatively painless.
File VFM12.ZIP from The Programmer’s Corner in
Category DeskTop Publishing
A menu-driven program to make loading new VP fonts relatively painless.
File Name File Size Zip Size Zip Type
RUN-ME.COM 3236 2048 deflated
VFM.DOC 29824 10462 deflated
VFM.EXE 53798 28479 deflated
VFM.TBL 3522 886 deflated

Download File VFM12.ZIP Here

Contents of the VFM.DOC file


Version 1.2 - Fixed a real weird bug which caused some of the
basic fonts included with Ventura to be set up
improperly in width tables created by VFM. Improved
the sorting of file names and made the status
display window for width table creation a bit
more informative.

Version 1.1 - Fixed the bug in the batch file mode which caused
VFM not to actually run anything from within a
batch file. Whoops...

This program is a reasonably painless, menu driven front end to
create width tables for LaserJet soft fonts used with Ventura
Publisher. It's intended to drive Ventura when it's used with a
Hewlett Packard LaserJet Plus compatible printer... it won't be
any use with a PostScript device, and may have some troubles with
JLaser boards and other oddities.

When you buy Ventura, it comes with a host of sort of dull
fonts... notably Swiss and Dutch... and a width table to make
Ventura recognize their existence. This works well until you go
to add fonts to the system. Adding fonts, while totally practical
using the utilities supplied with Ventura, is very, very tedious.
You have to make up several batch and list files by hand, key in
a lot of stuff and hope to the goddess that it's all right. One
bad parameter and you get to start over.

It's not entirely user friendly.

VFM drives the two utilities which come with Ventura for adding
fonts, but it supplies them with the right files and parameters
automatically, so as to avoid all that typing. It allows you to
create width tables pretty effortlessly.

Width tables and such

Ventura... at least when its driving a LaserJet... uses soft font
files, which are bit map definitions for each of the characters
which will get printed. The soft fonts are usually downloaded to
the printer each time a chapter is printed, which is why even
short documents take quite a while to print.

In order for Ventura to be able to know how wide each character
in a font is, it needs a table of numbers representing their
widths. Width tables are stored in files called .WID,
with HPLJPLUS.WID being the usual one for use with a LaserJet.
This is copied to OUTPUT.WID when Ventura is installed. You can
only have one width table in memory at a time, but a width table
can hold the width values for as many fonts as you like, and you
will typically have a width table with every font available to
you as the default width table for Ventura.

Ventura allows you to add and remove fonts from an existing width
table. Both procedures are a bit laborious. Adding fonts to your
existing width table involves creating a new width table for the
fonts you want to add and then merging it into your standing
width table. Removing fonts involves killing them off one by one,
which takes some time if you want to annihilate a whole swath of

In addition, when merging one width table with another, the
resulting table has the fonts ordered as they came from the two
tables, with the merged in group tacked onto the end of the first
lot. It's a lot easier to find them if they're alphabetic, but
Ventura offers you no easy way to reorder them.

Finally, if the new width table contains fonts which have the
same numbers as some of the fonts in the existing table, strange
things can happen. Unfortunately, there's no easy way to find out
how the fonts in an existing width table are numbered.

All this being as it is, it's a lot more convenient to create a
whole new width table, with all the fonts in your \VENTURA
directory included, such that they show up in the font selection
box in the order you want them and you have control over how
they're all numbered.

More on this in a sec.

Width tables have other functions under Ventura. As we just
noted, they tell Ventura which font number is associated with
each font Ventura can print with. This is a unique value for each
font in the table, and is used both when Ventura tells the
printer to change fonts and when it indicates that part of a
paragraph is printed in a different font. Some of these numbers
are more or less predefined by Ventura... such as the ones for
Swiss and Dutch... but you can assign numbers to your own fonts
as well.

The width table also tells Ventura the actual file name of a
font. For example, six point Dutch is contained in a file called
TMSRTINY.SFP under Ventura. These files can actually be called
anything you like, so long as the name in the width table agrees
with the one on your disk. Under Ventura 1.1, all the actual font
files must reside in the \VENTURA directory... under version 2.0,
this has been changed to allow them to reside in other places.

The width table tells Ventura about the weight of each font as
well... whether it's bold, italic, light and so on.

Finally, the width table tells Ventura about screen fonts. The
text you see on your screen is not directly derived from the soft
fonts that get downloaded to your printer. Instead, Ventura uses
screen font files. These are provided with Ventura to match
Courier, Swiss and Dutch, and there are various utilities about
which allow you to create matching screen fonts for any other
soft fonts you happen to have. Ventura has to know whether it
should display the text for any given tag in the default Swiss
screen font, the default Times screen font, the default Courier
screen font or a custom matching font created by you.

It's fairly clever about this, in that if it fails to find a
matching screen font it has lots of options, eventually falling
back to one of the defaults.

Custom screen fonts are usually called .EGA. If one
had a font called CB360RPN.SFP, the corresponding screen font
would be CB360RPN.EGA.

The only drawbacks to having custom screen fonts are that they
take up disk space, memory in Ventura's internal buffers and time
when they load. Text which is set in a font which has no
corresponding screen font will come up on your screen properly
justified for the font you've selected even if it's shown in,
say, the Dutch screen font, so whether or not you use matching
screen fonts is up to you. Certainly you should use a bit of
discretion with them. For example, the screen font for Palatino
would be almost identical to the default Dutch screen font...
it's not worth bothering to have one.

Note that this version of VFM does not directly generate screen
fonts... we're working on that... but it does allow you to
indicate whether there are matching screen fonts available for a
particular soft font when you have VFM create a width table for


As an inital note... you probably already know this... the
primary text soft fonts which come with Ventura are called Swiss
and Dutch. These correspond with Times Roman and Helvetica in the
real world. These names are copyrighted, however, so Ventura
elected to use their own made up names rather than get into
royalties or litigation.

It's also worth noting that Ventura interchangeably uses "width
table" and "font metric file" to mean the same thing. We'll call
it a width table here as it takes less typing and doesn't sound
as Martian.

If you have a large collection of soft fonts, you'll probably
have gotten into loading the ones you need onto your hard drive,
using them and then blowing them away afterwards to free up all
the space they occupy. This works well, except that you have to
keep regenerating those nasty little width tables by hand.

When VFM boots up, it finds all the soft font files in your
\VENTURA directory... or wherever else you tell it to look... and
figures out what they are. Specifically, it will assign each one
a name, like "Times" or "Palatino" to each one, a weight, like
medium or bold, a font number, a size and so on. It will then
display the lot in a menu. You can scroll through the menu and
select the ones you want to make a width table for. If you've
just copied all some new fonts into your \VENTURA directory, and
wish to create an updated width table, you can just select all of

When all the fonts you want to have in your width table are
selected, you can tell VFM to get its buns moving and create you
a table by hitting W. It uses two of the utilities provided on
disk eleven of your Ventura installation set, HPLTOVEM.EXE and
VFMTOWID.EXE. It will execute the first one repeatedly for each
file you have selected, generating .VFM files for each. It will
create a list of these VFM files and pass it to VFMTOWID.EXE when
it's done. The result will be a width table for all the selected
fonts, called whatever you want it to be called. You can get into
Ventura and load in the new width table whenever you need it.

We'll get to that shortly.

By the way, VFM expects to find HPLTOVFM.EXE and VFMTOWID.EXE
somewhere on your DOS path. It won't boot unless it does...
unless it has been told to run in batch file mode. Check this out

What makes VFM so convenient to use is its ability to look at a
font name and decide what font it is. This information is usually
not contained in the font file. Instead, it's held in a file
nominally called VFM.TBL. This is a set of clues to help VFM
figure out what those cryptic eight character file names really

A sample VFM.TBL file is included with this package. You'll
probably want to add to it to include your own particular soft
fonts. We suggest you leave those entries that are in it as they
are unless you have specific reason to change them.

Soft font files are usually called .SFP. The
corresponding landscape fonts are called .SFL. The
can be any eight characters, of course, but VFM
regards them as falling into one of three decoding classes.

The first of these, class one, handles the fonts which come with
Ventura itself. The second... predictably class two... handles
the popular Font Factory / Qume Alcatel soft fonts, which
includes faces from Compugraphic and ITC. The third takes care of
everything else. It assumes that everything else follows the
naming convention which is found in the SoftCraft font installer,
to wit:


The first two letters are an arbitrary name designation. There
are a number of these which are sort of reserved by SoftCraft...
which only matters if you have a SoftCraft font installer, of
course. The next two characters are the point size. The 'R' means
"roman" or, if you prefer, "regular". It could also be I or
italic, B for bold, L for light or T for bold italic.

If you look at the VFM.TBL file included with this package,
you'll find entries for all the Ventura fonts, all the Font
Factory / Qume Alcatel fonts as of this writing, the SoftCraft
fonts and a few other fonts. The other fonts, by the way, came
from the Digi-fonts library... a stunningly inexpensive source of
soft fonts. The whole library, something over two hundred and
fifty scaleable fonts, is less than four hundred bucks. Contact
Digi-fonts, 3000 Youngfield Street, Suite 285, Lakewood CO 80215
(303) 233-8113.

We'll get into how to modify this table shortly.

To get things going, let's assume that your fonts are indeed
located in a directory called C:\VENTURA. Just type VFM. It will
show you a title screen. Hit a key to get going. It will wait a
few moments while it loads and sorts your soft font names. It
will then show you a screen with all their names, what it decoded
them as and some other data.

It's worth noting that, while it meddles with the names a lot,
VFM never actually affects your soft font files themselves. It
just makes width tables based on them.

The arrow keys on your keyboard will move the cursor bar up and
down... if you try to move past the bottom of the screen it will
scroll up by one line. The PgUp and PgDn keys will move by one
screenful. The HOME and END keys move to the extremes of the
list. If you only have the soft fonts that came with Ventura in
your \VENTURA directory, the list will be pretty short. Note that
the window usually fills the whole screen, but if the list is
less than a screenful it will shrink to accommodate it.

You can "tag" any entry in the list... that is, select it for
inclusion in the width table you'll eventually create... by
hitting T when the cursor is over the file you want to tag. If
you hit Enter instead, the currently selected file will be tagged
and the cursor will move down one line. If you hit U while the
cursor is over a tagged file, it will be untagged. Tagged files
are displayed in highlighted text, while untagged ones are shown
in normal text.

You can also hit C to untag all the files and V to tag them all.
If you have just added a few soft fonts to your directory and
want a new width table for all your fonts, use V to tag all the
entries. It's also useful to use V to tag all the entries in the
list and then untag a few if you want a width table which
contains most of the fonts in your \VENTURA directory.

It's worth noting that if you want to add a few new fonts to an
existing width table, you have two choices. You can create a new
width table for just your new fonts, get into Ventura and merge
it into your existing width table using the "Add/Remove Fonts"
line of the Options menu, or you can create a completely new
width table for all the fonts you have and select it with the
"Set Printer Info" line of the Options menu of Ventura. The
latter approach is faster and neater, as you can have all the
fonts appear in Ventura's font selector box in alphabetical
order... and you should avoid any potential font number
clashes... but you can do it either way.

Normally the fonts in the VFM entry list are shown in
alphabetical order based on the names of the fonts. If you hit B
they'll be re-ordered based on the names of their files. Hit A to
return them to alphabetical order by their name. If you change
one of their names... as we'll get to... you might want to use A
to resort the list. The order of the list determines the order in
which the font names will appear in the Ventura font selector.
It's highly preferable to have the names in the A sort mode
before you use W to make a width table... odd things may happen
if you do not.

Normally you will not want to change the data in an entry. If
you've set up VFM.TBL correctly, all the data will be correct.
However, you can change it for individual entries if you want to.

Hit D to edit the font name for the currently selected font. You
might want to change "Dutch" to "Times", for example, although
this should properly be done in the VFM.TBL file. The editable
fields in VFM behave like the BASIC line editor or like
DOSEDIT... you can cursor around in the field, toggle the insert
mode on and off with the Ins key and so on. Hit Enter when you're

Hit P to change the point size of the current font. Hit S to
change the screen font designation of the current font. This
field must contain H,T,C or M... for Helvetica, Times, Courier or
Matching. Hit N to change the font number. Be careful with this..
you can really confuse Ventura by having multiple font numbers
for different sizes of what it thinks is the same font.

Hit F to change the face of the current font, that is, whether
it's medium, italic and so on.

Avoid editing the font data from within VFM unless you really
have to. About the only time it should become necessary to edit
this data in this way would be to accommodate a weirdly named soft
font file you don't want to rename for some reason.

Note that the changes you make to these fields in VFM are not
saved back to VFM.TBL. You have to edit the table file separately
to make the changes permanent.

When you have all the font data in the list tagged and set up as
you want it, hit W to make the width table. It will ask you is
you really want to create the table... the process can be a bit
lengthy if you've selected it by accident. Hit Y. It will then
ask you for an eight character file name for the width table.
Ventura's sample chapters default to a table file called
OUTPUT.WID... if you call your width file this you won't have to
manually load in a new width file with the "Set Printer Info"
option. Of course, you'll wipe out your default width table,
requiring that you find it on your Ventura disks and manually
recopy it back to your hard drive if something goes wrong.

I usually call my width table CUSTOM.WID.

Make sure you only type the file name itself in this field, not
the extension. If you want the width table to be called
CUSTOM.WID, type CUSTOM. The case doesn't matter.

When you hit Enter after you type in your width table name, VFM
will go to work. It will tell you what it's up to as it goes. A
huge font collection may take a couple of minutes to complete. Be
patient... the process isn't interruptable. When it's done, hit
any key to get back to the main screen.

Hit Q to quit back to DOS. This will show you the beg notice.
Please read it and send us some money.

Note that all the messages from HPLTOVFM and VFMTOWID are
suppressed when VFM creates a width table in this way. Normally
there should be no errors in this process... about the only
possible one is a full disk. VFM has no way of knowing whether
HPLTOVFM or VFMTOWID have done something untoward... if things
don't turn out as you think they should, you can repeat the
process for creating your width table with the -B1 parameter set
for VFM to run HPLTOVFM and VFMTOWID from a batch file so you can
see what they print to the screen. Check this feature out below.

More stuff

There are a number of things you can change in VFM if you want
to. Most of the time this isn't necessary or even a particularly
good idea.

This is a list of the command line options. It can also be seen
by typing VFM HELP at the command line.

-F This is the path to your SFP files, to wit, your
\VENTURA directory. Defaults to C:\VENTURA
-K When not zero, VFM will keep all its scratch files.
This defaults to OFF
-B When not zero, VFM will create a batch file to make width
tables, rather than running HPLTOVFM and VFMTOWID directly.
This defaults to off. (See the DOC file for more about this).
-T This is the path to the VFM.TBL file. Defaults to VFM.TBL
-S This is the file specification for the soft font files.
Defaults to *.SFP.
-N Video attribute for normal text. Defaults to 7
-H Video attribute for bright text. Defaults to 15
-I Video attribute for inverse text. Defaults to 112
-A Video attribute for flashing text. Defaults to 240

Unlike as with most utilities, all of these settings are memorized
by VFM in a file called VFM.CFG. As such, for example, if you set
the screen colours once, they'll stay set for all subsequent
invocations of VFM until you specifically change them or until
you delete VFM.CFG. This latter move is a simple way to return
VFM to its default settings.

Note that VFM expects to find VFM.CFG in the current directory.
If you put VFM.EXE on your DOS path and boot it from some other
directory, it will assume that VFM.CFG does not exist, return to
its defaults and create a new VFM.CFG file when it exits.

Multiple command line parameters can be combined in a single
invocation of VFM.

The -F parameter tells VFM to look for your soft fonts in some
directory other than C:\VENTURA. This might be useful if you have
lots of fonts under Ventura 2.0... it shouldn't be needed under
Ventura 1.1.

The -K parameter determines how VFM manages its scratch files.
Normally it creates a number of scratch files when it's making a
width table and then deletes them afterwards. It you include -K1
on the command line, however, it will leave all its scratch files
on your hard drive. If you check out your \VENTURA directory
after VFM is done you'll see an assortment of .VFM files and a
.LST file named after your new width table. Use -K0 to
turn this parameter off if you've previously set it on.

The -B parameter will cause VFM to create a batch file rather
than running HPLTOVFM and VFMTOWID directly. If you ask for a
width table called CUSTOM.WID with this parameter on, it will
create a file called CUSTOM.BAT in your \VENTURA directory. When
you get out of VFM, execute this batch file in your \VENTURA
directory to create the width table you asked for. This feature
is useful if you are having trouble with VFM and want to see any
error messages generated by HPLTOVFM and VFMTOWID, as these are
usually suppressed by VFM when it runs these programs directly.
The parameter -B1 turns the batch file mode on, and -B0 turns it
off. It's usually off.

The -T parameter sets the name of the VFM.TBL file... usually
it's VFM.TBL, of course.

The -S parameter defines the specification for your font files.
This is usually "*.SFP". You might change it to "*.SFL" to make a
width table for landscape fonts, or to something more specific,
like "CG*.SFP" to include only certain fonts in the VFM list.

The final four parameters set the screen colours. These default to
black and white, but you can make them more colourful if you want
to. The values passed to them are standard PC screen colour
numbers... check out any decent PC book to explain how they're

Adding to VFM.TBL

VFM.TBL can be edited with any text editor, such as WordStar in
its non-document mode. It can be up to three hundred and eighty-
four lines long... lines beyond this are ignored. Blank lines are
best avoided, and you should make sure that the last line is
actually terminated by a carriage return or it may not be read

Each line in this file represents one font type. This can mean
different things. The thing which determines how many fonts fall
into a type is actually how their soft font files are named. For
example, all the soft font files for the Dutch... or Times...
font which come with Ventura start with the letters TM. As such,
all the Times font files fall into one type.

The letters TM here are called the type "key".

Inconveniently, the Font Factory / Qume Alcatel fonts have four
groups for most font families, one each for medium, italic, bold
and bold italic. As such, these fonts are usually held in four
lines of this file, or four types. The Font Factory / Qume
Alcatel fonts are designated by six character keys, of which the
first two characters are CG, for "Compugraphic" and the last four
are the code number of the particular face. We didn't make this
up... the fonts come named this way and it'd be a pig to change
them all.

Each line of the VFM.TBL file consists of a key and some
parameters which tell VFM about the font which the key represents.
Some of these are optional. If you leave off any of the non-
optional ones, VFM will default to values you probably won't

The following are some example lines from VFM.TBL.

HELVTINY /F=Helvetica /N=2 /H /Q=1 /W=M /S=6
TM /F=Times /N=14 /T /Q=1
SYMB /F=Symbol /N=128 /T /Q=1
CG2500 /F=CG-Times /N=15 /T /Q=2 /W=M
CG1674 /F=Avante-Garde /N=51 /H /Q=2 /W=T
GL /F=Gaul /N=137 /T /Q=3
SX /F=Saxon /N=138 /T /Q=3
GM /F=GoudyMediaevl /N=140 /T /Q=3
DU /F=Dublin /N=136 /T /Q=3
CB /F=CooperBlack /N=8 /M /Q=3
CL /F=Cloister /N=10 /T /Q=3

The first field in each line is the key, which can be anywhere
from one to eight characters long. In decoding each file name,
VFM will compare the file name to the key for as many characters
as are in the key to see if it matches, applying the following
parameters to that file if it does. Note that the keys are
scanned in the order that they appear in the VFM.TBL file. This
can cause problems if you aren't careful. If you have a line like

CG /F=Calligrapher /N=138 /T /Q=3

before one like

CG2500 /F=CG-Times /N=15 /T /Q=2 /W=M

The second line will never be reached because all the soft font
files which start with CG will be assigned to the first key. To
avoid this, put the lines with the longest keys at the top of
your VFM.TBL file as a rule.

The next thing which VFM wants to know about a font type, as
found in one of these lines, is it's decoding class. This is
specified by the /Q parameter. This must be /Q=1 if the font is
one of those which came with Ventura, /Q=2 if the font is named
in the convention of the Font Factory / Qume Alcatel fonts or
/Q=3 if the font is named in the convention of the SoftCraft font
installer, as described earlier in this file.

The /F parameter associates an actual name with the font file.
This can be up to thirteen characters long, and can be whatever
you want to appear in the Ventura font selector box for that
font. It can contain no spaces.

The /N parameter assigns a unique font number to the font in
question. These can be assigned arbitrarily if you want to, or
you can see what's in the Ventura manual. Check out page K-15 for
version 1.1. It's a good idea to leave the decode class one and
two numbers as they are in the default version of VFM.TBL. You
can add your own numbers to class three fonts as you like, so
long as they don't clash with those already in use in the VFM.TBL
file or in any other width table you might merge tables created
with VFM into. The numbers can't be any higher than 255.

The /W parameter sets the font weight. It can be /W=M for medium,
/W=I for italic, /W=L for light, /W=B for bold or /W=T for bold
italic. This parameter should be left off class three fonts, as
VFM will figure it out for itself from the file name.

The /S parameter sets the font size. Usually this is not included
in an entry in VFM.TBL, as VFM is supposed to be able to work it
out for itself from the file name. However, it is used in the
smallest sizes of class one fonts, which are perversely called
TINY.SFP, rather than being given actual size
designations in their font names. Tiny means six point to

The /H, /T, /C and /M parameters set the screen font to be used
with the font in question to Helvetica, Times, Courier or
Matching respectively.

The parameters can be set in any order.

If, upon booting up VFM you find that some fields in the main
screen are set to "Unknown", rather than what they should be, VFM
is probably misinterpreting your entries in VFM.TBL.

Stray bits

If you have some screen fonts which you don't know the numbers
of, you can find out using DEBUG. The first byte of the .EGA
screen font file is the font number which the screen file
corresponds to... in hex.

Moral dogma

If you like VFM and use it and it makes your life cosmically real
and meaningful in the ever expanding fullness of the universal
omm... or anything along these lines... you are requested to send
us $25.00. No photocopied money, please... the bank bitches
about it.

In return for this, we'll provide you with phone support and
notify you when a new version of VFM is available.

We hope you like VFM, and will help us to write more little
trolls like it by laying some bucks on us. We are

Alchemy Mindworks
P.O. Box 313
Markham, Ontario
L3P 3J8

Other programs we've done that you might like include:

MacScoop - MacPaint file reader and printer with high speed screen
drivers, PostScript, HP LaserJet+ and Epson FX printer
support and suchlike.
GemScoop - GEM/IMG Paint reader and printer, like MacScoop above.
PcxScoop - PC Paintbrush reader and printer, Like MacScoop above.
Mac2Img - MacPaint to GEM/IMG file converter.
Calendar - Slick perpetual calendar that tells you when the
equinoxes happen, what day Michaelmas fell on in 1705
and so on.
gemCAP - Capture graphics screen in GEM/IMG paint format,
suitable for inhalation into Ventura
CPM2DOS - Read CP/M formatted disks on your PC
IMGCUT - Crop GEM/IMG paint files into smaller files
ADDRESS - Memory resident envelope addresser with graphics
tCAP - Captures text screens but makes them into IMG files
for easy inhalation into Ventura. Synthesizes screen
attributes as well.
MCOPY - DOS COPY replacement which will copy lots of files
onto floppies, pausing between disks when they get
full. It orders the files to get the maximum number
of files on each disk, filling in the small spaces
with little files. Finally, everything is CRC

If you can't find 'em in the public domain, they're available
from us for $10.00 each, or $25.00 with source.

That's it...

 December 29, 2017  Add comments

Leave a Reply