FontInfo Version 2.0 Help - 2003-08-03
FontInfo is a program to display a list of the installed fonts.
A text may be previewed in a clipboard memo.
Detailled informations about the font properties are displayed in a table.
The complete set of characters is shown in a table to select special or symbol
characters.
Contents
-
Usage
-
List Of Installed Fonts
-
Table Of Font Properties
-
Character Table
-
Clipboard Edit
-
Functions
-
-
Menu File
-
Menu Edit
-
Menu Font
-
Menu Options
-
How To Support Additional Languages
-
Appendix 1: Font Properties
-
Illustration 1: Font Size
-
Font Properties (sorted by identifier)
-
Font Properties (sorted by description)
-
Appendix 2: Raster And Vector Fonts
-
Appendix 3: Measurements
-
References

All installed fonts are displayed in alphabetical order.
The icon left to the name represents the font
type
*).
The current font is also used in the table of font properties, the
character table and the clipboard edit.
*) See next section

The current font can also be selected in this table.
The icon left to the name represents the font
type
*).
Displayed values for each font are independent of other properties like size
and style.
The table can be sorted by the values of the columns.
*) Following
font types are shown:

Raster font with fixed pitch

Raster font with variable pitch

Vector font with fixed pitch

Vector font with variable pitch

TrueType font with fixed pitch

TrueType font with variable pitch
The table can be sorted by font type (s.
Functions).

In this table all available characters of the current font are shown.
The selected character can be copied to the clipboard edit. The code of the
selected character will be displayed in the status line.
In the header rule on top of the character table values of the current font are
shown, which depend on other properties like size and style.

