Printer Font Metrics (PFM)

To access the PFM dialog box and specify the PFM commands, scroll through the FONTS window and select the desired font. Then, double click the selection to display the PFM dialog box for the selected font file.

To render text with device fonts and to retrieve font data for application queries, RasDD requires special font data or printer font metrics. The PFM dialog box specifies a printer’s font metrics and font selection commands. Printers that render text using device fonts store the character data in the printer or in a font cartridge. (The character data for a Windows font is stored on disk.) Printers render text faster with device fonts because the bitmap or vector data is device resident and does not require downloading from the disk to the printer.

Note  The sample in this section displays a Roman 12-point device font file for the Diconix 150 Plus printer. No sample is provided for the HP LaserJet IIP.

When you finish entering data in the PFM dialog box:

Font Type

The Type control contains the decimal representation of a 16-bit flag. The following list describes the significance of the bits in this flag. Bit 15 is the high-order bit of the high byte; bit 0 is the low-order bit of the low-order byte.

Bit

Description

0

Specifies a scalable font, if set. Otherwise, the font is a bitmap font.

1

Reserved; must be zero.

2

Specifies that character data is stored at the location specified BitsOffset if set. Otherwise, the character data appears immediately after the header information. (This bit is only valid for font files that contain bitmap data.)

3-6

Reserved; must be zero.

7

Specifies a device font, if set. Otherwise, the font is a GDI font.

8-15

Reserved; must be zero.

Note  RasDD does not support scalable device fonts, so the Type value must be set to 128 for all device fonts.

Diconix 150 Plus: Set the Type value to 128 for all device fonts. The only bit set for any of the Diconix device fonts is bit 7, whose value is 128. The device fonts are bitmapped fonts; bit 0 is not set. Bit 1 is reserved and is set to 0. Because the PFM file describes a device font and bitmap character data is not in the PFM file, bit 2 is not set. Bits 3 through 6 are reserved and are set to 0.

Point Size

The Points control contains the point size for the font. The point size is determined by measuring the vertical distance from the bottom edge to the top edge of a character cell for a font. Specify the value in printer points; each printer point is equivalent to approximately 1/72 of an inch.

Note  Most applications do not use this box to display point sizes to the user because fractional point sizes cannot be expressed. Most applications calculate point size as the sum of the value of the PixHeight and Internal Leading controls in the PFM dialog box.

Diconix 150 Plus: Use 10 for the point size.

Vertical Resolution

Most printer manufacturers digitize their fonts at the highest resolution supported by the printer. The VertRes control contains the vertical resolution that the printer manufacturer used to digitize a font. Specified this value in dpi.

Diconix 150 Plus: The fonts are digitized at a vertical resolution of 96 dpi. Use 576 to prevent confusion with calculations between master units for the minidriver, and the units for values in the PFM files.

Horizontal Resolution

The HorzRes control contains a horizontal resolution value that the printer manufacture used to digitize a font.

Diconix 150 Plus: The fonts are digitized at a horizontal resolution of 320 dpi.

Ascent

The Ascent control specifies the distance from the baseline to the top of a character cell. Specified the value in vertical-resolution units.

Diconix 150 Plus: This distance is 7.25 printers points or 58 dpi.

Internal Leading

The Internal Leading control specifies an amount of space reserved in each character cell for accent characters and so on. For most 9- and 24-pin printers, this value is 0. (The point size specified by most applications is the sum of the PixHeight control value and the Internal Leading value.)

Note  Some of the PFM files supplied by Microsoft reflect values compatible with earlier versions of Windows-based printer drivers. For example, Epson and IBM printers have values that are not listed here. However, for recently created drivers, font metric values should reflect how the printer produces device fonts.

Diconix 150 Plus: Use 0 for this value. The device fonts for the Diconix do not support internal leading.

External Leading

The External Leading control specifies the amount of space placed between two rows of text printed using a particular font. Most dot-matrix printer manufacturers suggest printing device fonts at 6 lines to the inch. The External Leading value is increased or decreased to the sum of PixHeight control value added to the External Leading meet value.

Diconix 150 Plus: Use 2 printer points or 16 master units.

Italic Fonts

