No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in
any form or by any means, electronic, mechanical, photocopying, recording, or otherwise,
without the prior written consent of the publisher. Any software referred to herein is furnished
under license and may only be used or copied in accordance with the terms of such license.
FontLab, FontLab logo, ScanFont, TypeTool, SigMaker, AsiaFont Studio, FontAudit and VectorPaint
are either registered trademarks or trademarks of FontLab, Ltd. in the United States and/or
other countries.
Apple, the Apple Logo, Mac, Mac OS, Macintosh and TrueType are trademarks of Apple
Computer, Inc., registered in the United States and other countries.
Adobe, PostScript, Type Manager and Illustrator are trademarks of Adobe Systems Incorporated
which may be registered in certain jurisdictions.
Windows, Windows 95, Windows 98, Windows XP and Windows NT are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other
countries.
IBM is a registered trademark of International Business Machines Corporation.
Macromedia, Fontographer and Freehand are registered trademarks of Macromedia, Inc.
Other brand or product names are the trademarks or registered trademarks of their respective
holders.
THIS PUBLICATION AND THE INFORMATION HEREIN IS FURNISHED AS IS, IS SUBJECT TO
CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY
FONTLAB, LTD.
FONTLAB, LTD. ASSUMES NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
INACCURACIES, MAKES NO WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY) WITH
RESPECT TO THIS PUBLICATION, AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF
MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT OF THIRD
PARTY RIGHTS.
User manual release 4.60 [8/2003]
2
C o n t e n t s
CONTENTS3
INTRODUCTION15
About this Manual16
System Requirements18
FONTLAB USER INTERFACE19
Basic Terms20
Getting Started24
Customizing FontLab’s User Interface26
Customizing Toolbars27
Customizing Menus29
Customizing Individual Items30
Converting a Menu to a Toolbar32
Customization of the Keyboard33
Links to External Programs35
Faster Method to Customize Commands36
FontLab Windows37
Font Window38
Glyph Window40
Metrics Window44
Contents
Panels48
EDITING FONTS51
Opening Fonts52
Font Formats55
Import Options56
Creating a New Font61
The Font Window62
Encoding Modes66
Characters, Codes and Glyphs67
Names Mode71
The Unicode Standard74
3
FontLab 4
Unicode Ranges75
Codepages78
Using the Font Window82
Navigating83
Selecting84
Context Menu85
Moving Glyphs88
Saving the Font90
Autosave92
Copying and Pasting Glyphs93
The Paste Special Command94
Copying Glyphs to Another Font95
Appending Glyphs to the Font96
Copying Composite Glyphs97
Duplicating Unicode Indexes98
Font Smoothing Control205
[head] Table Settings207
Basic PCLT options208
PCLT Identification209
PCLT Metrics and Font Description210
PCLT Codepages211
THE GLYPH WINDOW213
Glyph Window Contents214
The Glyphs Bar217
Selecting a Glyph for Editing219
Changing the View in the Glyph Window220
Quick Zoom Selection222
Tools and Operations224
Edit Mode226
Editing Layers228
Easier Way to Control Editing Layers231
Outline Layer232
Contours234
Outline Appearance240
FontAudit245
Moving Nodes248
Using the Keyboard251
Non-node editing252
Changing Connection Type254
Deleting Nodes255
Deleting Lines and Curves256
Eraser Tool257
Inserting Nodes258
Using the Drawing Tool259
Adding Points to a Contour261
Converting Primitives262
Breaking and Joining Outlines263
Node Commands264
Node Properties266
Previewing Glyphs268
Selections276
Using the Magic Wand Tool277
Moving the Selection278
Copying the Selection278
Transforming the Selection281
Selection Commands285
Selection Properties Panel286
Transformation Panel287
Find and Replace Operation289
Building an Outline From Blocks291
6
Contents
Outline Actions296
Creating Contours297
Merging and Intersecting Contours301
Outline Optimization302
Editing Mask315
Mask Operations316
Assigning a Mask317
Specifying Mask Appearance318
Template Layer320
Background Layer321
Background Positioning323
Hints And Links Layer324
Links325
Editing Hints326
Hints Tracking327
Editing Links328
Hint and Link Popup Menu329
Hint Commands330
Autohinting Options331
Hint Properties Panel333
Link Properties Panel333
Anchors Layer334
Moving Anchors335
Removing Anchors335
Renaming Anchors335
Changing Anchor Color335
Anchor Properties336
Using Anchors to Build Composites337
Using the Anchors Panel340
Creating Composites and Ligatures342
Aliases Table344
Vertical Metrics345
Alignment Zones346
7
FontLab 4
Sketch Mode347
Moving Points350
Changing Point Type350
Removing Points350
Inserting Points351
Reversing Contours351
Selecting Points352
Moving the Selection353
Transforming the Selection353
Selection Operations354
Breaking and Joining the Sketch Outline354
Converting to Outline355
VectorPaint Mode356
Freehand Select Tool358
Pen (Contour) Tool359
Brush Tool360
VectorPaint Options362
Line Tool363
Polygon Tool364
Ellipse and Rectangle Tools365
Text Tool366
Meter Mode367
Setting Guidelines, Anchors and Sidebearings369
Outline Operations370
Interpolation371
Envelope375
Curve378
Set379
Reversing a Contour’s Direction380
Rearranging Contours381
Working with Composite Glyphs382
Adding a Component383
Decomposing384
Component Positioning384
Component Properties387
Using the Primitives Panel388
Importing and Exporting Glyphs391
Printing a Glyph393
EDITING FONT METRICS395
What are Font Metrics?396
8
Contents
Kerning397
Metrics Files398
Metrics Window399
Selecting a String for Previewing or Metrics Editing402
Editing an Underline407
Editing Metrics408
Manual Metrics Editing409
Using the Keyboard410
Using the Metrics Table411
The Measurement Line413
Automatic Metrics Generation414
Quick Save and Quick Open416
Editing Kerning417
Manual Kerning Editing418
Using the Keyboard419
Using the Table420
Using the Kerning Dialog421
Automatic Kerning Generation423
Resetting Kerning425
Adjusting Metrics and Kerning426
Class-Based Kerning428
Classes Panel429
Class Definition431
Defining the Class432
Key Glyph433
Editing Class-Based Kerning434
Kerning Assistance435
Metrics Assistance438
Class-Based Kerning and OpenType Fonts440
Opening Metrics Files441
Saving Metrics Files443
Printing a Sample String444
TRANSFORMATIONS445
The Transform Dialog Box446
Transformation Actions448
Outline Transformation449
Hints and Guidelines Transformation457
Metrics Transformation459
Effects462
Transform Range Dialog Box468
Transformation Range469
9
FontLab 4
Transformation Program471
Using the Preview Window472
Saving and Opening a Transformation Program473
Transforming Fonts474
HINTING477
Font Scaling, PPM478
Coordinate Rounding, Gridfitting479
TrueType And Type 1 Hints480
Type 1 Hints481
Font-Level Type 1 Hints482
Alignment Zones483
Standard Stem Widths487
Additional Control Data490
Stem Hint Programming492
Type 1 Hinting Tool495
Inserting And Removing Replacement Points497
Adding and removing hints498
Editing Hints499
Autoreplacing500
Preview Panel500
Middle Delta or Final Delta570
Single Link or Double Link572
Hinting White Space574
Hinting Serifs576
Hinting Diagonals577
Hinting Symmetrical Characters578
Interpolate or Not579
MULTIPLE MASTER FONTS581
Multiple Master Fonts Theory582
Design Axes and Dynamic Range584
Standard Axes586
Design Coordinates and Weight Vectors589
Extrapolation591
Anisotropic Interpolation592
The Axis Graph593
Multiple Master Fonts in FontLab594
Creation of MM Fonts in FontLab595
Defining an Axis596
Selecting a Master Font598
Using an Axis Panel600
Previewing the Intermediate Design604
Designing Master Fonts605
Multiple Master Metrics614
11
FontLab 4
Editing Axis Settings615
Removing an Axis616
Multiple Master and Font Info617
Multiple Master Font Metrics619
Editing the Axis Graph620
Generating a Single-Master Font623
Expanding the Master624
Hinting Multiple Master Fonts625
Generating a Multiple Master Type 1 Font626
OPENTYPE FONTS627
Font Features628
Features and Lookups630
Scripts and Languages631
OpenType Font Formats632
OpenType Tables634
Feature Definition Language635
Language Syntax636
OpenType and FontLab647
Importing OpenType Fonts648
OpenType Panels649
OpenType Panel649
Adding and Removing Features651
Reordering Features652
Entering the Glyph and Class Names653
Renaming Glyphs and Classes654
Compiling the Feature Definitions655
The Output Panel657
OpenType Features Preview Panel658
Converting the Kerning660
Feature Development Process661
Substitution Lookups662
Single Substitution663
Ligature Substitution665
Alternate Substitution667
Context-Dependent Substitutions668
Positioning Lookups672
Glyph Geometry673
Value Record674
Single Positioning675
Pair Positioning676
Known Features679
OpenType Glyph Properties683
Caret Positioning684
12
Contents
Exporting OpenType Fonts685
FontLab and VOLT687
MACRO PROGRAMMING689
The Python Programming Language690
Installing Python691
Macro Toolbar692
Assign to Keyboard694
Integrating into Menus695
Macro Tool696
Edit Macro Panel697
Naming the Programs698
First Steps699
FontLab Python Classes701
FontLab702
Font704
Glyph706
INDEX709
13
I n t r o d u c t i o n
Thank you for purchasing FontLab 4.6 – a new version of our professional
font editor.
The key features of FontLab 4.6 are:
Outline editors with more than 20 tools and 200-level undo/redo
•
•
Import and export of fonts in OpenType, TrueType and PostScript Type 1
formats with up to 6,400 characters.
•
Import, export and native-mode editing of Multiple Master fonts
•
Import and export of individual glyphs in EPS format
•
Multiple Master-enabled metric and kerning editing module with
customisable autospacing and autokerning features
•
OpenType feature editing and testing
•
Import of OpenType features from existing fonts
•
Import and export of font metrics files in PFM and AFM format
•
Professional-level manual and automatic Type 1 and TrueType hinting
•
Automatic transformation of glyphs with more than 25 filters
•
Library of predefined customisable graphics primitives
•
Automatic testing of g l yp h ou t l i ne s wit h our unique FontAudit
technology
•
Integrated Macro language based on the industry-standard Python
language
•
New Unique Sketch mode with easy drawing tools
•
VectorPaint tools
•
Support of 4 encoding modes and an unlimited number of encoding
tables
•
Easy-to-use completely customisable drag/drop-based user interface
•
Popup menus and property panels everywhere
•
Sample printing of fonts, sample strings and individual glyphs
•
Automatic Multiple Master-compatible font blending
•
OpenType-based Kerning and Metrics assistants
•
Smooth outline preview
Introduction
15
FontLab 4
A bo u t thi s M a nu a l
This manual covers the Windows version of FontLab 4.6.
The following chapters describe all of FontLab’s features in full detail. They
are organized to cover all the functions in their usual sequence.
FontLab User Interface
This chapter covers the basic definitions of the FontLab user interface and
its customization and gives a short description of all the FontLab editing
windows and panels.
Editing Fonts
This chapter explains how to modify fonts, copy characters, change
encoding tables, select characters for editing, and edit font info fields.
The Font Header
This chapter provides a detailed description of the Font Header data and
the FontLab tools intended to manage it.
16
The Glyph Window
FontLab includes powerful outline-editing tools that are described in this
chapter.
Editing Font Metrics
If you want to create a professional-looking font you have to edit the font’s
metric data. The glyphs’ widths, sidebearings, and kerning can be edited in
FontLab automatically or manually. This chapter shows you how.
Transformations
From scale to drop shadow, from autohinting to autospacing - more than
25 transformation filters can help you instantly expand your font
collection. This chapter gives detailed descriptions of all the
transformations and their usage in FontLab.
Introduction
Hinting
To make your Type 1 or TrueType fonts look great everywhere you have to
set hints. FontLab includes hinting tools that were previously available
only in high-end font editing systems. Hinting can be a complicated
process, so read this chapter carefully to get the best results.
Multiple Master Fonts
Opening, editing and exporting Multiple Master fonts; adding and
removing design axes; editing the Design Map Graph – everything you ever
wanted to know about multiple master fonts is in this chapter.
OpenType Fonts
This chapter covers FontLab tools, panels and features that deal with
creation and editing of OpenType font features: ligatures, small caps,
fractions, alternative glyphs, etc.
Macro Programming
This chapter includes a short description and demonstration of the Python
programming language and its integration into the FontLab user interface.
Python can be used to create custom tools and operations within FontLab.
A brief description of the FontLab classes exported to Python is provided.
17
FontLab 4
S y st e m R e q u i r e m e nt s
The Windows version of FontLab requires one of the following hardware
and software configurations:
A PC computer capable of running one of the following versions of
Windows: Windows 98, Windows ME, Windows NT 4.0, Windows 2000 or
Windows XP with one of these operating systems installed.
At least 10Mb of free space on the HDD and at least 64 Mb RAM. FontLab
will start on 32Mb RAM but you will need more RAM to open bigger fonts.
18
FontLab User Interface
Fo n t Lab U s er I n t e r f a c e
Before we start talking about fonts and the FontLab font-editing features
let’s spend some time learning the FontLab user interface. For the most
part it is a standard Windows interface so if you know how to navigate in
Windows or in Microsoft Office you will feel comfortable with FontLab. In
other parts it is unique and that is where we will focus.
Most of the interface elements in FontLab 4 are completely customizable
and from this chapter you will learn how to change the FontLab interface
so it will best fit your needs.
Please note that further in the book we will refer to menu commands,
toolbar buttons and keyboard shortcuts as they appear in the default
FontLab environment, prior to any modifications you may make.
1
19
FontLab 4
Ba si c T e r m s
We cannot go any further without defining a few terms that are critical to
understanding FontLab and fonts in general.
Character
The minimal unit of the written language – a part of the alphabet, a
symbol.
Any picture that can be recognized as having the same meaning represents
the same character:
All the pictures above mean the character ‘A’
Please note that sometimes pictures that look the same represent different
characters:
20
Latin ‘A’
Cyrillic ‘A’
Greek ‘Alpha’
Characters have codes that are used to store text data on a computer.
Glyph
The basic element of the font, literally – an image that is printed. All glyphs
are unique, even if they represent the same character.
Glyphs are used to represent characters. Please note that many different
glyphs may be used to represent the same character, even in the same font:
FontLab User Interface
Font
An organized collection of glyphs and font header information. Usually
glyphs that are united in a font have some similarities in design and other
properties.
In the past, a “font” was defined as a single size of the characters of a
particular typeface. Now, since fonts are scalable, the term “font” covers all
possible sizes of the same typeface design.
Encoding
When text is printed an important process takes place: character to glyph
mapping. The source text (in computer form) is a list of codes that
represents a list of characters. A font (see above) is a collection of glyphs.
So there must be some way to relate characters to glyphs so that when the
computer’s operating system encounters a certain character it knows which
glyph to print. This “mapping” (or “vector”) is called the encoding.
Sometimes the encoding information resides within the font itself as part
of the header and other times it is in a separate file.
Font Family
It is important to know the difference between a font and a font family. A
font family is a set of fonts that represents some design idea. “Times” is a
font family (sometimes called typeface). “Times Bold Italic” is a font.
A font family may include from one to a few dozen fonts.
21
FontLab 4
Glyph name
The only identification of a glyph (other than its visual appearance) is its
name. A Western glyph name consists of Latin characters, digits and
punctuation. It is highly recommended you name glyphs in accordance
with the following rules:
1.No spaces.
2.No digits at the beginning.
3.Only ‘.’ And ‘_’ punctuation marks are allowed in the name.
Menu
When we refer to menu items in the main FontLab menu, we will use the
following notation:
[top menu item]/[sub-item]
For example:
22
Edit > Copy means: click the word Edit on the menu bar and select the
Copy command from the menu:
FontLab User Interface
Directories
When we have to refer to one of the directories created during FontLab
installation, we will use the following syntax:
FontLab/[directory name]
Where FontLab is the name of the folder where you have installed FontLab
4 (usually /Program Files/FontLab/FontLab4) and [directory name] is the
name of the directory, as in the example below:
FontLab/data
Mouse
Click the mouse on some
object
Right-click some object
Ctrl-click somethingPosition the cursor over “something”, hold down the
Drag some objectPosition the cursor on the object, press the left mouse
Position the mouse cursor on the object and click the
left mouse button
Position the cursor on the object and click the right
mouse button
C
TRL key on the keyboard and click the left mouse
button.
button and move the mouse to move the object.
Release the mouse button when you’re done.
Context Menu
Most windows and panels in FontLab have attached context menus. To
open the context menu, right-click an empty area in the window or panel.
23
FontLab 4
Ge t t i ng S t ar t e d
When you run FontLab 4 for the first time (to run FontLab double-click on
its icon
FontLab window:
Like almost all Windows programs FontLab has a menu, a few toolbars and
a status bar at the bottom.
) you will see a welcome screen for a few seconds and then the
24
There is nothing special about the FontLab menu except that you can
position it any place on the screen. The usual location is at the top of the
screen, but if you want to put it somewhere else, just drag it there:
The same thing can be done with any toolbar – you can leave them at the
top or drag them anywhere.
FontLab User Interface
You can easily choose which toolbars you want to see: use the Toolbars
command in the View menu or simply click the right mouse button on a
menu, toolbar, or toolbar docking panel and you’ll get exactly the same
menu:
Following is a list of common toolbars with a few comments about each:
Standard
Panels
Options
Tools
MacroOpens the Macro Call panel which gives quick access to pre-written
Contains basic commands like file open and save, copy/paste, print
and help
Controls the appearance of FontLab panels – shared windows used
to control most professional FontLab features
Controls the appearance of basic Editing layers
Probably the most important toolbar – gives access to editing tools
that you will use to work on glyph shapes
macro programs that can automate various font-editing tasks
You may notice a few italic terms. We will describe them later. Specifically,
panels and Glyph window will be described in a few pages; Editing layers
in the “Glyph Window” chapter; and macro programs in “Macro
Programming” chapter.
OK, we are almost ready to open a sample font, but before we do lets’ talk
about customization of the FontLab user interface.
25
FontLab 4
Cu st o m i z i ng Fo nt La b’ s User
I nt e r f a c e
As you may infer from the title of this section most of the FontLab user
interface (which means menus, toolbars and keyboard shortcuts) is
customizable. We believe our default interface is the easiest to use, but if
for some reason you don’t like it, you are free to make any changes you
want. If you don’t want to change anything in the FontLab user interface,
you can fast forward to the next section.
The general idea of customization is simple: there is a long list of
commands that you can use and three kind of controls: menus, toolbars
and keyboard shortcuts. Through customization you can assign any
command to a menu item, button on a toolbar or combination of keys
pressed on a keyboard. In addition you can organize commands in popup
menus or toolbars.
Most of the customization commands are concentrated in the Customize
panel that you can open with the Customize… command from the Tools
menu or the same command located in the context menu which appears if
you right-click on a menu, toolbar or toolbar dock area:
26
The customization dialog box consist of several pages:
Commands
Toolbars
ToolsOn this page you can “connect” an external program to a menu item
Keyboard
Menu
While the Customize dialog box is open all interface elements are in
“editable” mode, so you can simply drag-drop buttons and menu items
between different toolbars. You can also customize the appearance of menu
items and toolbar buttons.
List of all the available commands grouped into several categories
Customization of toolbars. There is an option to create new
toolbars.
in FontLab’s Tools menu
Customization of keyboard shortcuts
Customization of menus
FontLab User Interface
Customizing Toolbars
To move a button within a toolbar just press the left mouse button on
it; drag it to the new location and drop it. If you drag the button slightly
further to the right, a separator bar will be added between it and the
previous button:
To move a button to another toolbar, just drag-drop it there. To copy
a button, hold the
To remove a button from a toolbar, drag it out of the toolbar:
CTRL key while you drag the button.
In FontLab there is very little difference between a menu and a toolbar, so
you can rearrange, copy or remove menu items just like you did with
toolbar buttons:
You can also drag a menu item onto a toolbar to add a toolbar button.
Hold the
CTRL key to copy the item.
27
FontLab 4
To get access to all the FontLab commands, open the Commands
page in the Customize dialog box:
In the list select a group of commands and use the list of commands in the
right list as a source of menu items and toolbar buttons: just drag the
commands from there.
28
FontLab User Interface
Customizing Menus
If you want to create a new popup menu, just select the New Menu
group in the left menu and drag it onto the main menu bar or any of the
toolbars. A new menu appears and you can start adding commands to it
using the drag-drop technique described above.
With the Customize dialog not only can you customize the main menu, but
also most of the context menus which appear when you right-click FontLab
windows. Open the Menu page in the Customize dialog box and choose a
context menu in the right combo box:
A menu appears on screen and you can customize it by dragging
commands from the toolbar, other menus or the list of the commands on
the Commands page.
To reset changes you’ve made in menus, use the Reset buttons on
the Menu page of the Customize dialog box. Use the left Reset command
to reset changes in the main menu and the right Reset button to
reset changes in the context menus.
29
FontLab 4
Customizing Individual Items
You can customize the appearance of any menu item or toolbar button. The
following appearances are available for most items:
Image
Text
Image and Text
To change the appearance of the menu item or toolbar button
position the mouse cursor on the button and click the right mouse button.
Select the new appearance method in the context menu:
30
Most commands in FontLab have pre-designed images, but you can easily
create your own images for any toolbar button or menu command. To do
so, select the Button Appearance… command in the button’s context
menu:
FontLab User Interface
You will see a dialog box where you can choose the appearance method
and, if it includes an image, choose the picture that appears on the button
or at the left of the menu item:
Choose a User-defined image; click New…to create a new image; or
Edit to edit one of the User images. If you decide to change the
picture, use the included image editor to change it:
Use one of the Toolsto edit the enlarged image and choose a color in
the Colors area. Click the OK button when you are ready.
31
FontLab 4
Converting a Menu to a Toolbar
In FontLab some menus can be converted to toolbars. If you open a popup
menu and can see a tiny caption in the top area of it, you can drag it to any
place on screen and it becomes a toolbar:
Not all menus have this feature, but you may find it really useful.
OK, that’s almost all about customizing toolbars and menus. Just a couple
more things:
To reset changes you’ve made in toolbars, use the Reset All button
on the Toolbars page in the Customize dialog box:
32
Use the New… command on the same page to create a new toolbar.
After doing this, add commands to it by the drag-drop method described
earlier in this section.
FontLab User Interface
Customization of the Keyboard
Open the Keyboard page of the Customize dialog box:
In the left area of the page you can select the command, which you want to
customize. Choose the commands category in the top list and the
command itself in the list below.
On the right part of the page you will see the list of keyboard shortcuts
currently defined for that command:
The Remove command at the right of the list allows removal of one of the
existing shortcuts.
33
FontLab 4
To define a new keyboard shortcut, select a command and position
the cursor on the editing field below the Press New Shortcut Key: label:
When the caret is in position just press the combination of keys that you
want to assign. A description of that combination will appear in the editing
field and you can click the Assign button to assign that combination tothe currently selected command.
Press the Reset All button to reset all changes back to FontLabdefaults.
There is a Keyboard shortcuts… command in the Help menu. Use it after
you finish customizing the user interface to see or print a list of all the
shortcuts:
34
FontLab User Interface
Links to External Programs
Use the Tools page of the Customize dialog box to assign Windows
programs to menu items in FontLab’s Tools menu:
There is a list of the assigned programs in the middle of the page and it is
empty by default. Click this button:
Enter the name of the program as it will appear in the menu:
Then use the … button at the right of the Command: editing field tolocate the program to run:
Editing fields at the bottom of the Command: field allow you to definearguments for the program you want to run from FontLab’s menu.
to add a link.
35
FontLab 4
Use the button at the top of the Tools list to remove the reference to
the program and the
commands.
You may use special parameters to run external programs with the
currently opened font as an argument. When FontLab recognizes this
argument, it will replace it with the file name of the currently active font or
with some other parameters.
Suppose that current font was last saved into file named
“c:/fonts/sample.vfb”.
Special arguments are:
Full file name of the current font [c:/fonts/sample.vfb]
%p
Name of the file with extension [sample.vfb]
%f
File name only [sample]
%n
File name extension [vfb]
%x
Path where file was saved [c:/fonts/]
%d
Path to FontLab installation [usually it is “/program files/fontlab/fontlab46”]
%a
and buttons to change the order of the
36
Now you know everything about the customization of menus, toolbars and
the keyboard, so you can click the Close button at the bottom of the
Customize dialog box to exit the customization mode.
Important note: in the following manual we will describe all commands,
buttons and keyboard shortcuts as they come with FontLab, without any
customizations. If you changed the interface but want to follow the
manual, reset all changes with the Reset buttons on the Toolbars,
Keyboard and Menu pages of the Customize dialog box.
Faster Method to Customize Commands
You can customize toolbars and menus without opening the
Customize dialog box by pressing and holding the
keyboard and dragging buttons between toolbars or toolbars and menu.
ALT key on the
FontLab User Interface
F o nt L a b W i n d o w s
There are only three types of Windows in FontLab:
Font windowRepresents one of the opened fonts
Glyph window
Metrics windowUsed to edit glyph metrics and kerning
In this chapter we will provide only very basic information about the main
windows. Please refer to the “Editing Fonts”, “Editing Glyphs” and “Editing
Metrics” chapters to get detailed information about the windows and their
features.
Used to edit glyphs
37
FontLab 4
Font Window
As an exercise lets create a font in order to demonstrate the FontLab
Windows. Use the New command in the File menu or click this button
on the Standard toolbar.
You will see the Font window:
As you can see, this window has a caption with a few buttons and options
and a big table of cells that represent characters and glyphs. Each cell has
a caption that contains glyph identification information: name, Unicode
index or some other data:
38
Cells can also contain little icons that show properties of glyphs, but more
about that later.
There are no glyphs in the font that we just created, but the Font window
nevertheless shows some pictures in the glyph cells. These are template
images that show which character should be placed in the cell. FontLab has
templates for thousands of characters, so you will usually know where to
place new characters.
FontLab User Interface
We’ll discuss navigation in the Font window later, in the Editing Fonts
chapter, so let’s talk about the Font window command bar, which is located
at the top of the window:
Actually, the command bar is not fixed to any location in the Font window;
you can drag it to the bottom area or just leave it floating around:
On the command bar you can easily find a button on the left, which is a
duplicate of the File > Font Info command, which is described later in this
manual.
Right of the buttons there is a combo box, which allows you to change the
information that appears in the character cell’s captions:
Next is a combo box that allows you to change the encoding table of the
current font:
We will talk about encodings later, but you could choose a couple different
ones from the combo box and see how the Font window changes.
At the right of the encoding list there are four buttons that allow a choice of
encoding modes. Again, a detailed description of this follows. Just a few
words here: any glyph in the font may be identified by a name, Unicode
index or just its order in the glyph table. Four buttons in the command bar
allow you to choose one of four modes: Names, Unicode Ranges,
Codepages or Index.
The last button controls the saving of custom encoding file.
That’s all about the Font window for now so let’s open the Glyph window
39
FontLab 4
Glyph Window
To open a Glyph window for editing individual glyphs you need to
create one. Remember, we started with a new font that doesn’t have any
glyphs. To create a glyph, double-click on any cell in the Font window.
You will see that the gray cell (which means there is no glyph defined) is
replaced by a white one, which represents a glyph that is defined, but
contains no image. When you draw or paste something into it, the white
cell will show a small picture of the glyph.
After the glyph cell is created we are ready to open the Glyph window.
Select the glyph cell (just click on it with the left button) and double-click it
to open the Glyph window. It will immediately appear on screen:
40
Instead of double-clicking, you can also use several other methods to
open the Glyph window:
1.Right-click the glyph cell and select the Edit command in the context
menu.
2.Select the glyph and choose New Edit window in the Window menu.
3.Select the glyph and press on the Panels toolbar
4.And finally, select the glyph cell and just press the ENTER key on the
keyboard.
FontLab User Interface
If you have more than one glyph in your font (which is normal when you
open an existing font) and have a glyph window already open when you
double-click another glyph in the Font window (or use any other method of
opening a glyph window except the New Edit window command or a
button on the toolbar) a new glyph will appear in the original glyph
window. If you need to open many glyph windows simultaneously just hold
down the
open a new Glyph window.
You may have as many open glyph windows as you want, just close those
you don’t need so as not have all your workspace covered with glyph
windows.
CTRL key when you double-click the new glyph cell or otherwise
Glyph Window Contents
All windows in FontLab have a similar layout: control panel on the top and
main area covering most of the window. The glyph window is no exception:
the top-docked control area (which, of course, can be docked to the bottom
location also) contains zoom, selection tools, a combo box, and a few
toolbar buttons:
Actually there are two toolbars here: the left one is used only to select the
zoom mode of the Glyph window and to choose the Zoom in and Zoom out
commands. The second toolbar is there to select the properties of the
editing tool:
To get more screen space for the editing field you may hide the zoom
toolbar if you click on this button in the top-right area of the glyph
window:
The main area of the window has scroll bars to change the view of the
glyph, and vertical and horizontal ruler bars.
41
FontLab 4
You can switch the ruler bars on and off with the Rulers option in the View
menu. A quicker way is to right-click the ruler and choose the option in the
context menu:
At the very bottom-right corner of the Glyph window you will find a little
expand button that, when clicked on, opens the Glyphs bar:
This is nothing more than a slice of the Font window, making it easier to
access cells in the font window while the glyph window is maximized for
precise editing work.
42
At the bottom-left corner of the windows you will find two more buttons,
Lock and Meter:
The Lock button controls quick access to the font glyph – when it is in the
“unlocked” state
I.e. when you press a key the corresponding glyph will automatically open
in the glyph window.
you can use the keyboard to directly access the glyphs.
FontLab User Interface
The Meter button controls the appearance of the Meter panel, which
usually sits at the right end of the glyph window toolbar and shows the
current coordinates and other parameters of the cursor:
To the right of the meter button you will find a zoom selection menu:
If you click on it you will get the zoom menu that has same options that you
may find in the zoom toolbar. This menu is useful if zoom toolbar is not
visible.
We will return to a more detailed description of the glyph window
properties in the Editing Glyphs chapter.
Finally, lets quickly preview the last window in FontLab: the Metrics
window.
43
FontLab 4
Metrics Window
The Metrics window is used to adjust glyph metrics – glyph sidebearings
and kerning.
To open the metrics window select some glyphs in the Font Window
and click on the New Metrics window command in the Window menu.
You will see a new window:
44
Glyphs that are currently selected in the Font window or the glyph that is
in the active glyph window will appear in the metrics window.
The metrics window has a main editing field, scroll bars, a command area
and a local toolbar:
To choose a string of characters to preview or modify use the string
selection control:
The button to the right of the control allows you to choose a pre-defined
string. To the right of the button there is an options
get access to the Metrics windows Options dialog box where you can
customize the window.
button. Click it to
FontLab User Interface
One powerful option in this dialog box is support for a second preview
string. The second string appears below the main preview string and can be
used to compare different characters. The second string is not directly
editable.
Metrics Window Toolbar
The Buttons on the toolbar mean:
Open metrics file With the metrics window you can import metrics and
kerning information from AFM, PFM or MMM (in the case
of a Multiple Master font).
Save metrics file You can save AFM, PFM, AMFM and MMM files to use
them later with other fonts.
Quick save
Quick open
Auto
Reset kerningIn Kerning mode may partially or completely remove
Kerning dialog
Kerning
Assistance
Macro preview
Right-to-left
Measurement line
Expand
Click this button to store current information about metrics
to a special temporary file. If you do it before any serious
modification of the metrics you can easily undo changes.
Restores metrics data saved with the Quick save command.
Automatically calculates metrics or kerning.
information about pair kerning
In Kerning mode opens the dialog box where you can
preview and manage kerning pairs.
Opens the Kerning Assistance dialog box.
Allows selection of special macro programs that can be used
to simulate complex environments to test metrics and
kerning.
Turns the Metrics window into right-to-left writing mode
(for work on Arabic or Hebrew scripts).
When this button is pressed, all metrics are measured with
respect to the measurement line
Controls the compact or expanded appearance of the
editing field.
45
FontLab 4
Metrics Modes
The metrics window works in three modes: metrics, kerning and preview.
By default the Metrics window appears in Metrics mode. To open it in
Kerning mode, hold the
menu or use the toolbar button to open the window.
In Metrics mode you can change the glyph sidebearings using either
visual or digital controls:
In Metrics mode the string of glyphs is previewed without kerning.
CTRL key while you selecting a command in the
46
In Kerning mode you can change pair kerning:
FontLab User Interface
In preview mode (M and K buttons are not pressed) you cannot change
glyph metrics or kerning, but you can safely preview the font in highresolution mode. In addition, you can preview and modify the position and
width of the underline line:
The editing field of the Metrics window may be in compact or expanded
mode. By default it is contracted.
To expand the metrics window, use the expand button
When the window is in expanded mode, the bottom line of the control bar
disappears and the metrics bar is expanded and contains information
about the metrics of the glyphs that are currently visible:
.
47
FontLab 4
P a ne l s
Some FontLab operations are accessible through Panels – small windows
that are located in front of the main Font, Glyph and Metrics windows:
Use the Window menu or Panels toolbar to open panels:
48
FontLab User Interface
Below is the list of all the panels available in FontLab. They are described
in full detail in the sections that are related to their functions, so this is
only a short reference:
Editing Layers
Transformation
Edit Macro
OpenType
OutputText output panel. Other panels and macro programs may
Preview
Collection/Classes
Fonts
Font Map
Axis
Masters
Primitives
Control of all editing layers, “show”, “snap”, “lock”
operations
Panel for digital outline transformations
Editor for Python macro programs
Editor for OpenType features
output text here.
Preview, OpenType Sample and Anchor preview panels.
Classes and Collections: named or unnamed lists of
characters
List of all opened fonts grouped by family name
A picture representation of big Unicode fonts
Selector of intermediate (or extrapolated) design in a
Multiple Master font
Selector of master in a Multiple Master font
Collection of outline primitives
All panels are described in full detail in the following chapters when we
discuss the features that they serve.
Most of the panels (except Editing Metrics Masters, Axis and Primitives)
may be docked to either side of the FontLab window.
49
FontLab 4
To dock a panel just drag it close to the window edge:
50
To prevent the panel from docking, hold down the CTRL key while
dragging the panel’s caption.
Multiple panels can be docked on the same side. Use separator lines to
adjust their positions.
With this button
to return the panel to its original size.
All panels that are not “dockable” stick to the edge of the FontLab window
and to each other, so you can easily arrange them to create the most
comfortable environment.
Every time you exit FontLab the positions of all toolbars and panels are
stored in Windows’ registry, so when you run FontLab the next time, the
environment will be restored.
you can quickly enlarge a panel. Click the button again
E d i t i n g F o n t s
In this chapter we will discuss the editing of fonts. A font is a collection of
glyphs with similar design and some encoding and header information.
The information includes font identification names, copyright data,
character encoding information and other data that is necessary for font
usage.
Editing Fonts
2
51
FontLab 4
O pe n i ng F o nt s
With FontLab you can create new fonts or open existing fonts for
modification. When you open an existing font, however, please be sure that
modifying it does not violate copyright laws: some fonts are copyrighted as
software so it is not legal to change them in any font editor. Carefully read
the license agreement that comes with every font.
You can find two (one serif and one sans-serif) royalty-free, noncopyrighted fonts that you can use as a basis for your own fonts or
characters in the Sample folder on your CD or on our website
(www.fontlab.com).
Please, note that with FontLab you cannot export fonts that contain more
than 6,400 characters. You can open big fonts, but only a portion of them
can be saved or exported. If you need to work with really big fonts, we
recommend you try our AsiaFont Studio product:
http://www.fontlab.com/html/asiafontstudio.html
52
To open a font for editing, select the File > Open command, or
click the
button on the toolbar.
Editing Fonts
You will see the Open File dialog box in which you can select a font file to
open. (Note that in this dialog box you will see all the fonts that can be
imported: TrueType (TTF), Type 1 in binary (PFB) and ASCII form (PFA),
OpenType (OTF) and fonts in FontLab formats (VFA and VFB).
If you want to list only fonts in a particular format, select that format in the
combo box located at the bottom of the Open dialog box:
When you select a font file in the files area, you will see the font name in
the bottom of the dialog box.
You can open many fonts with a single operation: just select all of them in
the list with a selection rectangle or using
The current import options appear below the font name field. You can set
the options here by clicking the Options button. We will discuss the import
options in full in one of the next sections.
CTRL-click.
53
FontLab 4
Note: In Windows you cannot open fonts located in the Windows\Fonts
subdirectory (“Windows” means the actual path where Windows is
installed) — the default directory where Windows stores all the installed
TrueType fonts.
If you open this directory you will see that the fonts' names instead of their
file names appear in the Open dialog box. If you double-click on any font
you will get the Font Preview window instead of the font opening into
FontLab.
To open fonts installed in Windows you must copy the font files
into another directory and open them in FontLab from that
directory. Or you can simply drag-drop the font files from Windows
Explorer into FontLab.
Most Recently Used Fonts
All fonts that you recently opened in FontLab are added to the bottom of
the File menu:
54
Next time you want them, just select the font file in the File menu and
FontLab will open them.
Opening Fonts with Drag-Drop
The easiest way to open fonts in FontLab is to drag-drop font files from
Windows Explorer. Even if FontLab is not running, you can drag-drop files
onto its icon on the desktop or on the quick bar to run FontLab with those
fonts.
Editing Fonts
Font Formats
FontLab can import outline fonts in any of following formats:
FormatExtensionDescription
Type 1 BinaryPFB
Type 1 ASCIIPFAPostScript fonts printer downloadable form (this
Multiple MasterPFB or PFASpecial version of PostScript fonts — in binary
OpenTypeOTFCFF-based OpenType fonts.
TrueTypeTTFTrueType and TrueType-based OpenType fonts
FontLab 2.5VFAFonts in FontLab 2.5 internal format
FontLab 3.0
VFB
PostScript fonts in Windows-compatible binary
form
format is also used in most Unix-based
operating systems)
or ASCII form
that are standard in Windows and Mac
operating systems
Native format of FontLab 3.0, 4.0 and 4.6
Note that FontLab 4.6 cannot open font files that were created in FontLab
2.0. The default extension of those files is VFA (same as FontLab 2.5 fonts),
but they are not compatible with FontLab 4.6. If you want to move fonts
from the FontLab 2.0 format to FontLab 4.6, use Type 1 Binary as an
intermediate format.
If you have fonts in a different font editor’s own font format and you want
to open these fonts in FontLab 4, export the fonts in the Type 1 Binary
format using the other font editor and then open the Type 1 fonts in
FontLab.
55
FontLab 4
Import Options
Before opening font files you may want to set some options that can help
you get started more quickly. In the following sections we will discuss all
the font-opening settings. We will use some technical terms that will be
discussed in more detail later, but if you want to check the definitions now
you can find them in the Index.
All the opening options are accessible through the Import Options dialog
box. To open this dialog box use the Options button in the bottom-right
area of the File Open dialog box:
56
The same options are available in both Type 1 and TrueType pages of the
Options dialog box (accessible through the Options command of the
Tools menu).
Editing Fonts
Type 1 Import Options
There are two options in opening Type 1 fonts: Decompose all composite
glyphs and Generate Unicode indexes for all glyphs.
If the first option is on then FontLab will decompose all composite glyphs
in the imported font. Composite glyphs have no unique outline themselves,
but “borrow” outlines from other font glyphs. Good examples of composite
glyphs are accented glyphs, like ‘À’, ‘å’ or ‘ñ’. In each of these the composite
character is composed of a character glyph outline and an accent glyph
outline from elsewhere in the font. FontLab has all the necessary tools and
operations to work with composite glyphs, so it's usually not necessary to
decompose them on import. But if you want to markedly rearrange the
glyphs and do not want to worry about composites you can use this option.
Of course you can always decompose or recompose the glyphs later using
FontLab commands.
When FontLab opens TrueType fonts it always decomposes composite
glyphs that have rotated or slanted components.
The second option is usually on. We strongly recommend keeping it that
way if you plan to convert your Type 1 font to the TrueType format. The
TrueType font format uses Unicode indexes to access characters, so having
the indexes set properly is paramount. However, if you do not plan to make
a TrueType font you may switch this option off. As in the case of the first
option, you can always make Unicode indexes later.
How FontLab Makes Unicode Indexes
In the FontLab directory you will find the file STANDARD.NAM. This file contains a database that
links the PostScript names of characters with Unicode indexes. When you import a Type 1 font and
the option Generate Unicode indexes for all characters is on FontLab takes the name of every
imported character and looks for it in the names database. If it locates the name there it takes the
associated Unicode index and adds it to the character’s list of indexes.
Note 1: The Names' database has more than 4000 records and includes almost all known names for
all European, Cyrillic, Arabic and Hebrew languages and for most symbol and dingbats fonts.
Note 2: The names' database is a text file that can be edited. You can add new records to this file at
any time. Be very careful when you edit this file because incorrect records may make exported fonts
unusable in some environments.
Note 3: It is possible to link more than one Unicode index to a name and more than one name to a
Unicode index. If FontLab finds several indexes linked to the name, it will assign all the indexes to
the character. (Refer to the Encoding Modes section for a description of the multi-Unicode indexing
method.) If more than one name is linked with the Unicode index then FontLab will take the first
one it finds as the name for the known index.
57
FontLab 4
TrueType Import Options
The Import Options dialog box that appears if you click the Options
button has the basic set of TrueType import options:
The full set is available on the TrueType page of the Tools > Options
dialog box:
58
Convert TrueType outlines to Type 1 outlines
rd
In FontLab you can work with Type 1 (based on 3
nd
TrueType (based on 2
font and plan to export this font as TrueType, it’s better to keep the original
outlines to avoid conversion errors. But if you plan to export your font as a
Type 1 font, then we recommend converting the outlines on import. You
can convert the outlines in either direction at any time using FontLab
commands.
-order splines) outlines. If you open a TrueType
-order Bezier curves) or
Editing Fonts
Scale the font to 1000 UPM
Typically TrueType fonts have UPM (Units Per eM – the size of the grid on
which all glyph coordinates are defined) equal to 2048. Type 1 fonts have
UPM equal to 1000. You can change the UPM value at any time using the
FontLab commands, but if you turn this option on, UPM will be converted
during the font import.
Save TrueType hinting information
Leave this option on if you want to keep the original TrueType instructions
and outlines. FontLab will keep the imported TrueType data until you
change the glyph’s outline or hints. If you import a TrueType font to
rearrange glyphs or to add some new glyphs we highly recommend saving
the original TrueType hinting data.
Autohint imported font
To prepare an imported TrueType font for Type 1 editing and export, you
may ask FontLab to automatically make Type 1 hints for all the glyphs.
FontLab will use the current Type 1 hinting settings and will make hints for
TrueType or Type 1 outlines depending on the conversion setting (Convert
TrueType outlines to Type 1 outlines)
Decompose all composite glyphs
This option works exactly the same as for Type 1 fonts.
Import embedded bitmaps
If this option is on, FontLab will read all embedded bitmaps defined for the
source TrueType font. You can edit them using the TrueType hinting tool
and optionally export to TrueType format. Embedded bitmaps may help to
improve font readability at low point sizes and in some cases can be used
instead of TrueType hinting.
Store custom TrueType tables
Some TrueType fonts have additional tables that are not a part of the
TrueType or OpenType specification. If you want to import these tables
and have them exported unchanged when the font is saved, switch on this
option.
This feature is very useful if you are working with additional tools, like
Microsoft VOLT or VTT programs. If the “Store custom TrueType tables”
option is active, FontLab will not change or destroy tables that these tools
include in TrueType fonts.
59
FontLab 4
OpenType Import Options
Special options for importing OpenType fonts can be customized on the
OpenType page of the Tools > Options dialog box:
Import OpenType tables If you want FontLab to read OpenType tables (GSUB,
GPOS and GDEF), keep this option on.
Import kerning from the
“kern” feature
Name-reading options
Interpret “mort” tableAllow to read “mort” table that may store information
In OpenType fonts kerning data is stored as feature
named “kern”. This option lets you import kerning data
from that feature and to convert it to plain pair kerning
format. You can perform this operation later using
FontLab’s OpenType-editing tools, but we recommend
doing it during font import.
To support multiple languages OpenType and TrueType
fonts often have several versions of the font names. Use
the choices of this control to select one of the options to
read those names.
about font substitution in Japanese fonts. FontLab will
try to convert this data to OpenType feature.
60
Editing Fonts
Cr e a t i ng a N e w Fo nt
If you want to create a new font from scratch, you select the New command
from the File menu. FontLab will create an empty font that will not have
any characters and will open an empty Font Window.
You may then add new glyphs. To make your font usable you must also fill
in the important Font info fields. (See “Font Header” chapter)
61
FontLab 4
T he F o n t W i ndo w
The Font Window is used to display an entire font. It opens automatically
when you open an existing font for editing or choose to create a new font.
In FontLab you can open many fonts at once and every font will have its
own Font Window. The Font Window is a representation of the font, so
when you close this window the font will also close.
You can do a lot of things using the Font Window — from browsing a font
for a desired character to rearranging and remapping the font to editing
the Font info fields. The following sections of this chapter will tell you how
to use this window.
62
The Font Window consists of the header, which includes a few buttons and
two combo boxes, and a table of characters (character chart), where a
single cell represents each character:
Each cell has a caption showing the name of the character or its code in
various forms.
Editing Fonts
The left combo box located on the Font Window header area:
lets you select one of the caption modes:
Name
Unicode
Index
Width
Decimal
Hex
Octal
ANSI
Macro
The Character name will appear in the cell caption
The Character’s Unicode index
The Glyph’s index
The Character’s width
The Decimal character code
The Character code as hexadecimal number
The Character code as octal number
The ANSI character that corresponds to the character code
The appearance of the caption depends on the special macro program.
By default this option shows the number of components in composite
characters.
The characters’ cells may have a gray or white background and a white or
yellow caption.
A gray cell means that there is no character defined for this place in the
font. I.e. the character does not exist in this font. Instead of the character, a
sample template character from one of the system fonts or from the
FontLab template font is shown in the empty cell.
63
FontLab 4
You can select a font for the templates or switch off the templates using the
Font Window page in the Options dialog box:
A yellow frame and caption in a character’s cell means that this character is
in the currently selected encoding, codepage or Unicode range (see next
section). Characters that are not in the current encoding have a gray
caption and no yellow frame.
The small marks that appear in the corners of the character cell mean:
Left-Top
Right-TopYellow-red or
Left-bottomGreen or red
Right-bottom
Blue markCharacter has more than one Unicode index
assigned
Character has compatible mask layer
yellow-green
mark
Character has hint replacement program or
‘H’ mark
Brown or blue
‘T’ mark
overlapping Type 1 hints. A Green mark means
that the program is correct.
Character has TrueType hints, either original (blue
mark) or manually set visual (brown mark)
The meaning of all the marks will be discussed in full detail later.
Some characters may be marked with a different color for the caption and
background:
Marking is very useful when you need to show visible differences among
characters for easy identification. More about that later.
64
Editing Fonts
Font Window Header
At the header of the Font Window you see one button on the left and five
buttons in the right area:
The left button opens the Font Info dialog box for the current font.
This is the same as choosing the Font Info command in the File menu.
The first four buttons on the right allow you to select one of the encoding
modes:
Switch to the Names mode
Switch to the Unicode Ranges mode
Switch to the Codepages mode
Switch to the Index mode
The last button in the Font window header area is used to savecurrent encoding.
The Font window header is not fixed to the top edge of the window. You
may drag it to any place on the screen or “dock” it to the bottom of the
window:
65
FontLab 4
E nc o di n g Mo de s
Support for almost all known character indexing methods is one of the key
FontLab features.
Here’s how it works:
A font is just a big collection of glyphs that are used to represent many
characters (more about that in the following section). On an average screen
the Font Window can show just a few hundred character cells, so we need
to have some method to browse the font “through” the Font Window.
In FontLab you can choose one of four so-called Encoding modes that
allow you to select a subset of the glyph collection and show it in the top
part of the Font Window for easier access.
In the following sections you will find more information about encoding
modes, Unicode and name-based identification and the character-glyph
model.
66
Editing Fonts
t
Characters, Codes and Glyphs
A font is a col le c t i o n o f g l y p h s t h a t u s u a l l y h a v e a c o m m o n d e s i g n . E a c h f o n t
h as a h e ad er th a t s t o r e s t o p - l e v e l i n f o r m a t i o n , s u c h a s t h e f o n t n a m e a n d
s tyle , in an or g anis ed wa y.
Character Mapping
Text in digital form is a collection of codes — integer numbers. When text
is entered into a computer we (with the help of a text processor program)
replace characters with codes. When text is printed or previewed on the
screen, the printing program performs the reverse process — replacing
codes with character shapes (glyphs) that it gets from the font.
Text
Fon
A character mapping standard is a set of rules that defines the relation
between characters and the codes that are used to represent these
characters in the computer. There are many mapping standards used in the
world to help use different languages. The main difference between
mapping standards is the size of the code. There are one-byte, double-byte
and multi-byte mapping standards. With a one-byte mapping standard
only 8 bits of information is used to represent each character, so it’s
possible to use only 256 characters.
A D ou bl e -b yte mapping sta nd ar d use s two b yte s (1 6 bits ) for e ver y ch a r a cter .
So it’s poss ibl e to ma p 6 55 36 ch ar ac ter s. Mu ltib yte ma pping sta nd ar ds u s e
from one to fou r bytes for ever y c ha r ac te r — e xpa nd ing the c ode s pa c e to
b il lions of cha ra cte rs .
O ne -b yte e nc oding s tanda r ds a re enou g h to r e pr es e nt mos t W es ter n
l ang ua ge s, bu t the y ru n out of r oom if mor e th a n one l angu a ge ne ed s to be
s upporte d, or in th e c as e of Ea s te rn la n g u a g e s t h a t u s e v e r y b i g a l p h a b e t s .
E ve n dou bl e-b yte enc od ing s ta nd a r d s c a n n o t c o v e r a l l t h e c h a r a c t e r s o f t h e
wor ld . The most wel l k nown and wid el y u se d dou bl e -b yte enc od ing s ta nda rd
is Unicode.
67
FontLab 4
Character and Glyph Identification
To simpl ify acc es s to th e c ha ra c te rs in the font ea ch c h ar ac ter h as an
identifier — an inte ge r numbe r or a tex t name. Al l font for ma ts a l l ow you to
q uick ly loca te a ch a ra cte r wh os e ide ntifier is k nown. A pr inting or
pre viewing pr og ra m tha t wants to output tex t c onver ts c h ar ac ter c od e s to
c ha ra cte r id e ntifie r s in th e font. Th is proc es s is us ua l ly pe rfor me d u sing a
s pe cial inde x t a b l e , c a l l e d t h e e n c o d i n g t a b le , which d e fine s the r e la tions hip
b etwe en ch ar a cter c ode s and ide ntifie rs .
Note th a t th e ter m character cove rs all pos sibl e a ppe ar ance s of the
c ha r a cter in all fonts . All th es e “pictur e s” :
s ame ch a ra cte r ‘A ’ — the firs t lette r of th e E ng l is h a l p h a b e t . “ I n s t a n c e s ” o f
c ha ra cte rs th at h ave a u niq ue d e s i g n a r e c a l l e d glyphs. B ut note th at the
s ame pic tu re ‘A ’ m a y m e a n d i f f e r e n t c h a r a c t e r s – t h e f i r s t l e t t e r o f t h e
E ng lish al p h a b e t , t h e f i r s t l e t t e r o f t h e R u s s i a n a l p h a b e t a n d t h e f i r s t l e t t e r o f
the G re e k al pha be t can b e the s a me g l yph, b u t ar e not th e sa m e c h a r a c t e r .
Pre cise ch ar a cter id entific ation meth od s a r e r e a l ly nec e s s ar y.
The re is a d iffer enc e be twe en c h ar ac ter a nd gl yph ide ntifica tion. W h en we
nee d to id entify a cha ra c t e r i t m e a n s t h a t w e a r e i d e n t i f y i n g a l l g l y p h s t h a t
may b e use d to re pr e s e n t t h a t c h a r a c t e r . I f w e a r e i d e n t i f y i n g a g l y p h , i t i s
u niqu e.
ar e th e
68
Cha ra cte rs a r e id entifie d b y integ er nu mb er . To support ex ch a ng e of
infor ma tion this nu mbe r mus t be as sig ne d ac c or ding to s ome s tanda rd . I n
F ontL ab al l c h a r a c t e r s a r e i d e n t i f i e d a c c o r d i n g t o t h e U n i c o d e s t a n d a r d .
A g lyph is id entifie d by its na me or by its inde x – its se qu e ntia l numbe r in
the c ol l ec tion of g l yphs in the font. Since th e ind ex ma y va r y ( f o r i n s t a n c e , i f
we re move th e g lyph with inde x 5 th e ind ex es of a ll gl yph s th at ha v e l a r g e r
numbe rs , s ta r ting fr om 6 , wil l cha ng e ) it is not ve ry c onvenient, s o in mos t
c as es g l yphs a r e i d e n t i f ied b y names .
I t is ve ry important to und er sta nd th at the r e is no one -to-one re la tion
b etwe en ch ar a cter s and g l yphs . It is poss ib l e t o h a v e s e v e r a l c h a r a c t e r s ( a n d
c ha ra cte r id e ntifie r s) r e fe r to a singl e na med g l yph. O n the othe r hand, some
g lyph s in th e font may not be c h ar ac ter s and may not ha ve a cha ra cte r
ide ntifier .
Editing Fonts
Character Identification in FontLab
I n FontL ab th er e a r e f o u r m o d e s o f c h a r a c t e r a n d g l y p h i d e n t i f i c a t i o n :
1.Names mode. This mode historically is used in Type 1 fonts. An
interesting point is that Names mode may have two different
applications: it may be used to reference glyphs or characters. In the
latter case all referenced characters must have a one-to-one
relationship between character and glyph, so there is no difference
between referencing the character and the glyph. Tables that are used
to reference glyphs or characters in Names mode are called Encoding
Tables. There are two kinds of these tables: a mapping encoding table
references characters in Type 1 fonts and is based on one of the Adobe
standards; while a definition encoding table references glyphs and has
no relation to characters. This is sometimes useful in managing a font
at the design stage.
2.Codepages mode. This is a character-identification method – a
special table of Unicode indexes is used to map a subset of characters
to the top part of the Font Window table. This table, called a codepage,
may use one or two bytes to represent a character mapping record.
Two-byte codepages are used to reference characters in Far-East fonts:
Chinese, Japanese, Korean or Traditional Vietnamese.
3.Unicode Ranges mode. Unicode is a two-byte standard so it
potentially can cover 65,536 characters (not taking into account the
extension methods implemented in the Unicode 3.1 standard). This is a
huge code space and to manage it most efficiently it is divided into
several ranges. Usually a range is designed to cover a single script, like
Cyrillic, Armenian or Thai. The Unicode Ranges mode references
characters.
4.Index mode. This is the simplest glyph identification mode: all
glyphs are sorted in their sequential numerical order in the collection
of glyphs.
69
FontLab 4
Mapping Encoding Tables
The Encoding Table defines links between character codes and names,
assuming that all characters in the font have name-based identifiers. The
table is loaded and stays stored in memory while the font is used.
Character selection processing consists of two stages — conversion of the
code to a character identifier and searching the font for the location of the
character de sc ription with th e known ide ntifie r:
20 space
21 excl am
22 quotedbl
23 numbersi gn
24 dol l ar
25 percent
41 A
42 B
Identification of characters in the font
excl am
!
quo tedbl
“
numbersi gn
#
dol l ar
$
percent
%
A
A
B
B
FontEncoding table
The Encoding Table can also add more flexibility to fonts. You can put
many more characters into one font, assign a unique name to each
character, and supply several encoding tables, allowing you to select
different sets of characters in the font when you use different encodings.
For example, in symbol fonts the Greek characters take places that are
usually occupied by Latin characters. With the encoding tables you can
include both sets of characters. Just assign the correct names (like alpha
for the ‘A’ character and A for the ‘A’ character) and later you can choose
the symbol encoding to work with the Greek version of your font or choose
Roman encoding to use the Latin characters.
70
In FontLab you can include up to 6,400 characters in a font. You can also
select any of the predefined encodings to examine a font and then include
it as the default encoding upon export.
You even can create your own custom encodings and use them to properly
assign names to your characters.
Editing Fonts
Names Mode
To switch the Font window to the Names mode, click the button
on the Font window toolbar.
To select the current encoding for the font, use the Encoding combo
box. When you open it you will see the following available encodings:
Imported
Default
Adobe
Standard
ISO Latin 1Adobe ISO Latin 1 standard encoding.
Macintosh
Adobe
Cyrillic
Macintosh
Cyrillic
Symbol
ANSI
The encoding that was loaded with an imported font.
The default encoding for all the applications in the FontLab family.
This provides the best support for Windows or Mac OS, depending
on the version of FontLab.
Adobe Standard Encoding. This is useful if you want to create a
PostScript font.
Standard encoding for Macintosh computers.
Standard encoding for supporting Cyrillic characters on PostScript
printers and in Windows.
Standard encoding for supporting Cyrillic characters on Macintosh
computers.
Standard encoding for supporting fonts that include mathematical
and other characters.
Standard encoding used in Windows.
71
FontLab 4
Additional Encodings
All encodings are stored in text files that can be edited in any text
processor. This is not recommended but may help if you find that our
standard encodings do not work for you.
If you want to define a non-standard encoding, save the file in a
FontLab directory:
How to Create a Custom Encoding File
To create a custom encoding file:
1. Copy the .enc file located in the Encodings directory to use as the basis for your new encoding
file.
2. Open the copied file in any text editor (Windows Notepad will do) and then edit it, following the
same structure that you find in the original file.
3. Change the name of the encoding and the encoding index in the first line of the file. The first
line should have the following structure:
%%FONTLAB ENCODING: 7; Adobe Symbol Encoding
“%%FONTLAB ENCODING: ” is the prefix of the file used to detect properly made encoding
files and must not be changed. Note the space between ‘:’ and the encoding index.
‘7’ is the index of the encoding vector. You must not change the encoding vector indexes of any
of the encoding vectors or they will become unusable. If you make your own encodings the
indexes of your files should not be used in any of the other files. The actual value of the index is
not important, so you can assign indexes like 1001 or 10001.
The last part of the first line, “Adobe Symbol Encoding”, is the name of the encoding vector. It
starts at the first non-space character after ‘;’.
4. Save this encoding file with a different file name but be sure to use the .enc file extension. Put
this file into the directory where all the other .enc files are located.
The new encoding will
is used.
appear in the Encoding selection combo box the next time FontLab
72
When you change the encoding you will see that the characters in the Font
Window are rearranged. Some characters will move below the “yellow”
zone. Remember that only characters that are in yellow cells are covered by
the currently selected encoding vector.
Editing Fonts
Definition Encoding Tables
This kind of encoding table has no reference to the character encoding and
is used primarily to organise a collection of glyphs in some useful way. For
example, if your font contains several glyphs representing the ‘A’
character, like “A.smallcaps”, “A.heading”, “A.swash”, “A.lowered”, it could
be a good idea to have them visually close in the Font Window:
You can do this by creating an .ENC file that enumerates the characters
that you want to arrange. Note that it is not required to put any codes into
a definition encoding table, so the body of the .ENC file might look
something like this:
You can use this form of the encoding table as a template for your font so
that you will not miss an important glyph. Please remember, however, that
you cannot use this table for any kind of encoding. You must switch to one
of the mapping encoding tables or to Unicode-based Ranges or Codepages
mode to check the encoding of your font.
73
FontLab 4
The Unicode Standard
The Unicode Worldwide Character Standard (that’s the full name of the
Unicode standard) is a character coding system designed to support the
interchange, processing, and display of the written texts of the diverse
languages of the modern world. In addition it supports classical and
historical texts of many written languages.
In the Unicode standard a character is identified by a double-byte index.
The standard potentially can cover 65535 characters in a “basic plane” and
much more using plane switching. In the current version of the standard
(3.2) several hundred thousand indexes are defined. That covers almost all
currently used languages, some historical languages and many pictorial
characters.
FontLab can only work with Unicode indexes from the basic plane (which
potentially can cover 65,535 indexes).
The Unicode standard is used in TrueType fonts as the main character
identification method. In principle TrueType fonts may be encoded with
other standards, but in Windows Unicode is always used.
74
We recommend visiting the Unicode Consortium official Web site at:
http://www.unicode.org
to get more information about this standard.
Editing Fonts
Unicode Ranges
In Unicode the standard character space (indexes 0 — 65,535) is divided
into ranges. Each range typically covers characters that belong to one
alphabet or have common properties, like the Cyrillic range or the Hebrew
or the Extended Latin.
Ranges may be of various lengths — from a few characters to several
thousand characters (in the case of Kanji characters).
In FontLab you can select any Unicode range and view your font as
organized by the range. All characters with Unicode indexes in the selected
range will be arranged in order in the yellow zone at the top of the Font
window.
In order to simplify working with Unicode ranges in FontLab all the
“official” ranges in the Unicode standard are subdivided into subranges.
You can work with the whole range or select one of the subranges. For
example, you can select the whole Cyrillic range that includes all currently
used and historic Cyrillic characters, or you can select just the historic
letters or only the Russian alphabet.
75
FontLab 4
To select a range in the Font Window:
1.Switch the Font Window to the Unicode Ranges mode by clicking the
Ranges
2.The encoding selection combo box will show the names of all available
Unicode ranges and subranges:
Range names are aligned to the left of the list box and the subranges'
names are indented to the right.
button.
76
3.Select the range or subrange that you want to work with and you will
see the Font Window change so that only characters from the selected
range are in the yellow (encoded) area.
The definitions of the Unicode ranges and subranges may be changed.
They are placed in a text file that you can edit in any text editor. You can
add your own ranges or subranges that, for example, may include only one
character whose placement is very important to you.
Editing Fonts
How to Edit the Unicode Ranges Definition File
The Unicode ranges definition file is located in the Data directory and has the name URANGES.DAT.
To change this file, open it in a text editor. You will see the following text:
%%FONTLAB UNICODE RANGES
0x0000,0x007F,C0 Controls and Basic Latin
0x0000,0x001F, C0 controls
0x0020,0x007F, ASCII
0x0080,0x00FF,C1 Controls and Latin-1 Supplement
0x00A0,0x00FF, ISO 8859-1 (aka Latin1)
0x0100,0x017F,Latin Extended-A
0x0100,0x017F, European Latin
0x0180,0x024F,Latin Extended-B
The first line of this file is an identification line. It should not be changed or FontLab will not accept
this file as a valid Unicode range definition file.
All other strings have the same structure:
<first index of the range>, <last index>,<range’s name>
Note that there is no space before a name range’s name but there are four spaces before a
subrange’s name. Using this simple method you can indent ranges’ names as you wish.
77
FontLab 4
Codepages
Codepages are tables that map character codes (one byte long) to the
Unicode indexes. Depending on the size of the page, these tables may have
256 or 65,536 records, one for each possible character code. Long
codepages are called double-byte codepages and are primarily used to
represent codes used in Chinese, Japanese, Korean or Vietnamese
languages.
Codepages are necessary because we need to somehow encode text written
in different languages in the one-byte code space. So when we have a text
file encoded according to some codepage, we use the codepage table to find
which characters were used in this text. We may have two different texts
with the same code 192 (decimal), but in one case it may mean the Russian
‘A’ and in the other case it may mean ‘À’ (Agrave).
Codepages are used not only to identify characters, but also to simplify text
sorting, conversion of lowercase to uppercase characters, spell-checking
and in many other applications where it is necessary to know which
characters are used in the text.
78
Editing Fonts
Because the Unicode character identification standard covers most
languages it is usually used as the destination information in the codepage
tables. Here is an example of fragments from two different codepages that
map the same codes to different Unicode indexes:
Many different codepages have been defined for many languages and
different operating systems. FontLab 4.6 includes descriptions for 124
codepages — all the known Windows, OS/2, MS DOS, Mac OS codepages
plus a few others like the Polytonal Greek, Russian KOI-8 and NeXT Step
codepages.
In FontLab a codepage is a filter through which you can “look” at your font
to see how it will work in different environments. For example, you might
include many Unicode characters in your font and see how it would work if
it was installed in OS/2 with the Arabic language selected. This gives you
the opportunity to easily create fonts that will be properly encoded and will
always work correctly.
79
FontLab 4
To select a codepage in the Font Window:
1.Switch the Font Window to the Codepages mode by clicking the
Codepages
2.The encoding selection combo box will show the names of all available
codepages:
button.
80
MS Windows codepages come first, MS DOS codepages follow. All
other codepages are sorted according to their names.
3.Select the codepage that you want from the list and you will see the
Font Window change. All the characters that are in the codepage
appear in the “yellow” area. All other characters are in the “white” area
below. Select the MS Windows 1252 Latin 1 codepage and you will see
how your font will look in the Windows standard (Western) codepage.
All codepages in FontLab are defined in editable text files, so you can
change any codepage if you think it is wrong (please let us know!) or you
can define your own codepage. We do not recommend changing any of the
codepages supplied with FontLab. They are extensively tested and are
based on the documents from the companies who supply them.
Editing Fonts
Double-byte
If your font contains many characters from one of the Far-East languages
you may need to use double-byte codepages. If you select one of these
codepages, you will see an additional control to the right of the codepage
selection list:
This control allows you to select a “page” of the codepage. Theoretically, we
may have 256 pages of 256 codes each, which gives us 65,636 codes. In
practice none of the known codepages has that many codes and usually less
than half of that number.
How to Make a Codepage Definition File
Codepage definition files (extension CPG) are text files that have the following structure:
%%FONTLAB CODEPAGE: 0xFFFF; MS Windows 1251 Cyrillic
%%UN2/UN2
0x00 0x0000
0x01 0x0001
0x02 0x0002
0x03 0x0003
The first line of this file is an identification line that is used to set the codepage name and tell
FontLab that this file is a properly composed codepage definition file. This line must be started by
the text:
%%FONTLAB CODEPAGE: 0xFFFF;
The name of the codepage follows.
All other strings starting with ‘%’ are comments and are not interpreted by FontLab.
The following strings are formed as pairs of two integer numbers in decimal or hex (starting with
“0x”) form. The first number is the code of the character and should be in the 0-255 range. The
second number is the Unicode index of the character and should be in the 0-65535 (0-FFFFh) range.
The special Unicode index 0xFFFF is used to define codes that are not mapped to any character.
81
FontLab 4
Us i ng the Fo nt W i n d o w
The glyph chart in the Font window is a visual representation of all the
glyphs in the font. To modify the font you have to learn how to use the
glyph chart: navigate, select glyphs and select commands.
From here on we will reference all characters as glyphs. We would like to
clarify once more: a font is a collection of glyphs. Text is a collection of
codes. An alphabet is collection of characters. Since we are talking of fonts,
we will be using the term “glyph”.
82
Editing Fonts
Navigating
One of the glyphs in the Font window is the “current” glyph. It is specially
highlighted:
To view different parts of the font in the Font window you can either
use the vertical scroll bar or the auto-scroll mode: if you place the mouse
anywhere in the chart; press the mouse button; and move the mouse
cursor above the top or bottom of the chart it will scroll up or down
accordingly.
You can also use the spacebar to scroll the Font window. Press the
spacebar and drag the mouse to scroll the window vertically.
Alternatively you can use the keyboard keys to navigate in the font chart:
Arrow keys
Ctrl+Right arrowMoves 2 cells right
Ctrl+Left arrow
Page Up and Page Down Moves the glyph highlight one screen up or down
Home
End
Ctrl+HomeMoves the glyph highlight to the first glyph on the chart
Ctrl+EndMoves the glyph highlight to the last glyph on the chart
Moves the current glyph highlight one cell right, left, up
or down, according to the key used
Moves 2 cells left
Moves the glyph highlight to the leftmost glyph on the
current row
Moves the glyph highlight to the rightmost glyph on the
current row
If you have a wheel on your mouse you can use it to scroll the Font window
vertically or, with the
SHIFT key, horizontally.
83
FontLab 4
Selecting
In addition to the current glyph you can select sets of glyphs in the font
chart. These selections behave similarly to selected text in a text editor –
you can copy selected glyphs to another place in the font or to a different
font; you can apply different effects to the selection; etc. Selected glyphs
have inverted colors:
To select one or more cells, press the left mouse button on the first or
last cell of your selection and drag the cursor across the cells you want to
select. You will see the selection highlighted. If you drag the cursor outside
the visible part of the chart, it will scroll accordingly. To cancel yourselection, click on any glyph cell.
84
Alternative: Using the navigating keys on the keyboard, set the current
cell highlight on the first (or last) cell of a selection, then press the SHIFT
key. Move the current cell highlight (as described earlier) to select the cells.
Selection does not have to be continuous. If you press the
can select cells in any order and combination.
CTRL key, you
Editing Fonts
Context Menu
Most commands available in the Font window can be selected from the
popup menu.
To open the popup menu, press the right mouse button anywhere in
the chart area.
Here is a sample of the Font window popup menu:
85
FontLab 4
Here is what the commands mean:
WidthAllows you to easily select one of the predefined widths of the Font
window.
Copy
PastePlaces glyphs from the Clipboard into the font starting from the
Append
DeleteDeletes the selected glyphs. Same as the Delete command from
Mark
More
Sort glyphsApplies different sorting methods to the glyph collection. Note
Edit in new
window
Edit metrics
Properties
Copies the selected glyphs onto the Clipboard. Same as the Copy
command from the Edit menu
first selected cell. Same as the Paste command from the Edit
menu.
Appends glyphs from the Clipboard to the current font.
the Edit menu.
Marks the selected glyph(s) with one of the predefined colors
Submenu with more commands (described below)
that this has no effect on glyph encoding or names. Only the
indexes of glyphs are changed.
Creates a new Glyph window and opens the current glyph in it
Opens the Metrics window with the currently selected glyphs
Opens the glyph properties panel for the current glyph or selected
glyphs
86
Contents of the More submenu:
Editing Fonts
Rename
Select as default
Remove Unicode
Add Note
Create Glyphs
Select encoding
Transform
Transform
Range…
Opens a rename dialog box
Selects the current glyph as the “default glyph” that is used in
Type 1 fonts to represent glyphs that are not present in the font.
Removes the Unicode indexes in the selected glyphs.
Adds a Note to the current glyph.
Creates a new glyph in every selected empty cell
Selects the current encoding – the yellow area at the top of the
font chart.
Opens one of the transformation dialog boxes. Refer to the
“Transformations” chapter for more detailed information about
available transformations.
87
FontLab 4
Mo v i ng Gl y phs
You can change the positions of glyphs in the font chart just by moving
them to a new place.
To move glyphs in the font chart:
1.Select the glyphs that you want to move.
2.Position the mouse cursor on the selected glyphs.
3.Press the left mouse button.
4.Drag the glyphs to the new position. Release the button to finish
moving or click the right mouse button to abort.
If you move glyphs over the cells of existing glyphs, you will see a dialog
box prompting you to choose whether to replace the existing glyphs or save
them by moving them to the end of the encoding:
88
Leave Keep replaced symbols under new names checked to save the
glyphs (I.e. put the new glyphs in the cells and move the existing glyphs to
cells at the end of the encoding) or clear it to replace them (I.e. delete the
existing glyphs).
Editing Fonts
Note that even if source selection is not continuous the destination
selection will be continuous:
If you are working in the Index mode, when you move glyphs they will not
replace existing glyphs that they overlay. Instead moved glyphs will be
inserted in front of the existing glyphs in the glyph sequence of the font.
89
FontLab 4
S a v i ng the Fo n t
Most of the font-modification operations are not undoable, so we
recommend you save your work regularly.
To save a font that you have opened from an existing font file (in
FontLab or other format), use the File > Save command or click on the
Save
To save all opened fonts click the File > Save all command or this
button on the Standard toolbar:
Font(s) will be saved in FontLab format (VFB extension) to the directory
where the original font was opened. If this option in the General page of
the Options dialog box is active:
FontLab will create a backup copy of the existing font file before
overwriting it with the new one.
button on the Standard toolbar.
.
90
If you are working with a new font or you want to select the
destination directory or change the name of the file, use the File > SaveAs... command.
Please note that you cannot save fonts with more than 6,400 glyphs. If you
try to save a bigger font you will see a warning message that will
recommend splitting a font into smaller parts.
If you want to work with bigger fonts consider using our AsiaFont Studio
product. More information about it is available at this page:
http://www.fontlab.com/html/asiafontstudio.html
Editing Fonts
After you select File > Save As... in the menu, you will see the standard
File Save dialog box:
There is nothing special here except that it will show the font name for the
font files that you are selecting in the file list.
Choose the destination directory, enter the file name and click OK to save
your font.
91
FontLab 4
Autosave
If you want to protect yourself from system or program crashes you can use
the Autosave function that will periodically save the current font.
To activate and customize this feature, open the Tools > Options
dialog box and select the General page.
In the bottom part of the page, you will see the Autosave controls:
Use the check box to activate Autosave and enter the time interval (in
minutes) at which you want to save the font.
Font will be saved into the Autosave folder (subfolder in the FontLab
directory) and will be named using the following structure:
Fontfilename.save.vfb, where fontfilename is the name of the font file to
which you manually saved the font the last time.
If Autosave was active and you have a system or program crash, you can
open your last saved font from the Autosave directory.
92
Editing Fonts
Co py i ng and P a s t i n g G l y p h s
To copy selected glyphs, select the Copy command from the Edit menu.
Note that this copies not only the glyph outline, but also the glyph
information, such as its name. The selected glyphs will be placed in the
Windows Clipboard and can be pasted into the same font or into another
font by the Paste command from the same menu. Glyphs from the
Clipboard will be placed starting from the first selected glyph in the
destination font. If the destination position is occupied by existing glyphs a
warning dialog box appears:
If you select the Cut command instead of the Copy command the glyphs
will be copied to the Clipboard but will be deleted from the source
positions.
93
FontLab 4
The Paste Special Command
When the common Paste command is used all the glyphs’ layers are pasted
from the Clipboard including guidelines, bitmap background, mask etc. To
get more control over the pasting procedure use the Paste Special
command in the Edit menu. The Paste Special dialog appears:
94
to let you choose what glyph information you are pasting. Check the
checkboxes and click OK to finish pasting glyphs.
When pasting with this special command the destination selection does not
have to be continuous, i.e. you can select cells to be replaced in any order
and combination.
Editing Fonts
Copying Glyphs to Another Font
You can use two methods to copy glyphs from one font to another:
1)
Use the Copy and Paste commands from the Edit menu as described in
the “Copying glyphs” section, or
2)
Drag them to the other font and drop them there. The drag-drop
method is easier and more visual.
95
FontLab 4
Appending Glyphs to the Font
Instead of the Edit > Paste command you can use the Append command
from the Font window context menu to add glyphs from the Clipboard to
the font.
When FontLab appends glyphs, it respects the glyph names and Unicode
indexes, so on the first attempt glyphs will be placed in the expected code
positions in the font.
Here is an example. Your first font contains Latin glyphs but has no Cyrillic
glyphs. A second font is a Cyrillic font with the matching style and you
want to add Cyrillic support to the first font.
1.Select the Cyrillic glyphs in the second font (this will be easy if you
select the 1251-Cyrillic codepage or the Cyrillic Unicode range) and
copy them to the Clipboard.
2.Return to the first font; right-click the Font window; and click on the
Append command in the context menu:
96
3.The Cyrillic glyphs will be appended to the font with their correct
Unicode indexes and names, so you will not have to re-map the font.
Editing Fonts
Copying Composite Glyphs
If you copy composite glyphs (instead of having their own outlines
composite glyphs are built from references to other glyph outlines) to
another font, FontLab will try to not decompose (replace references to
glyph with actual glyph copies) them. Instead it will try to find matching
components in the glyph set that was copied or, if some components are
not present there – in the destination font.
If FontLab can completely restore composites in the destination font it will
even keep TrueType hinting programs for these glyphs.
Drag-Drop of the Composite Glyphs
If you prefer to use the drag-drop method to copy composite glyphs you
have one additional option: when you drop a composite glyph and FontLab
finds that one or more of its components were not selected to copy and do
not present in the destination font, it shows a message asking you if you
want to copy all the missing components. If your answer is Yes, then
FontLab will automatically append all the necessary components to the
destination font so that all the composites stay unchanged.
97
FontLab 4
Duplicating Unicode Indexes
In FontLab you may assign more than one (up to 63, actually) Unicode
indexes to a glyph. Visually this means that a glyph that has several
Unicode indexes will appear several times when one of the Unicode modes
(Ranges or Codepages modes) is selected in the Font window. To
distinguish the original copy of the glyph from the duplicates the latter are
marked by a small blue mark in the left-top corner of the glyph cells.
To make a duplicate of a glyph, select it (you may select many glyphs at
once); position the mouse cursor on the selection; press the left mouse
button; press the
want it to be duplicated. It is important to have the
you release the mouse button.
You can later correct Unicode indexes assigned to the glyph by using the
Rename Glyph dialog or the Glyph Properties panel (described later).
CTRL key; and drag the selection to the place where you
CTRL key pressed when
98
Editing Fonts
D e l e t i ng G l y p h s
To remove glyphs from the font
1.Select the glyphs that you want to remove.
2.Select the Delete command from the Edit menu or from the popup
menu. Or, press the
3.A dialog box appears asking you if you are sure that you want to delete.
Note 1: Deleting glyphs from the font is not undoable, so save your work
before deleting glyphs.
Note 2: If you are in Unicode mode and deleting glyphs with the blue mark
in the top-left corner, they will be removed without any questions because
they are just one of the indexes of a multi-Unicode glyph.
DELETE key on the keyboard.
99
FontLab 4
Cr e a t i ng Ne w G l y p h s
If you want to create a new glyph in an empty place in the font (a gray cell
in the Font window), double-click the cell.
If you want to create a group of new glyphs with a single command, select
the empty cells; right-click the Font window; and use the More > CreateGlyphs command in the context menu:
100
If you are creating glyphs in the “yellow zone”, names and Unicode indexes
are assigned to the newly created glyphs according to the selected encoding
table.
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.