This edit can be used as clipboard or preview of any text to be displayed with
the current font.
Functions
-
Menu File
-
Open...
- A dialog window will be opened to load a text to the clipboard edit.
-
Save...
- A dialog window will be opened to save the contents of the clipboard
edit.
-
Exit...
- FontInfo will be closed.
-
Menu Edit
-
Cut
- The selected text from the clipboard
memo*) is copied to the system clipboard
and deleted in the clipboard memo.
*) This function is not available, if the
character table is focussed.
-
Copy
- If the character table is focussed, the selected character is copied to
the system clipboard, otherwise the selected text from the clipboard memo
is copied to the system clipboard.
-
Delete
- The selected text in the clipboard memo*)
is deleted.
*) This function is not available, if the
character table is focussed.
-
Paste
- The text from the system clipboard is pasted to the
clipboard edit*).
*) This function is not available, if the
character table is focussed.
-
Menu Font
-
Select...
- Select the current font in a common font dialog.
-
Bold
- Toggles bold font style on or off.
-
Italic
- Toggles italic font style on or off.
-
Submenu Height
-
-
Minimum
- Sets the size of the current font to minimum (5 Px).
-
Decrease large
- The size of the current font is decreased by 10 Px.
-
Decrease
- The size of the current font is decreased by 1 Px.
-
Increase
- The size of the current font is increased by 1 Px.
-
Increase large
- The size of the current font is increased by 10 Px.
-
Maximum
- Sets the size of the current font to maximum (256 Px).
-
Sort by font type
- The table of font properties is sorted by
font type.
The fonts are sorted by name, character set, familiy, pitch and marks.
-
Load font marks
- The font marks of the table of font
properties*) are loaded from a text
file.
*) This function is only available, if the
table of font properties is visible.
-
Save font marks
- The font marks of the table of font
properties*) are saved to a text file.
*) This function is only available, if the
table of font properties is visible.
-
Copy character
- The selected character will be copied from the character
table*) to the clipboard edit.
*) This function is only available, if the
character table is visible.
-
Menu Options
-
Submenu Language
- One of the supported languages can be selected in this submenu.
Additional languages can be added to this selection by translation
(see below.).
-
Submenu View
-
-
List of installed fonts
- The list of installed fonts will be displayed or hidden.
-
Table of font properties
- The table of font properties will be displayed or hidden.
-
Character Table
- The character table will be displayed or hidden.
Please follow the instructions step by step.
Open the initialization file of the application (
*.ini
).
In section
[Options]
edit the key
ExtraLanguages
:
Add an abbreviation
xx
conform to
ISO 639-1
*) for the new language, for
enumeration use commas.
*) This is only a suggestion.
Examples:
ExtraLanguages=xx
ExtraLanguages=aa,xx
Save the initialization file of the application.
Start the application.
Enter the name of the new language for all supported languages.
If unknown they can be edited later in the initialization file.
Stop the application.
Translate the texts in the created language resource file
(
xx.ini
).
A symbol can be added to be displayed in the main menu of the application.
Otherwise no symbol will be displayed.
Symbol files are managed in the subdirectory
\images
.
Required properties are:
Format Windows-Bitmap
(*.bmp)
Filename
xx.bmp
Size 16 x 16 Px.
Transparent color
clFuchsia (RGB 255/000/255)
.
You can translate the HTML help. If a translation is missing, the english
version will be displayed for the new laguage.
Create a copy of the file
"fontinfo.htm"
and append the language
abbreviation to the filename:
"fontinfoxx.htm"
.
Add links to the page you have translated in all existing help files.
You can add an icon for the link in the HTML help.
Required properties are:
Format "Compuserve Graphics Interchange Format"
(*.gif)
Dateiname
xx.gif
Größe 72 x 36 Px.
A
=Ascent
(Upper height)
D
=Descent
(Lower height)
E
=ExternalLeading
(External leading)
H
=Height
(Height)
I
=InternalLeading
(Internal leading)
S
=Size
(Size)
Ascent
Upper height
AveCharWidth
Average character width
BreakChar
Break character
CharSet (LogFont)
Character set
CharSet (TextMetric)
Character set
ClipPrecision
Clipping precision
DefaultChar
Substitute character
Descent
Lower height
DigitizedAspectX
Horizontal Digitalization
DigitizedAspectY
Vertical Digitalization
Escapement
Character angle
ExternalLeading
External leading
FaceName
Name of the font
FirstChar
First character
Height (LogFont)
Height
Height (TextMetric)
Height
InternalLeading
Internal leading
Italic (LogFont)
Italic
Italic (TextMetric)
Italic
LastChar
Last character
MaxCharWidth
Maximum character width
Orientation
Text angle
OutPrecision
Output precision
Overhang
Overhang
PitchAndFamily (LogFont)
Character pitch and
font family
PitchAndFamily (TextMetric)
Pitch and
font family
Quality
Quality
Size
Size
StrikeOut (LogFont)
Strike out
StruckOut (TextMetric)
Strike out
Underlined (LogFont)
Underline
Underlined (TextMetric)
Underline
Weight (LogFont)
Weight
Weight (TextMetric)
Weight
Width
Width
Average character width
AveCharWidth
Break character
BreakChar
Character angle
Escapement
Character set
CharSet (LogFont)
Character set
CharSet (TextMetric)
Clipping precision
ClipPrecision
External leading
ExternalLeading
First character
FirstChar
Height
Height (LogFont)
Height
Height (TextMetric)
Horizontal Digitalization
DigitizedAspectX
Internal leading
InternalLeading
Italic
Italic (LogFont)
Italic
Italic (TextMetric)
Last character
LastChar
Lower height
Descent
Maximum character width
MaxCharWidth
Name of the font
FaceName
Output precision
OutPrecision
Overhang
Overhang
Pitch an font family
PitchAndFamily (LogFont)
Pitch an font family
PitchAndFamily (TextMetric)
Quality
Quality
Size
Size
Strike out
StrikeOut (LogFont)
Strike out
StruckOut (TextMetric)
Substitute character
DefaultChar
Text angle
Orientation
Underlined
Underlined (LogFont)
Underlined
Underlined (TextMetric)
Upper Height
Ascent
Vertikal Digitalization
DigitizedAspectY
Width
Width
Weight
Weight (LogFont)
Weight
Weight (TextMetric)
Datastructure
LogFont
contains fields describing a virtual
font.
-
Height (LogFont.lfHeight)
(not displayed)
- This is the height of the font.
-
Width (LogFont.lfWidth)
(not displayed)
- This is the average width of the font.
-
Escapement (LogFont.lfEscapement)
(not displayed)
- This is the angel [1/10°] from the base line by which each character is
rotated.