The Italic control indicates whether the PFM file contains data for an italic font. Use 1 if the font is italic or 0 if it is not.

Diconix 150 Plus: Use 0 (the example font is not italicized).

Underline Fonts

The Underline control indicates whether the PFM file contains data for an underlined font. Use 1 if the font is underlined or 0 if it is not..

Diconix 150 Plus: Use 0 (the example font is not underlined).

Strikeout Fonts

The Strikeout control indicates whether the PFM file contains data for a strikeout font. Use 1 if the font is a strikeout font or 0 if it is not.

Diconix 150 Plus: Use 0 (the example font is not a strikeout font).

Font Weight

The Weight control specifies the relative density or weight of characters rendered using the font. Valid weights can range from 100 to 1000 using increments of the value 100. Specify 400 for normal weight, 700 for bold, and so on. Weights must be a multiple of 100 to be valid.

Diconix 150 Plus: Use 400. The bitmaps for the example font render normal characters.

Character Set

The Char Set control identifies the character set associated with a font. This value is:

Whenever possible, a minidriver is recommended to support the Windows ANSI character set.

Diconix 150 Plus: Use 0 because the Diconix device fonts use the Windows ANSI character set.

Pixel Width

The PixWidth control specifies the character width for fixed-pitch raster fonts. Specify this value using the horizontal-resolution units (for a variable-width device font, this value is 0).

Diconix 150 Plus: Use 57.

Pixel Height

The PixHeight control specifies the character height of fixed-pitch device fonts. Specify this value using vertical-resolution units.

Diconix 150 Plus: Use 80.

Pitch and Family

The Pitch and Family control contains an integer value that corresponds to a 16-bit binary value. To set this value, click the ? button to display the Font Pitch and Family dialog box. Indicate whether the font is fixed pitch or variable (proportional) spaced. Then, click the Family value to indicate which screen font Windows displays for this device font and click OK.

Diconix 150 Plus: 16 is displayed if the Pitch is Fixed and the Family is Roman.

Average Width

The Average Width control specifies the average character width for proportionally spaced and fixed-pitch fonts. If the font is proportionally spaced, Unitool calculates this value based on the information entered in the font-width table. For a fixed-pitch font, enter this value (equivalent to the width of each character).

Diconix 150 Plus: Use 57.

Maximum Width

The Max. Width control specifies the width of the widest character in a font. For fixed-pitch fonts, this is equivalent to the value specified in the Average Width control. For proportionally spaced fonts, Unitool calculates and inserts this value using values from the character-width table.

Diconix 150 Plus: Use 57.

First Character

The First Char control identifies the ASCII decimal value for the first character in a font’s character set.

Diconix 150 Plus: Use 32, which corresponds to the space character.

Last Character

The Last Char control identifies the ASCII decimal value for the last character in a font’s character set.

Diconix 150 Plus: Use 126, which corresponds to the tilde (~).

Default Character

The Default Char control identifies the character that Windows renders when a character outside the range defined for First Char through Last Char is requested. This value is a zero-based offset from the first character identified in the Default Char control.

Diconix 150 Plus: Use 14, which corresponds to the period (.).

Break Character

The Break Char control identifies the character used to define word breaks. This value is a zero-based offset from the first character identified in the First Char control.

Diconix 150 Plus: Use 0, which corresponds to the space character.

Bitmap Width

The Width Bytes control specifies the width in bytes of each row of pixels for characters in a raster font. This value is only required for PFM files that contain bitmapped font data.

Diconix 150 Plus: Use 0.

Device Name

The Device Name control specifies the name of the printer.

Diconix 150 Plus: Use the string, Diconix 150 Plus.

Face Name

The Face Name control specifies the font name. If a printer supports multiple fonts with the same font name and point size, but with different pitches, the string also contains the pitch value. Pitch values should be expressed in terms of characters-per-inch (cpi). The font name in a minidriver must be unique.

Diconix 150 Plus: Use the string, Roman(12cpi).

Device Font Character Widths Dialog Box

