home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
amigalibdisks
/
disk943
/
mkfont
/
mkfont.doc
< prev
next >
Wrap
Text File
|
1993-12-21
|
14KB
|
299 lines
Mkfont
Version 1.0
Written by Tonio Voerman
Preface
=======
This software is F R E E W A R E ! That means:
- Mkfont is copyrighted, and therefor your NOT allowed to alter Mkfont OR
this accompanying documentation file.
- Your FREE to use it. This is NOT shareware.
- It's forbidden to charge more than a SMALL fee for this program. It should
not be more than the copying costs.
- Your FREE to distribute Mkfont and the documentation file, but you MUST
distribute them together.
- This program is NOT to be sold as a commercial program!
- Your NOT allowed to modify the author's name.
- Your NOT allowed to steal any parts of Mkfont or to use it in any other
way than as a stand alone product.
CONTENTS:
- What is Mkfont anyway ?
- Requirements
- Features
- Installation
- How to run Mkfont
- Source
- Bugs and testing
- What you can do for me
- future versions
WHAT IS MKFONT ANYWAY ?
=======================
As is well known, the Amiga has an impressive number of Public Domain fonts.
Some are ugly and some are quite good looking. What a shame that you can
display them, but not print them other than as graphics, a painfully slow
proces and a big problem if your tight on printer memory!
This is where Mkfont comes in: it converts a normal Amiga font into a
Hewlett Packard laserprinter II compatible softfont. If you ever bought a
softfont for your HP II compatible laserprinter, you'll be happy to know
that you can get softfonts totally free now!
REQUIREMENTS
============
Obviously you need to either have or have acces to a Hewlett Packard
laserprinter or a compatible printer. If you don't have that you can stop
reading here as Mkfont is not of any interest for you.
Mkfont should run normal on all Amiga models as hardly any use is made of
the Operating System. Although not tested Mkfont should work on O.S. 1.x.
Mkfont however does require a hefty 200K of free contiguous memory when run,
as it is unclear how much space a softfont will need when it is created. The
200K is to make sure that every created softfont fits in memory.
And you gessed it: Public Domain Amiga fonts (large ones)!
Features
========
- As far as I know, Mkfont is unique. I could not find a program to convert
Amigafonts to HP II softfonts.
- Mkfont is fast. It is entirely written in assembly and it is optimized in
it's loops for full speed. Note however that due to the enormous amount of
data to deal with, converting a font can take a few seconds (on 68000).
- As the process of creating a font only takes short time, it is worth it to
create fonts on demand instead of storing them permanently, thus reducing
valuable diskspace.
- Mkfont itself is a small program because it's written in assembly, so it
is quickly loaded from disc and only takes little diskspace.
- Mkfont is able to enlarge a soft font 2 times horizontally and vertically
during the creation of the softfont.
- Mkfont will automatically smoothen the soft font a little to avoid sharp
edges often found in (scaled) Amiga fonts.
- Mkfont allocates and deallocates memory, devices etc. in a system friendly
way and multitasks normally.
- Mkfont is rather fool proof; you'll have a hard time trying to crash it.
INSTALLATION
============
To make life simple for users, all that is needed is that the Amiga can
find Mkfont. This means that it should be in the actual directory or that it
should be in your path somewhere. For example to make it always available:
copy Mkfont C:
would do the trick. Note however that Mkfont and it's documentation file
must be kept together so it is not allowed to copy Mkfont to C: AND throw
away this documentation. If you want, you can copy them in a subdirectory:
makedir df1:Mkfont
copy #? df1:Mkfont/
if df1: contains a disk on wich you want to keep Mkfont and this doc. Or you
can simply keep this disk.
NOTE that Mkfont is CLI-ONLY. This will be fixed later but for the moment
you'll have to use the CLI.
HOW TO RUN MKFONT
=================
As stated you can only run Mkfont from the CLI. Workbench support will come
later. But Mkfont is easy to use. It's syntax is:
Mkfont [options] <Amiga font file> <softfontname to be created>
That's all. If you type Mkfont or Mkfont help you get:
This program constructs a Hewlet Packard II compatible laserprinter font
using an Amiga font as a basis. Such a font is downloadable, but it is
only useful if you have a laserprinter at your disposal.
Syntax: mkfont [options] fontfile outputfile
Options are:
-d: double the size of the HPfont
-t: make a testfile (send the testfile to par: or ser:)
-v: the program reports what it is doing
-n: problems and comment are given in Dutch
-p: the HPfont is always made proportional
I think the options are all pretty clear. The -n is included as I didn't
want to forget the Dutch. The option -n is can be used in conjunction with
the -v (for Verbose) option. The -t option is included mainly for debugging
uses. It creates a softfont with an integrated testpattern. It can not be
used as a normal soft font for use in packages who use softfonts. Instead it
must be copied to the parallel or serial device (par: or ser:) and will
print the characters of the soft font. But with this option you can test a
softfont for it's appearance on paper without the hassle of starting a
program wich uses that softfont. Do not copy it to prt: as this will most
certainly prints garbage on your laserprinter.
(For the dutch: type Mkfont -n for help!)
The input file is a bit weird for the first time. As you might know the
amiga knows a FONTS: directory. In that directory there are subdirectory's
containing amiga fonts and .font files. For example you can find a topaz
directory and a topaz.font file. The topaz.font file is NOT used by Mkfont.
Just the actual amiga font itself is needed. So if the directory topaz
contains the file named "11", THAT file is needed as input. So you might
specify as inputfile FONTS:topaz/11 ! The output file is a lot simpeler;
just specify the name you want the soft font to have. Of course you can
specify any device as a part of the name. So RAM:yo is fully acceptable.
It is also possible to not use a diskname, but an other device, like nil:.
The use of this is for example to test wether you have got enough free RAM
to run Mkfont and to test wether or not the Amiga font can be converted
without any problems (it should). An other use is to use the option -t and
par: or ser: as output name. The font is then not stored, but sent to the
printer right away, including a testpattern to print a sample.
Mkfont is made foolproof, so with normal use you shouldn't be able to crash
it (you would have to modify Amiga font files, it's pointers to be precise)!
And thus it is not possible to use wrong names or options. Specifying also
par: as input name will not work (good output name though)!
If a mistake is detected no output file will be created. Note that specify-
ing the same name for the output file as the input file is NOT considered a
mistake as long as the input file exists. It will be overwritten!
There is an important thing to know. Laserprinters print with 300 dpi. That
means that there are about 12 pixels in a mm. That means that a "large"
Amiga font from 25 pixels high prints out at a rather small 2 mm height! So
it is advisable to use the option -d to double that. The smoothing algorithm
will most of the time produce satisfactory result dealing with the
blockiness wich results from the doubling. The smooth happens automatic and
is not an option as fonts look much better with it and it doesn't take that
much more time. Do NOT try an Amiga font with height 8 or something like
that or you will need good eyes to see what is printed! But if you have 'em
an 8 pixels heigh font is ideal for storing lots of text on 1 a4 paper.
Warning: Not every font you have might be public domain! Check that before
using Mkfont. Using Mkfont is a way of copying a font and modifying it. This
might be forbidden by the maker of the font! I DON'T tak