-
Orientation (LogFont.lfOrientation)
(not displayed)
- This is the angel [1/10°] between the text base line and the x-axis of
the display device.

-
Weight (LogFont.lfWeight)
- This is the font weight, specified in blackened dots of thousand
[].
For some fonts the predefined weight differs from standard (400).
000 DontCare
Nothing specified
100 Thin
Thin
200 ExtraLight/ UltraLight
Very light
300 Light
Light
400 Normal/ Regular
Normal
500 Medium
Medium
600 SemiBold/ DemiBold
Semi bold
700 Bold
Bold
800 ExtraBold/ UltraBold
Very bold
900 Heavy/ Black
Black
-
Italic (LogFont.lfItalic)
- This value specifies a font predefined with italic style.
See also:
Italic (TextMetric.tmItalic)
-
Underline (LogFont.lfUnderline)
(not displayed)
- This value specifies a font predefined with underlined style.
See also:
Underlined (TextMetric.tmUnderlined)
-
StrikeOut (LogFont.lfStrikeOut)
(not displayed)
- This value specifies a font predefined with strike out style.
See also:
StruckOut (TextMetric.tmStruckOut)
-
CharSet (LogFont.lfCharSet)
- This value specifies the character set. It is important for the process
of associating a physical font to requested virtual font properties
(font mapping).
The follwing values are predefined. Fonts with other character sets may
exist depending on the operating system.
ANSI
- This is the standard Windows text font.
ARABIC
(Windows 95)
BALTIC
(Windows 95)
CHINESEBIG5
DEFAULT
(The font was only mapped by name and
size.)
EASTEUROPE
(Windows 95)
GB2312
GREEK
(Windows 95)
HANGEUL
HEBREW
(Windows 95)
JOHAB
(Windows 95)
MAC
(Windows 95)
OEM
(Operating system)
- This is the standard Windows font used to display MS-DOS text, a
character set with ASCII code.
It is different from ANSI set for characters with a code bigger than
127. In this area especially codes for nationalized characters are
stored, in ASCII there are also characters for block graphics. ASCII
Set also contains characters in the area of control codes (0-31).
Example: "Terminal".
RUSSIAN
(Windows 95)
SHIFTJIS
SYMBOL
- This is the standard Windows symbol font.
THAI
(Windows 95)
TURKISH
(Windows 95)
-
OutPrecision (LogFont.lfOutPrecision)
- This value specifies the output precision to control how exact the
output matches requested font properties as height, pitch etc.
CHARACTER
Not used.
DEFAULT
Standard font mapping behavior.
DEVICE
Font mapping prefers system fonts, if
several font with the same name are available.
OUTLINE
Windows NT: Font mapping selects a TrueType- or other outline
font.
Windows 95: Not used.
RASTER
Font mapping prefers raster fonts, if
several font with the same name are available.
STRING
This value is not used by font mapping,
but is always returned when enumerating raster fonts.
STROKE
Windows NT: This value is not used by font mapping,
but is always returned when enumerating TrueType-, outline or vector
fonts.
Windows 95: Font mapping selects a vector font. This value is
returned when enumerating TrueType- or vector fonts.
TT_ONLY
Font mapping selects only TrueType fonts.
If no such fonts are available standard mapping process is used.
TT
Font mapping prefers TrueType fonts, if
several font with the same name are available.
-
ClipPrecision (LogFont.lfClipPrecision)
- This value specifies the clipping precision to control how partially
hiddem characters are displayed.
DEFAULT
Standard clipping behavior.
CHARACTER
Not used.
STROKE
This value is not used by font mapping,
but is always returned when enumerating raster, vector or TrueType
fonts.
Windows NT: For compatibility this value is always returned when
enumerating fonts.
MASK
Not used.
EMBEDDED
This value has to be set to use an
embedded, read-only font.
LH_ANGLES
If this value is set, the rotation of
fonts depends on whether a left- or righthanded coordinate system is
used. If the value is not set, all system fonts are rotated
counterclockwise, all other fonts rotation depends on coordinate
system.
TT_ALWAYS
Not used.
-
Quality (LogFont.lfQuality)
- This value specifies the display quality to control how exact the
graphic device interface (GDI) has to match logical font properties with
a physical font.
DEFAULT
Quality does not matter.
DRAFT
Quality is less important than PROOF.
Raster fonts may be scaled. Bold, italic, underlined and struck out
font variants may be synthezised.
PROOF
Quality of single characters is more
important than matching other font properties.
Raster fonts may not be scaled. Bold, italic, underlined and struck out
font variants may be synthezised.
-
PitchAndFamily (LogFont.lfPitchAndFamily)
- This value specifies a font with either fixed or variable character
width.
DEFAULT
Not used.
FIXED
Fixed character width (typewriter font)

