===========================================================================
3SEP03 - DUMPFNTS.EXE - Extracts Fonts from DOS/Windows' CPI Files
===========================================================================

A Windows' CONSOLE program that allows you to extract and save the full
screen Font images contained in MS-DOS and Windows Codepage Information
(CPI) files.

CPI files contain the country specific screen fonts that MS-DOS and Windows
use in full screen modes (both MS-DOS mode and full screen DOS "box" and
NT/2000/XP Console modes). They are usually found in the Windows COMMAND
(Windows 9x/Me) or SYSTEM32 (Windows NT/2000/XP) directory and have a CPI
extension. If only one file is present it will usually be named EGA.CPI.

DUMPFNTS will work on most standard MS-DOS and Windows CPI files -
including Procon's HVEGA*.CPI files. (It may NOT work on proprietary OEM
CPI files such as those distributed with DR-DOS, Caldera OpenDOS, Novell
DOS, etc.).

CPI files usually include three different sized screen fonts for each
supported codepage, These are:-
  8x 8 pixels - used in 43 and 50 line screen modes
  8x14 pixels - used in 28 and 30 line modes
  8x16 pixels - used in 25 line mode.

The font files can be used with utilities like our MAKECPI.EXE and
EDITCPI.EXE to create - or modify - Codepage Information Files and with
Video ROM BIOS Editors to replace the fonts in Video Cards (See the file
HVVCBIOS.TXT in our Video ROM BIOS package for details).

---------------------------------------------------------------------------
SYNTAX

   DUMPFNTS  CPIFile(s) [/Pnnn]
      CPIFiles = the target CPI File(s) - can contain wildcards
      /P (Optional Switch) = Include Only This Codepage

   Examples:
      DUMPFNTS C:\WIN\COMMAND\EGA.CPI  - Fonts from ALL codepages
      DUMPFNTS \TEMP\*.CPI /P437       - PC8 Fonts (Codepage 437)

   Output:
      The Font files will be placed in the current directory and have
      filenames like this:-
         Filename_8x16.nnn,
         Filename_8x14.nnn, and
         Filename_8x8.nnn
      where "Filename" is the CPI file's Filename (with extension)
      and "nnn" is the Codepage value.

      Hence the commands:
        COPY %windir%\System32\*.CPI %TMP%
        DUMPFNTS %TMP%\*.CPI /P850 could create nine
        font files in the current directory with the names
            EGA.CPI_8x16.850   EGA.CPI_8x14.850   EGA.CPI_8x8.850
           EGA2.CPI_8x16.850  EGA2.CPI_8x14.850  EGA2.CPI_8x8.850
           EGA3.CPI_8x16.850  EGA3.CPI_8x14.850  EGA3.CPI_8x8.850
        as Windows 2000/XP sometimes has three CPI files available in the
        System32 directory. (EGA.CPI, EGA2.CPI and EGA3.CPI).
        (Note: We cannot directly access the EGA.CPI file in the System32
        directory. Windows opens and locks this file - preventing other 
        processes simultaneously opening the original file.)

---------------------------------------------------------------------------
PARAMETERS

The program accepts up to TWO command line parameters:-

The FIRST parameter
  is the target file specification. This can contain a full path and may
  contain wildcards. For example:-  C:\TEMP\EGA*.CPI

The Codepage parameter (/Pnnn) is optional.
  It can be used to restrict the font dump to a single Codepage
  (The default is to dump ALL fonts from ALL Codepages - this could
  generate up to 39 font files from just the standard NT EGA.CPI).


---------------------------------------------------------------------------
DEPENDENCIES

This program uses several Windows' DLL files. If these are not present you
will get an error message indicating which DLL is missing.

If this occurs, download the required DLLs from the links given in:-
   http://www.procon.com.au/UtilDLLs.htm


---------------------------------------------------------------------------
DISCLAIMER

Use this utility at your own risk! If you do not understand
  CONSOLE Mode,
  Command Line parameters,
  Windows' Codepage file usage,
  ASCII values,
  etc.,
you can only cause yourself grief.

===========================================================================