If the Pitch and Family value indicates that the PFM file for a variable-pitch device font is to be edited, click the FontWidth button to display the Device Font Character Widths dialog box. (If fixed-pitch fonts are used, this box is not active.) Then, enter the values for the widths of each character that falls between the First Char and Last Char ASCII character values. The widths are expressed in horizontal resolution units. If the font uses a CTT, the widths entered reflect the widths of the characters the printer actually produces. Click OK when complete to return to the PFM dialog box.

Extended Text Metrics Dialog Box

This information is used only by applications that specifically request it from the minidriver. To edit values for extended text metrics:

Extent Table Dialog Box

The Extent Table dialog box specifies the width of each character in a scalable font. To edit the extent table values:

Kern Pairs Dialog Box

This information is used only by applications that specifically request it from the minidriver. To edit kerning-pair values:

Kern Tracks Dialog Box

This information is used only by applications that specifically request it from the minidriver as follows:

Driver Information

The DriverInfo group box at the bottom of the PFM dialog box contains the printer commands that select and cancel the selection of the font as well as additional data that some printers require to render text with a specific font.

Font Selection

The Font Select command selects a particular font.

Diconix 150 Plus: Use the Elite Mode On command (ESCM) to select 10-point and 12-pitch Roman font.

To specify the command, type the following in the Font Select box:

\x1BM
 

Note  Depending on the printer model, font selection commands can require a combination of printer commands to select the desired font.

Canceling Font Selection

The Font UnSelect command cancels a font selection. For printers that have no x-cursor movement command and rely on the width of the space character to perform horizontal movement, this command selects the font or pitch that causes the printer to move the desired amount for a space character. This command is also required if a printer’s font selection command enables attributes that cannot be disabled by a subsequent font select command or inhibit the use of other commands used in the driver.

Diconix 150 Plus: There is no command that cancels the selection of the default font when the printer’s switches are set to the factory default. The Font UnSelect box is empty.

Note  Depending on the printer model, font selection commands can require a combination of printer commands to select the desired font.

Vertical Adjustments

The Y Moved and the Y Adjust controls contain vertical offsets required to align a font baseline with the GDI baseline. If these baselines differ, Windows shifts the font baseline by the Y Adjust value prior to rendering text. After the text is rendered, Windows shifts the font baseline back to the proper position using the Y Moved value. Typically, it is not necessary to adjust the Y position for device fonts.

Diconix 150 Plus: Use 0.

Private Font Data

The Private Data control provides a means of storing 16-bits of private data. If a minidriver provides a private function (or private functions) for processing device fonts, it can store data used by these functions using this control.

Diconix 150 Plus: Use 0.

Font Type

The Font Type control specifies the type of scalable font technology the printer uses. It can be one of these values:

Value

Meaning

DF_TYPE_HPINTELLIFONT

HP Intellifont fonts. This is the default value.

DF_TYPE_TRUETYPE

TrueType fonts

DF_TYPE_PST1

not currently supported

DF_TYPE_CAPSL

not currently supported

DF_TYPE_OEM1

not currently supported

DF_TYPE_OEM2

not currently supported

Character Shift Amount

The Shift control specifies a horizontal distance in horizontal-resolution units. This distance is an offset that RasDD uses to shift individual characters from a particular font. This distance is required for fonts with characters that are not centered in the bounding box. RasDD uses a negative shift value to shift characters to the right, and a positive shift value to shift characters to the left. Shift amounts are used when characters do not fall in the center of the bounding box defined by font metrics.

Diconix 150 Plus: Use 0.

Character-Translation Table

The Trans Tab control identifies the CTT associated with a font. A CTT provides a method of remapping the extended characters used for device fonts to the Windows ANSI set. In the Trans Tab control, negative values identify predefined translation-tables, and positive values identify minidriver-defined translation tables. A value of zero indicates that the CTT is identified in the minidriver’s model data. For more information about character-translation tables (CTTs), see Character-Translation Table.

Diconix 150 Plus: Use 0 because the font uses the CTT specified in the ModelData dialog box.

Font Simulation Capabilities (fCaps) Dialog Box

This dialog box is not currently used since the Windows NT GDI performs font simulation.

Diconix 150 Plus:

For the Diconix 150 Plus printer, all font simulations are supported; therefore, none of the checkboxes were selected.