VARIABLE
Variable character width
(proportional)

The value also specifies the family, to request a font by a general
description type.
DECORATIVE
Novelty fonts, e.g. Old English.

DONTCARE
Unknown or unimportant.
MODERN
Fonts with constant stroke width with or without serifs.

ROMAN
Fonts with variable stroke width and with serifs.

SCRIPT
Fonts looking like handwriting.

SWISS
Fonts with variable stroke width and without serifs.

-
FaceName (LogFont.lfFacename)
- This is name of the font with a maximum length ot 31 letters.
-
Size (Font.Size)
- This values specifies the size of the font measured in Point [Pt].
See also:
Illustration 1: Font Size
Measurements: Point [pt]
Measurements: Font Size Names

The same character will be displayed with variable size, if different
fonts are used (24Pt at 300 dpi).
Data structure
TextMetric
contains fields to describe a physical
font.
-
Height (TextMetric.tmHeight)
- This value specifies the height of the font measured in dots [Px].
It is the total of upper and lower height.
See also:
Illustration 1: Font Size
-
Ascent (TextMetric.tmAscent)
- This value specifies the upper height of the font measured in dots
[Px]. This is the height above the base line of the font.
The sum of upper and lower height is the total height.
See also:
Illustration 1: Font Size
-
Descent (TextMetric.tmDescent)
- This value specifies the lower height of the font measured in dots
[Px]. This is the height below the base line of the font.
The sum of upper and lower height is the total height.
See also:
Illustration 1: Font Size
-
InternalLeading (TextMetric.tmInternalLeading)
- This value specifies the internal leading in dots [Px].
This is the white space inside of the font size, which is reserved for
accent and other diacritical signs.
See also:
Illustration 1: Font Size
-
ExternalLeading (TextMetric.ExternalLeading)
- This value specifies the internal leading in dots [Px].
This is the white space outside of the font size, which is inserted
between text lines.
See also:
Illustration 1: Font Size
-
AveCharWidth (TextMetric.tmAveCharWidth)
- This value specifies the average character width in dots [Px].
It is generally defined by the width of the character "x".
The value does not contain the overhang necessary for bold or italic
characters.
-
MaxCharWidth (TextMetric.tmMaxCharWidth)
- This value specifies the maximum character width in dots [Px].
-
Weight (TextMetric.tmWeight)
- This is the font weight, specified in blackened dots of thousand
[].
See also:
Weight (LogFont.lfWeight)
-
Overhang (TextMetric.tmOverhang)
- This value specifies the extra width in dots [Px], which will be added
for some sythezised fonts.
For bold sythezised fonts the character spacing will be increased and the
character will be overpainted with a certain offset, for italic fonts the
text will be sheared.
For bold fonts the value specifies the offset when overpainting, for
italic fonts how much the top of the cell rect is sheared against the
bottom.

