------------------------------------------------------------------------------
                                 Introduction
------------------------------------------------------------------------------

The NOTESFGF.TXT file summarizes the new features added in Fastgraph/Fonts
2.0.  It also includes additions and changes made to Fastgraph/Fonts since the
publication of the Fastgraph/Fonts User's Guide and Reference Manual, as well
as other miscellaneous information.  The following topics are discussed:

* New features added in Fastgraph/Fonts 2.0
* FGFEDIT TrueType support
* Using Fastgraph/Fonts with the 16-bit WATCOM C/C++ compiler
* Creating BASIC quick libraries
* Converting Fastgraph/Fonts version 1.00 font files

------------------------------------------------------------------------------
                   New Features Added in Fastgraph/Fonts 2.0
------------------------------------------------------------------------------

The following routines have been added in Fastgraph/Fonts 2.0.  Please see
the Fastgraph/Fonts Reference Manual for full descriptions, including their
parameters, return values, and restrictions.

FGF_GETXJUST Return FGF_PRINT/FGF_PRINTC horizontal justification setting
FGF_GETYJUST Return FGF_PRINT/FGF_PRINTC vertical justification setting
FGF_KERNING  Define additional space inserted between displayed characters
FGF_PRINTC   Version of FGF_PRINT that performs clipping
FGF_UNDER    Defines vertical offset for underlining

Fastgraph/Fonts 2.0 includes 16-bit and 32-bit protected mode libraries for
the same compilers and DOS extenders as Fastgraph 4.0.  No new Fastgraph/Fonts
routines are needed for protected mode support -- the protected mode specifics
are set up by Fastgraph's FG_INITPM routine.  FG_INITPM must be called before
any other Fastgraph or Fastgraph/Fonts routine.

Two new utility programs are provided in the Fastgraph/Fonts 2.0 distribution.
FGFEDIT is an interactive font file editor and conversion utility.  SCALFONT
creates a new font file whose characters are smaller or larger than those of
an existing font file.  Please see Chapter 3 of the Fastgraph/Fonts User's
Guide for full details about FGFEDIT and SCALFONT.

------------------------------------------------------------------------------
                           FGFEDIT TrueType Support
------------------------------------------------------------------------------

Fastgraph/Fonts 2.0 includes a new interactive font editor and conversion
utility called FGFEDIT.  FGFEDIT provides the ability to read TrueType font
files (TTF files) and convert them to the Fastgraph/Fonts font file format.
This section describes TrueType features not yet available in FGFEDIT that
are planned for future maintenance releases.

FGFEDIT produces scaled outlines from the TrueType character definitions, but
it does not fill the resulting character outlines.  If you are converting a
TrueType font and want filled characters, you must use FGFEDIT's editing mode
to fill the individual character bitmaps manually.  Typically this takes about
15 minutes per font.  If you need to convert one TrueType font file to several
different size Fastgraph/Fonts font files, it usually takes less time to fill
the character definitions in one file and then use the SCALFONT utility to
make the other size fonts.  A future release of FGFEDIT will automatically
fill the scaled character outlines when loading TrueType font files.

FGFEDIT does not apply the TrueType hints when creating character outlines.
This is usually more noticeable when specifying smaller point sizes that with
larger point sizes.  A future release of FGFEDIT will include full support for
TrueType hints.

When converting a TrueType font, the value of the /S command-line option
represents the point size in the traditional TrueType sense, not the FG/Fonts
definition of point size.

------------------------------------------------------------------------------
          Using Fastgraph/Fonts with the 16-bit WATCOM C/C++ Compiler
------------------------------------------------------------------------------

Support for 16-bit WATCOM C/C++ (version 9.5 or later) was added after the
Fastgraph/Fonts manuals were printed.  The following real mode Fastgraph/Fonts
libraries are compatible with this compiler:

     FGFS.LIB   Real mode small model library
     FGFM.LIB   Real mode medium model library
     FGFL.LIB   Real mode large model library

Programs may be compiled and linked from the DOS command line using the WCL
command.  Here are example WCL commands for compiling a 16-bit WATCOM C/C++
program and linking it with Fastgraph/Fonts.  Fastgraph's compiler-specific
auxiliary library names (FGWCx.LIB) only need to be included if your program
uses any of the Fastgraph routines listed in Appendix D of the Fastgraph
User's Guide.

     Small memory model:
        WCL /ms <source_file> FGS.LIB FGFS.LIB [FGWCS.LIB]

     Medium memory model:
        WCL /mm <source_file> FGM.LIB FGFM.LIB [FGWCM.LIB]

     Large memory model:
        WCL /ml <source_file> FGL.LIB FGFL.LIB [FGWCL.LIB]

For more information about other compilation and linking options, please refer
to the WATCOM C/C++ User's Guide.

------------------------------------------------------------------------------
                        Creating BASIC Quick Libraries
------------------------------------------------------------------------------

The three BASIC compilers that Fastgraph supports let you create applications
in two ways.  One way is to use the BC and LINK commands from the DOS command
prompt, and the other is to use the compiler's programming environment.  When
you want to use Fastgraph within the programming environment, you must load a
special library, called a quick library (QLB file), containing the Fastgraph
routines.

