Back     FontBUILDER QuickTour     Next
File | Mapfile...
 
The File | Mapfile... menu selection opens the Open Unicode Map File dialog where you can select an input "mapfile" that contains the specifications for the font typeface, size, resolution and other attributes for the bitmap font you wish to generate.
 
Open Unicode Map File
 
Within a FontBUILDER mapfile you can define font settings for size, resolution and typeface, plus specify selective controls for individual characters or ranges of characters that you wish to include in the final bitmap font.  The FontBUILDER mapfile also allows you to mix characters from multiple TrueType fonts into a single output bitmap font.  When used as a command line parameter, mapfiles can perform totally automated font generation.
 

The following is an example of a FontBUILDER mapfile:

// fbmap_mssong_120-20.txt - SAMPLE FontBUILDER UNICODE MAPPING FILE
//         120dpi 20pt         FOR CHINESE "MS SONG" TRUETYPE FONT
//

// Comments may be placed in any line and are preceded by double slashes.
// When parsing, space characters outside of quoted strings are ignored.

// An "ImportFont" statement defines the TrueType Unicode font to be processed.
// The ImportFont statement also specifies a series of attributes defining the
// point size, DPI, character set and other settings for rendering the font.
// ImportFont attributes must be specified in sequence on the single line of
// the ImportFont statement and are specified in the following format
// (attributes in braces '{}' are optional):
//
//     ImportFont="fontName", pointSize10, DPI {,charSet, pitchAndFamily, weight,   \
//                 italic, underline, strikeOut, outPrecision, quality, clipPrecision}
//
// "fontName" - required
//    TrueType font name.  Example, "Arial", "MS Song", "MS Mincho", "Katakana JIS"
//
// pointSize10 - required
//    Typographic point size times 10, example 120 = 12.0 points.  Typographic
//    points are measured in 1/72nds of an inch, ptSize10 is 1/720 of an inch.
//
// DPI - required
//    Dots or pixels per inch (typical CRT screens are 64 to 120 DPI).
//
// The combination of pointSize10 and DPI determines the pixel height when the
// TrueType font is imported and converted into a bitmap font:
//
//     fontPixelHeight = pointSize10 * DPI / 720;
//
// The other ImportFont attributes are optional.  For additional information
// on the ImportFont attributes, please see the FontBUILDER On-line Help
// "Import Attributes" description, or the "Import Attributes" section in
// the FontBUILDER Reference Manual (pgs 15-19).  To view a font's actual Import
// Attributes online, run FontBUILDER and select "File|Import" to select the
// font. Once a font has been read, choose "View|Properties|Import Attributes".

ImportFont="MS Song",200,120,134   // Import "MS Song" font, 20.0 points, 120 DPI,
                                   // 134=Chinese GB2312 character set


// Following the "ImportFont" statement are a series of assignment statements
// that define which Unicode characters in the TrueType font are to be stored
// in the bitmap font.
//
// Each character assignment contains two values separated by a comma.
// The first value is the font glyph index position to be assigned,
// the second is the Unicode character code to be stored.  Values in either
// field may be specified by either a decimal value, or hexadecimal value
// preceded by "0x" or "U+".  Bitmap glyph to Unicode character assignment
// statements are specified in the following format:
//
//       glyphPosition,UnicodeCharacter
//
// *** IMPORTANT ***************************************************************
// The MetWINDOW font glyph indexes (left values) MUST APPEAR IN ASCENDING ORDER!
// The glyph positions do not need to be absolutely sequential and can have gaps,
// but they MUST BE in ascending order.  Unicode character codes (right values)
// may appear in any order.
// *****************************************************************************

// The following statement assigns glyph index 32 with Unicode character 32.
32,32           // assign a single character

// A range of characters may be assigned by using a dash '-' separator.
// The following statement assigns glyph indexes 33 to 127
// with Unicode characters 33 to 127.
33-127,33-127   //  character ranges must be equal in size!

// The following statement assigns glyph index 128 with Unicode character U+4E01:
128,U+4E01

// The glyphIndex value (left value) may be left out if it continues in
// sequence from the previous assignment:
,U+4E02    // 129,U+4E02
,U+4E20    // 130,U+4E20
,U+4E21    // etc.
,U+4E22
,U+4E23
,U+4E24
,U+4E25
,U+4E80
,U+4E81
,U+4E82
,U+4E83
,U+4E84
,U+9F80
,U+9F81
,U+9FA0
,U+9FA1
,U+9FA5
,U+9FA4
,U+9F0F
,U+9E1F
,U+9E1E
,U+9E1C
,U+9E93
,U+9E94
,U+9E95
,U+9475
,U+9495
,U+94D5
,U+9419
,U+94DC
,U+9A6C
,U+9A6D
,U+9A6E
,U+9AF4
,U+9AF5
,U+9671
,U+967F
,U+965F
,U+961F
,U+961C


// After all "glyphPosition,UnicodeCharacter" assignments are specified,
// an "ExportFont" statement specifies the path and filename for the
// bitmap font file to be written.  The filename extension, ".fnt" or ".h",
// specifies whether the file is to be written as a binary font file (.fnt),
// or as a C header file (.h) that can be compiled and linked directly into
// your program (only one ExportFont statement can be specified).

   ExportFont="mssong_120-20.fnt"  // Output font as loadable binary file
// ExportFont="mssong_120-20.h"    // Output font as compilable C header file

// If an ExportFont statement is not provided, FontBUILDER will process the
// font as specified in the mapfile, and then display a warning message that
// the output font file has not been written.  From the FontBUILDER program menu
// you can then choose "File|Save As..." to output the bitmap font.
//
// TIP - If you leave out (or comment out) the ExportFont statement, you can
// also select "View|Properties" to view the font attributes of the new
// bitmap font after the mapfile has been processed.  Remember, you'll
// need to use "File|Save As..." to actually write the new font.


// An "END" statement defines the end of the map input file

END  // End of File - fbmap_mssong_120-20.txt
 


Home | Products | Order | Register | Support | Company | Contact | Feedback

Copyright © 1999-2001 - Metagraphics Software Corporation.