-
DigitizedAspectX (TextMetric.tmDigitizedAspectX)
- Specifies the horizontal digitalization factor of the device in dots
per inch [dpi] the font was designed for.
-
DigitizedAspectY (TextMetric.tmDigitizedAspectY)
- Specifies the horizontal digitalization factor of the device in dots
per inch [dpi] the font was designed for.
The aspect ratio of the device can be calculated as quotient of the
horizontal and the vertical value.
-
FirstChar (TextMetric.tmFirstChar)
- This value specifies the code of the first character defined in the
font.
For fonts with the ANSI character set this is usually the character with
the code #0032, the space character.
Fonts with OEM character set start with character #0000.
-
LastChar (TextMetric.tmLastChar)
- This value specifies the code of the last character defined in the
font.
-
DefaultChar (TextMetric.tmDefaultChar)
- This value specifies the code of the substitute character in the
font.
-
BreakChar (TextMetric.tmBreakChar)
- This value specifies the code of the break character in the
font, used for text justification.
-
Italic (TextMetric.tmItalic)
- This value specifies an italic font.
See also:
Italic (LogFont.lfItalic)
-
Underlined (TextMetric.tmUnderlined)
- This value specifies an underlined font.
See also:
Underlined (LogFont.lfUnderlined)
-
StruckOut (TextMetric.tmStruckOut)
- This value specifies a struck out font.
See also:
StrikeOut (LogFont.lfStrikeOut)
-
PitchAndFamily (TextMetric.tmPitchAndFamily)
- This values gives information about character width, technology and
family of the font.
The font family value is the same as in the LogFont data structure.
FIXED_PITCH
This value indicates a font with variable (!) pitch.
Note that this is the opposite of the constant name.
VECTOR
Vector font
TRUETYPE
TrueType font
DEVICE
Device font
See also:
PitchAndFamily (LogFont.lfPitchAndFamily)
-
CharSet (TextMetric.tmCharSet)
(not displayed)
- This value specifies the character set.
See also:
CharSet (LogFont.lfCharset)
Characters are stored in a raster font as small bitmaps.
For each supported size an extra bitmap character set exists.
For fonts not supported the next smaller bitmap character set is selected and
only the line height increased.
Typical raster fonts are "MS Sans Serif", "MS Sans Serif" or "Terminal".
Bitmaps shown by vector fonts will be drawn when displayed according to the
requested size using drawing instructions. First a closed outline is drawn
and then filled with color.
For TrueType fonts additional instructions (hints) are possible to enhance
the displayed quality of fonts.
-
Point [Pt]
-
Dots [Px]
-
Pica [Pica]
-
Dots per inch [dpi]
-
Characters per inch [cpi]
-
Font Size Names
One point measures 1/72 inch, that is (25,4 mm / 72) = 0,352778 mm.
This is the standard unit used for specification of font size.
The extent of one dot depends on the display device.
The abbreviation of this unit is "Px" from "pixel" for "picture element".
This unit is especially used when printing.
One Pica measures 12 point (4,23 mm).
This unit measures the resolution of the display device.
The abbreviation of this unit is "dpi".
Windows always uses a resolution of 96 dpi with display modus "Small fonts"
or 120 dpi with "Large fonts".
This measurement is used for specification of the font of typewriters.
Often a size of 10 or 12 cpi was used for typewriters.
Some names are used for font sizes.
Perl
5 Pt
Perl
Nonpareille
6 Pt
Nonpareille
Kolonel (Mignon)
7 Pt
Kolonel (Mignon)
Petit
8 Pt
Petit
Borgis
9 Pt
Borgis
Korpus (Garmond)
10 Pt
Korpus (Garmond)
Cicero
12 Pt
Cicero
[1] Dokumentation des MS Windows Application Programmers Interface
(API)
[2] SelfHTML (HTML-Dateien selbst erstellen)
[3] rororo Lexikon, Taschenbuchausgabe
[4] Benutzerhandbuch zum MS TrueType-Schriftarten-Paket für
Windows