Because only one quick library name can be specified when using the compiler's
programming environment, you must create a combined quick library if you wish
to use Fastgraph/Fonts or Fastgraph/Image in the environment.  The following
LINK commands show how to create a quick library called FGALL.QLB containing
all Fastgraph, Fastgraph/Fonts, and Fastgraph/Image routines.

     Microsoft QuickBASIC:
     LINK /Q /SEG:340 FGQB.LIB+FGFQB.LIB+FGIQB.LIB,FGALL,NUL,BQLB45;

     Microsoft BASIC PDS 7.x:
     LINK /Q /SEG:350 FGQBX.LIB+FGFQBX.LIB+FGIQBX.LIB,FGALL,NUL,QBXQLB;

     Microsoft Visual Basic for DOS:
     LINK /Q /SEG:430 FGVBDOS.LIB+FGFVBDOS.LIB+FGIVBDOS.LIB,FGALL,NUL,VBDOSQLB;

If you don't have the Fastgraph/Image product, omit the FGIQB.LIB, FGIQBX.LIB,
or FGIVBDOS.LIB library names from the above LINK commands.

Unfortunately, the quick library format requires that all code and data for
every routine in the quick library be loaded into memory.  The combined quick
libraries include every Fastgraph, Fastgraph/Fonts, and Fastgraph/Image
routine, meaning the code and data for all three products will be loaded into
memory!  This leaves little if any memory available for your program's code
and data.

One solution to this problem is to use the BC and LINK commands, together with
the stand-alone BASIC libraries for each product.  The stand-alone libraries
(LIB files) are true libraries that do not suffer from the "use all or
nothing" feature of quick libraries.  However, the stand-alone libraries
cannot be used from the compiler's programming environment.

The other solution is to make a customized quick library containing only the
Fastgraph, Fastgraph/Fonts, and Fastgraph/Image routines your program actually
uses (plus any Fastgraph routines those might call).  To do this, use the
compiler's LIB utility to extract the required object modules from the
Fastgraph, Fastgraph/Fonts, and Fastgraph/Image stand-alone libraries.  Then
use the LINK command to build a quick library from the extracted OBJ files.

Each Fastgraph routine resides in a module having the same name as the routine
but without the FG prefix.  Similarly, each Fastgraph/Fonts routine resides in
a module whose name lacks the FG prefix but does include the character "1"
appended to the routine name.  When the routine name is already 8 characters
long, the "1" replaces the final character.  Fastgraph/Image uses the same
module naming convention as Fastgraph/Fonts, but suffixes the routine names
with the character "2" instead of "1".  Some examples might help clarify this.

     FGsetmode    module name is SETMODE
     FGFload      module name is LOAD1
     FGFundefine  module name is UNDEFIN1
     FGIopen      module name is OPEN2
     FGIshowflic  module name is SHOWFLI2

Custom quick libraries must include the DATA modules for each product (DATA,
DATA1, and DATA2) plus the modules for any other Fastgraph, Fastgraph/Fonts,
and Fastgraph/Image routines used in your program.

Depending on the number of modules added to a custom quick library, you might
need to increase the number of segments LINK uses when creating a custom quick
library.  This is done through LINK's /SEG:n command-line option.  The default
value of n is 128 segments.  The maximum value required is 340 for QuickBASIC,
350 for BASIC PDS, and 430 for Visual Basic for DOS.

For full details about creating BASIC quick libraries, please refer to the
manuals supplied with your BASIC compiler.

------------------------------------------------------------------------------
              Converting Fastgraph/Fonts Version 1.00 Font Files
------------------------------------------------------------------------------

Fastgraph/Fonts 2.0 uses the same font file format as Fastgraph/Fonts 1.10 and
above.  Font files distributed or created with Fastgraph/Fonts 1.10 or higher
are fully compatible with version 2.0.  However, Fastgraph/Fonts version 1.00
used a different font file format that is not compatible with later releases.

Fastgraph/Fonts 2.0 includes new versions of the 40 font files supplied with
version 1.00.  If you use only these fonts, the Fastgraph/Fonts installation
program will copy the new font files to your hard disk, replacing the older
versions with the same names.  Note that if you have stored any version 1.00
font files in Fastgraph/Image libraries, you must replace each font file in
each image library.  An FGILIB command similar to the following can be used
to replace the font files.

        FGILIB fgi_file -+fgf_file1 -+fgf_file2 ...

If you have created your own font files with the Fastgraph/Fonts version 1.00
MAKEFONT utility, you will need to convert them to the new format.  A utility
named CONV110.EXE is supplied for this purpose.  By default, the installation
program places CONV110.EXE in the same directory as the font files.  To run
CONV110.EXE, just specify a font file name as the command line parameter.  For
example, the command

        CONV110 MYFONT.FGF

will convert MYFONT.FGF to the current font file format.  The original font
file will be saved with a BAK extension.  Run CONV110 for each font file
you've created.  As before, font files in Fastgraph/Image libraries must also
be replaced.
