These commands operate on fonts as entities rather than on individual
characters.
These commands are grouped in two; one group changes the font itself,
and one group changes all the characters in a font consistently.
The following commands change the font itself, modifying not only
the insides of character.
The Properties command is used to display and update the
font properties (such as the font name and the point size)
in the font properties pop-up window.
All the font properties
can be copied from another font into the current
font with the Copy Properties command.
The user selects, from the Fonts menu, the font from which the properties
are to be copied.
Characters within a font can be moved around or deleted or
sequences of characters can be copied with the Layout Font command.
For its detailed description see the section on
Laying out a Font.
Kerning is explained in the section on Kerning.
The Kern command is described there, as well.
Sometimes it is desirable to change all the characters within a font
in a consistent way.
For example, one may want to make the font oblique by skewing all
characters in the font by the same angle.
(For single characters this is done with the Transform->Skew command.)
All of these commands operate on the current font, and are
applicable to both curve and raster fonts.
Each of these command pops up a window in which the parameters for the
command are set.
The command is aborted by clicking the left mouse button at the Abort
button.
It is executed by clicking the
left mouse button at the Execute button.
If a character of the font is presently loaded as the current character,
the user is prompted with a pop-up confirmer window to verify the command.
The base points of all characters can be moved by a certain amount
with the Change Bases command.
The horizontal offset is specified with Base point X increment,
and the vertical offset is specified with Base point Y increment.
Values of 2 and 3, for instance, will cause
the base point of all characters
in the font to be moved 2 units to the right and 3 units up.
Values of 4 and -5 will cause the base point to be moved four units to the
right and five units down.
The Change Widths command serves for two different purposes.
If the Change Width option is set to Fixed,
a fixed width is assigned to all the
characters, i.e. the font will become monospaced.
The width to be assigned is specified with New Width.
Its value gets preset with the maximal character width in the font,
but can be changed to any nonnegative value.
The character width change can be performed
at the right of the character, at the left of the character,
or equally at both sides of the character.
This is determined with Change character box width at,
the possible values of which are:
- Left end
- Right end
- Both ends (default)
In the latter case,
the character effectively remains centered with respect to its neighbors
in a print line.
The width of all characters can also be changed by adding/subtracting
a certain amount or a certain percentage.
If Change width is set to Change in units,
the specified number of units is added to all character widths
(or subtracted from all character widths if this value is negative).
For instance, a value of -1 causes all widths to be decreased by one
unit.
If Change width is set to Change in %,
the widths are increased by the specified percentage
(or decreased if this value is negative).
For instance, a value of 10 will cause all widths to be increased
by 10%.
The extra width can again be added at the left, at the right,
or at both ends of each character, as specified by
Change character box width at.
base points for different characters within a font usually reside
at different positions. It is sometimes desired to shift the characters
within their coordinate system such that all base points
are at the same location.
This is accomplished with the Align Bases command.
The user specifies the desired base point coordinate values
with Base point X and Base Point Y.
These coordinates are preset as follows: For a raster font, this is the
minimal amount necessary such that no black pixel gets lost in any character.
No smaller value is allowed for a raster font.
For a curve font, this is the minimal value, rounded to an integer,
that causes the curves in all characters to be nonnegative (i.e. the
character will not extend to the left or above
the character window if loaded).
To scale (enlarge or shrink) all characters in a font consistently,
the Scale Font command is used.
The characters are scaled uniformly, i.e. the same scale factor is used
for the horizontal and vertical direction,
if Scaling hor/vert is set to Uniform.
In this case, all characters are scaled by the factor specified with
the Uniform scale factor setting.
(If this factor is larger than 1, the characters becomes larger; if the
factor is smaller than 1, the characters become smaller).
The characters are scaled non-uniformly, i.e. with
different scale factors, in the horizontal and vertical direction,
if Scaling hor/vert is set to Non-uniform.
In this case, two scale factors are used,
Horizontal scale factor for widening or narrowing the characters,
and Vertical scale factor for enlarging or reducing the character heights.
All the characters in a font are rotated by the same angle with the command
Rotate Font.
The location of the rotation center is determined as follows:
The x coordinate of the rotation center is in the middle of the
character box, i.e. half way between the base point of this character
and (base point + width),
i.e. the position of the next character on the print line.
The rotation center y coordinate must be supplied by the user in the
Rotation center Y setting.
This value will typically be the vertical center of the character box
(in the middle between the highest ascender and the lowest descender).
The default value is zero. This will cause each character to be
rotated around the midpoint between the base point and
(base point + width).
The (counter-clockwise) rotation angle is specified with Rotation angle.
For curve fonts, any value between 0 and 360 degrees can be specified.
For raster fonts, the Rotation angle is one of 0, 90, 180, or 270 degrees.
The default angle is zero, i.e. no rotation takes place.
All characters in a font can be skewed (slanted, made oblique)
by the same angle with the Skew Font command.
Skewing is either horizontal or vertical, as specified
with Skewing direction. Its default setting is Horizontal.
The (counter-clockwise) skewing angle is specified with
Skewing angle. This angle must be between -45 and 45 degrees.
The default angle is zero, i.e. no skewing takes place.
For example, a horizontal skewing direction and a skewing angle of -10 degrees
will cause all characters in the font to be slanted to the right by
10 degrees.
The Mirror Font command causes all the characters within a font to
get replaced by their mirror images.
Mirroring can either be Horizontal or Vertical, as specified with
Flipping Direction. The default is Horizontal.
Horizontal flipping causes the character to get mirrored around the
center line between the base point and
(base point + width).
Vertical flipping requires an additional input: the y
coordinate of the mirror position. A good position is often the
vertical center of the character box
(in the middle between the highest ascender and the lowest descender).
The default value is zero. This will cause each character to be
mirrored around the base line.
The Integer Coordinates command applies to curve fonts only.
It will round each end point coordinate in the current font
to the nearest integral value.
Control points will be moved in synchronization
with their neighboring end points, in order to preserve slopes.
The Properties command is used to display and update
font properties, such as the font name and the point size.
First, the font properties pop-up window is displayed.
An example font properties window is shown in the next figure.
The Font Properties window |
Those properties that can be changed by the user are marked with a
colon (':'). First, the user selects the corresponding item
(or repeatedly hits RETURN until the corresponding item is reached).
The item is then changed by entering text from the keyboard.
Properties not marked with a colon serve only to inform the user
and cannot be changed with the Properties function.
The command is completed by clicking the left mouse button over the
OK button.
Clicking the
left mouse button over the Abort button leaves all font properties
unchanged.
The File Name is the font file name, including the file path.
The file name can only be changed with the File->Rename command.
Independently of the file name,
a font may be given a short name which is stored inside the font;
the property Font Name will hold that name (up to 16 characters).
The property Long Name will hold the full name of the font
(up to 64 characters).
The property Font Family will hold the name of the family to which
the font belongs (up to 64 characters).
A font may be given an identifying number with Font Number.
The company or place where the font was produced may be set with the
Font Foundry property.
The font weight is set with the property Font Weight.
The possible values are as follows:
- Undefined
- Ultralight
- Extralight
- Light
- Semilight
- Medium
- Semibold
- Bold
- Extrabold
- Ultrabold
The font width is set with the property Font Width.
The possible values are as follows:
- Undefined
- Ultracondensed
- Extracondensed
- Condensed
- Semicondensed
- Normal
- Semiexpanded
- Expanded
- Extraexpanded
- Ultraexpanded
The font style is set with the property Font Style.
The possible values are as follows:
If Font Style is set to Other, then the font style can
be described with the textual property Other Font Style.
If Font Style is set to Other,
then the font style can be described with the textual property
Other Font Style.
The font version can be described with the property Font Version.
This is a textual field, and can contain any desired information.
The creation date of a font is inserted into the font automatically,
but may be modified here. The date format is
dd mmm yy
where dd and yy are the day and year numbers,
and mmm are the first three letters of the month name.
The last modification date of a font is inserted into the font automatically.
but may be modified here. The date format is
dd mmm yy
where dd and yy are the day and year numbers,
and mmm are the first three letters of the month name.
The encoding of the font is described with the property Default Encoding.
Note that this entry has no influence on
converting fonts to external formats.
The possible values are as follows:
- Other
- AdobeStandardEncoding
- ISOLatin1Encoding
- Mac Encoding
- F3Encoding
- Ikarus Encoding
If Default Encoding is set to Other,
then an encoding name can be entered into the property
Other Encoding Name.
A short copyright note of up to 128 characters
can be added to the font with the Copyright Note property.
A detailed copyright statement can be added with the Copyright Statement
property.
The maximal length is 1024 characters.
The font type (Raster or Curve) is shown here.
If the font was modified after last being saved, Yes is displayed,
otherwise No.
For a font created with TYPO, Edited is displayed.
Converted indicates that the
font was generated by one of the
TYPO conversion programs
or was automatically converted to TYPO format while opened.
Scan-Converted indicates that the raster font was converted from a
TYPO curve font.
On scan-converting curve fonts into raster fonts, the intended resolution
is saved in the font. It is displayed here.
On scan-converting curve fonts into raster fonts, the scale factor
is saved in the font. It is displayed here.
The Point Size is the Em-size
(number of TYPO units per character body height)
at which the font was actually generated.
For instance, a curve font with an
Em-size of 1000 TYPO points should be given a Point Size of 1000.
The point size of the font, to which the current character belongs,
is displayed in the
Character Properties Window, preceded by S=.
The Design Size is the intended size at which the font will
ultimately be printed or displayed.
For instance, if the font was designed for a print size of
ten points, its Design Size will be 10.
The Threshold properties define the threshold point
sizes (relative to the specified device resolution) for
tied points (see Hint->Tie Stem and Hint->Tie Beam).
The threshold values are relative to the indicated device resolution.
If the actual device resolution at print time is different from
this value, the threshold point sizes get adjusted accordingly.
For example, if the threshold point size is specified as
ten points at 300 dots/inch, and the actual resolution is 600 dots/inch,
then the actual threshold point size will be five points.
The various heights, depths, and bearings, which are defined with
guide lines, are displayed here.
The italics angle is displayed as well.
To change these properties, the corresponding
guide lines should be changed.
The underline thickness is defined with the property Underline Thickness.
Characters in curve fonts can be filled, stroked, or filled and stroked
in several different ways, as described in the section on
Painting Curve Characters.
A default paint mode and default paint options
for the whole font are specified with Paint Mode.
Individual painting for characters or parts of characters can
be changed from the default with Edit->Paint/Fill.
The possible values for Paint Mode, as well as the other options
which apply for painting, are explained in the section on
Painting Curve Characters.
Characters within a font can be moved around or deleted, or
sequences of characters can be copied
with the File->Font Edit->Layout Font command.
This command pops up the Font Window.
Moreover, a source font can be specified, from which
characters can be copied into the current font.
If no source font has been specified, the destination font is also the
source font.
An example Font Window can be seen in the following figure.
A Font Window |
The user is asked to select the source font from the
Active Fonts menu.
If the middle mouse button is clicked instead, the destination
font is used also as the source font.
The font window contains the following items:
- A line for error messages
- A line to display messages which guide the user through the commands
- A line containing the Operations menu header,
the mode of presentation, the
OK button and the Cancel button,
- The listing of the source font with a scroll bar, headed by its name
- The listing of the target (i.e. the current) font with a scroll bar,
headed by its name
The mode of presentation contains a choice of three values;
Glyphs, Names, and Font Positions.
Font Positions displays ASCII symbols (or decimal codes for
nonprintable characters)
to denote the occupied font positions,
whereas Glyphs uses the character images in the font,
and Names uses the character names in the font.
Font Positions or Names will typically be used for raster fonts
with characters too large to be meaningfully displayed on a 32 by 46
rectangle, or for curve fonts containing many complicated glyphs
(displaying the glyphs may sometimes be rather slow or incomprehensible
in this case).
Commands are issued by choosing from the Operations menu.
This menu can be popped up by depressing the right mouse button
anywhere on the font window (except over one of the buttons).
The Edit->Again key
is also applicable in the font window; it repeats the last
Operations command.
The user can select a sequence of characters (possibly only a single character)
in the source font, i.e., the font shown on the left, and a
by selecting a single character position
in the destination font, i.e., the font on the right.
We refer to these selections as the source and the desination
positions, for short.
Copy Entry copies the characters in the source from the source font
to the destination font, beginning at the destination position.
If any characters were to be
overwritten by the operation, the user is prompted for
a confirmation.
The appropriate glyphs (or character names/character positions) on the screen
are updated as well, and the last copied character
becomes the new destination position.
Copy Next Entry looks for the next character
after the source position.
This character becomes the new source position.
Let the distance between these positions be d.
The new destination is then d positions after the
currently selected one.
The new source character is copied into the new destination position.
Both the new source and destination positions
are marked as selected (instead of the old positions).
Copy Adjacent Entry
looks for the next character after the present source position
and makes it the new source position.
The character in this position will be copied to the
new destination position,
which immediately follows the previous destination position.
Delete Entry deletes the character in the current destination
position.
Delete Adjacent Entry deletes the character in the position after
the desination position, and makes this position the new
destination position.
Get Deleted Entry gets the last previously deleted character
in this Layout session
(whether explicitly by any of the Delete Entry commands, or implicitly by
an overwriting Copy Entry command),
and puts it in the destination position.
That position must be empty.
Append Page appends a new page right after the currently shown page
in the destination font.
The position of the first character on the new page will be one larger
than that of the last character of the currently shown page.
If that position exists already, no page is appended.
The new page will be displayed.
For example, if the currently shown page is the first page of the font
(positions 0-255), the new page will begin with position 256.
Show Changes highlights all those characters in the current font
which were modified ever since the font was loaded or created.
Hide Changes cancels the effect of the Layout->Show Changes
command; changes are not marked any more.
The Copy Entry Bearings command copies both
the left and right bearings from the character in the source
position to that in the destination position
(see also the Metrics commands).
The Copy Entry L-Bearing command copies only the left bearing
from the character in the source
position to that in the destination position
(see also the Metrics commands).
The Copy Entry R-Bearing command copies only the right bearing
from the character in the source
position to that in the destination position
(see also the Metrics commands).
Exit Layout (or the OK button)
makes the changes permanent,
discards the font pop-up window and resumes normal TYPO operations.
To abort the changes introduced during this File->Font Edit->Layout Font
command, press the Cancel button.
Some fonts may actually consist of more than one font master.
For instance, the Adobe font Optima contains two masters; one
for high resolution printing with vertical shallow curves, and one
for low resolution printing with vertical straight lines.
TYPO fonts may contain an unlimited number of masters.
These are maintained with the Master set of commands.
One can see from the Fonts menu whether a font has multiple masters.
The menu entry
S OurFont
indicates that the curve font OurFont contains only one master;
i.e., it is a normal font.
The menu entry
S 2:OtherFont
indicates that the curve font OtherFont contains multiple masters.
The current master is master number 2. Masters are counted starting from one.
Most commands operate on the current master in the current font.
To choose a new current master (and maybe also a new current font),
first position the mouse over the
Fonts menu and depress the right mouse button.
This will pop up a menu containing all the font names.
Move the mouse over the desired font and drag the mouse to the
right. This will display a pop-up menu containing all the masters of that font.
Releasing the right mouse button over a particular master will make
that master the current master and its font the current font.
An example is shown in the next figure. The font narkissim.cf
contains two masters.
The first master will be chosen if the right
mouse button is released while the mouse is positioned over the second choice.
Selecting one of two masters |
The File->Font Edit->Layout Font and File->Font Edit->Kern
commands operate on the current master.
All other font commands operate on the whole font.
A new, empty, master is created for the current font with
the New Master command.
This master becomes the current master.
Copy Master creates a new master
for the current font that will be a copy of
some other master in some (maybe other) font.
The user chooses the master to be copied, in the Fonts menu.
Delete Master deletes the current master in the current font.
If that master is nonempty, the user will be prompted whether to really
quit it.