Font Edit Commands

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.

Changing the Font Itself

The following commands change the font itself, modifying not only the insides of character.

File->Font Edit->Properties

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.

File->Font Edit->Copy Properties

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.

File->Font Edit->Layout Font

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.

File->Font Edit->Kern

Kerning is explained in the section on Kerning. The Kern command is described there, as well.

Changing All Characters Consistently

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.

File->Font Edit->Change Bases

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.

File->Font Edit->Change Widths

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: 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.

File->Font Edit->Align Bases

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).

File->Font Edit->Scale Font

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.

File->Font Edit->Rotate Font

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.

File->Font Edit->Skew Font

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.

File->Font Edit->Mirror Font

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.

File->Font Edit->Integer Coordinates

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.

Font Properties

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

File Name

The File Name is the font file name, including the file path. The file name can only be changed with the File->Rename command.

Font Name

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).

Long Name

The property Long Name will hold the full name of the font (up to 64 characters).

Font Family

The property Font Family will hold the name of the family to which the font belongs (up to 64 characters).

Font Number

A font may be given an identifying number with Font Number.

Font Foundry

The company or place where the font was produced may be set with the Font Foundry property.

Font Weight

The font weight is set with the property Font Weight. The possible values are as follows:

Font Width

The font width is set with the property Font Width. The possible values are as follows:

Font Style

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.

Other Font Style

If Font Style is set to Other, then the font style can be described with the textual property Other Font Style.

Font Version

The font version can be described with the property Font Version. This is a textual field, and can contain any desired information.

Creation Date

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.

Last Modification

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.

Default Encoding

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 Encoding Name

If Default Encoding is set to Other, then an encoding name can be entered into the property Other Encoding Name.

Copyright Note

A short copyright note of up to 128 characters can be added to the font with the Copyright Note property.

Copyright Statement

A detailed copyright statement can be added with the Copyright Statement property. The maximal length is 1024 characters.

Type

The font type (Raster or Curve) is shown here.

Modified?

If the font was modified after last being saved, Yes is displayed, otherwise No.

Origin

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.

Converted for Resolution

On scan-converting curve fonts into raster fonts, the intended resolution is saved in the font. It is displayed here.

Conversion Scale Factor

On scan-converting curve fonts into raster fonts, the scale factor is saved in the font. It is displayed here.

Point Size

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=.

Design Size

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.

Horizontal Threshold, Vertical Threshold, at Resolution

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.

Heights and Depths, Bearings, Italics Angle

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.

Underline Thickness

The underline thickness is defined with the property Underline Thickness.

Paint properties

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.

Laying Out a Font

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
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:

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.

Layout->Copy Entry

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.

Layout->Copy Next Entry

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).

Layout->Copy Adjacent Entry

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.

Layout->Delete Entry

Delete Entry deletes the character in the current destination position.

Layout->Delete Adjacent Entry

Delete Adjacent Entry deletes the character in the position after the desination position, and makes this position the new destination position.

Layout->Get Deleted Entry

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.

Layout->Append Page

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.

Layout->Show Changes

Show Changes highlights all those characters in the current font which were modified ever since the font was loaded or created.

Layout->Hide Changes

Hide Changes cancels the effect of the Layout->Show Changes command; changes are not marked any more.

Layout->Copy Entry Bearings

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).

Layout->Copy Entry L-Bearing

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).

Layout->Copy Entry R-Bearing

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).

Layout->Exit Layout

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.

Multiple Masters

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
Selecting a master


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.

File->Master->New Master

A new, empty, master is created for the current font with the New Master command. This master becomes the current master.

File->Master->Copy 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.

File->Master->Delete Master

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.