| 6.00 6.00a 6.00ax 7.00 | 1.00 1.50 MS-DOS                 | WINDOWS
kbtool 
 
 
The information in this article applies to:
 Microsoft C for MS-DOS, versions 6.0, 6.0a, 6.0ax, and 7.0
Microsoft C/C++ for MS-DOS, version 7.0
Microsoft Visual C++ for Windows, versions 1.0 and 1.5
 
 SUMMARY
You can create MS-DOS programs that load fonts from .FON font files. It is
sometimes desirable to embed a font into an MS-DOS .EXE file so that
there are fewer files to distribute with the program. However, it is
not possible to embed the .FON files into .EXE files.
 
You can create a new font resource file (.FNT) and embed it into the
MS-DOS .EXE file rather than placing it into a .FON file. A Windows
resource compiler such as RC.EXE supplied with the Windows 3.0
Software Development Kit (SDK) or Windows 3.1 SDK needs to be used to
embed a .FNT file into an .EXE file or to create a .FON file.
 
The purpose of embedding a font into an MS-DOS .EXE file is to have
fewer files to distribute. The _registerfonts() and _setfont()
functions will still read the font information from the .EXE file at
run time. Embedding the font into the executable does not stop these
functions from accessing the disk.
 
 MORE INFORMATION
To embed a .FNT file into an MS-DOS executable, do the following:
 After completing the steps listed above, the executable file
FNTHELLO.EXE can be run to cause the string "hello" to be displayed in
the font stored in the executable.Create a .FNT file using a font editor, such as the one supplied
   with the Windows 3.0 or 3.1 SDK. When creating the .FNT file with
   the font editor, you must save the .FNT file as a Windows 2.0 font
   resource file to allow it to work with the Microsoft C graphics
   libraries. For this example, the .FNT file will be called FONT.FNT.
Compile and link the executable that will use the font. The
   following example program will simply display a message in the font
   embedded into the same file. For this example, the executable will
   be called HELLO.EXE:
        /* Compile options needed: /link graphics.lib
       */
        #include <graph.h>
       #include <conio.h>
        void main (short argc, char * argv[])
       {
           _registerfonts (argv[0]);
           _setfont ("n1");
           _setvideomode (_MAXRESMODE);
           _outgtext ("hello");
           getch ();
           _setvideomode (_DEFAULTMODE);
       }
Create the following .RC file, replacing the font resource name
   FONT.FNT with the name of the font resource file that is to be
   embedded into the executable. For this example, this file will be
   called FONT.RC:
       1 FONT FONT.FNT
Create the following C source file and compile it. For this
   example, this file will be called FNTHELLO.C:
        /* Compile options needed: /c
       */
        int junk;
Create the following .DEF file replacing the program name HELLO.EXE
   with the name of the MS-DOS .EXE file that the font will be
   embedded in. For this example, this file will be called
   FNTHELLLO.DEF:
        LIBRARY font
       EXETYPE WINDOWS
       DESCRIPTION 'font'
       STUB 'HELLO.EXE'
       DATA NONE
Use the following command to run LINK 5.01 or later to create a
   segmented executable:
        LINK FNTHELLO.OBJ, FNTHELLO.EXE, NUL, /NOD, FNTHELLO.DEF
Run RC.EXE to add the font to the executable:
        RC FONT.RC FNTHELLO.EXE
 
 
 REFERENCESMicrosoft Windows Software Development Kit "Guide to Programming"
   manual for version 3.0
 |