FontInfo Version 2.0 Help - 2003-08-03

English   German

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

Usage

List Of Installed Fonts

List
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

Table Of Font Properties

Table
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/Fixed Raster font with fixed pitch
Raster/Variable Raster font with variable pitch
Vector/Fixed Vector font with fixed pitch
Vector/Variable Vector font with variable pitch
TrueType/Fixed TrueType font with fixed pitch
TrueType/Variable TrueType font with variable pitch
The table can be sorted by font type (s. Functions).

Character Table

Character Table
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.

Clipboard Edit

Clipboard Edit
This edit can be used as clipboard or preview of any text to be displayed with the current font.
Functions
Menu File
File -> Open  Open...
A dialog window will be opened to load a text to the clipboard edit.
File -> Save  Save...
A dialog window will be opened to save the contents of the clipboard edit.
File -> Exit  Exit...
FontInfo will be closed.
Menu Edit
Edit -> Cut  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.
Edit -> Copy  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.
Edit -> Delete  Delete
The selected text in the clipboard memo*) is deleted.
*) This function is not available, if the character table is focussed.
Edit -> Paste  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
Font -> Select Select...
Select the current font in a common font dialog.
Font -> Bold Bold
Toggles bold font style on or off.
Font -> Italic Italic
Toggles italic font style on or off.
Font -> Height  Submenu Height
Font -> Minimum Minimum
Sets the size of the current font to minimum (5 Px).
Font -> Decrease large Decrease large
The size of the current font is decreased by 10 Px.
Font -> Decrease Decrease
The size of the current font is decreased by 1 Px.
Font -> Increase Increase
The size of the current font is increased by 1 Px.
Font -> Increase large Increase large
The size of the current font is increased by 10 Px.
Font -> Maximum Maximum
Sets the size of the current font to maximum (256 Px).
Font -> Sort  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.
Font -> Load font 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.
Font -> Save font marks  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.
Font -> Copy character 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
Options -> Language  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.).
Options -> View  Submenu View
Options -> View -> List List of installed fonts
The list of installed fonts will be displayed or hidden.
Options -> View -> Table Table of font properties
The table of font properties will be displayed or hidden.
Options -> View -> Character table Character Table
The character table will be displayed or hidden.

How To Support Additional Languages

Please follow the instructions step by step.

Step 1
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.

Step 2
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.

Step 3
Translate the texts in the created language resource file (xx.ini).

Step 4 (optional)
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).

Step 5 (optional)
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.


Appendix 1: Font Properties (sorted by identifier) (sorted by description)

Illustration 1: Measures at characters
Illustration 1: Measures at characters
A=Ascent (Upper height) D=Descent (Lower height) E=ExternalLeading (External leading) H=Height (Height) I=InternalLeading (Internal leading) S=Size (Size)

Font Properties (sorted by identifier)
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


Font Properties (sorted by description)
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.
Escapement
Orientation (LogFont.lfOrientation) (not displayed)
This is the angel [1/10°] between the text base line and the x-axis of the display device.
Orientation
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.
ANSI Character Set
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".
OEM Character Set
RUSSIAN  (Windows 95)
SHIFTJIS
SYMBOL
This is the standard Windows symbol font.
Symbol Character Set
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)
Pitch FIXED
VARIABLE  Variable character width (proportional)
Pitch VARIABLE

The value also specifies the family, to request a font by a general description type.
DECORATIVE   Novelty fonts, e.g. Old English.
Family DECORATIVE
DONTCARE   Unknown or unimportant.
MODERN   Fonts with constant stroke width with or without serifs.
Family MODERN
ROMAN   Fonts with variable stroke width and with serifs.
Family ROMAN
SCRIPT   Fonts looking like handwriting.
Family SCRIPT
SWISS   Fonts with variable stroke width and without serifs.
Family SWISS
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
Size 24 Pt
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.
Overhang
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)

Appendix 2: Raster And Vector Fonts

Raster Fonts
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".

Vector Fonts
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.


Appendix 3: Measurements

Point [Pt]
Dots [Px]
Pica [Pica]
Dots per inch [dpi]
Characters per inch [cpi]
Font Size Names
Point [Pt]
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.

Dots [Px]
The extent of one dot depends on the display device.
The abbreviation of this unit is "Px" from "pixel" for "picture element".

Pica [Pica]
This unit is especially used when printing.
One Pica measures 12 point (4,23 mm).

Dots per inch [dpi]
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".

Characters per inch [cpi]
This measurement is used for specification of the font of typewriters.
Often a size of 10 or 12 cpi was used for typewriters.

Font Size Names
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


Quellenangaben

[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