Fontlab FONTLAB 4.6 User Manual

FontLab
for Windows®
User Manual
®
4.6
FontLab 4
Copyright ©1992-2003 by FontLab, Ltd. All rights reserved.
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

CONTENTS 3
INTRODUCTION 15
About this Manual 16
System Requirements 18
FONTLAB USER INTERFACE 19
Basic Terms 20
Getting Started 24
Customizing FontLab’s User Interface 26
Customizing Toolbars 27 Customizing Menus 29 Customizing Individual Items 30 Converting a Menu to a Toolbar 32 Customization of the Keyboard 33 Links to External Programs 35 Faster Method to Customize Commands 36
FontLab Windows 37
Font Window 38 Glyph Window 40 Metrics Window 44
Contents
Panels 48
EDITING FONTS 51
Opening Fonts 52
Font Formats 55 Import Options 56
Creating a New Font 61
The Font Window 62
Encoding Modes 66
Characters, Codes and Glyphs 67 Names Mode 71 The Unicode Standard 74
3
FontLab 4
Unicode Ranges 75 Codepages 78
Using the Font Window 82
Navigating 83 Selecting 84 Context Menu 85
Moving Glyphs 88
Saving the Font 90
Autosave 92
Copying and Pasting Glyphs 93
The Paste Special Command 94 Copying Glyphs to Another Font 95 Appending Glyphs to the Font 96 Copying Composite Glyphs 97 Duplicating Unicode Indexes 98
Deleting Glyphs 99
Creating New Glyphs 100
Highlighting Glyphs 101
Marking Glyphs 101 Glyph Collection 103
Searching for Glyphs 106
Renaming Glyphs 108
Reencoding the Font 110
Unicode-Related Operations 113
Generating Unicode Indexes 113 Generating Names 115 Removing Unicode Information 116
The Font Map Panel 117
Managing Double-Byte Codepages 119
Notes 120
Sorting Glyphs 121
Working with Multiple Fonts 122
Windows List 123 Fonts Panel 124 Merging Fonts 126 Saving and Opening a Workspace 127
Applying Actions 128
Blending Fonts 129
Exporting and Printing 132
4
Contents
Font Formats 132 Export Options 135 Type 1 Export Options 137 TrueType Export Options 141 OpenType Export Options 146 Recommended Export Options 148
Printing Fonts 149
Font Window Options 151
View Options 152 Tuning Options 153
THE FONT HEADER 155
Font Info Dialog Box 156
Command Bar 158 Copying Font Info 159
Font Names 160
Basic Identification and Names 161 Accessing MyFonts.com Database 164 OpenType-Specific Names 166 Non-English and Special Names 167 Copyright Information 171 Font Embedding 172 Designer Information 173 License Information 174
Font Identification 175
Version Information 175 Basic Font Identification 176 PANOSE™ Identification 178 Other Identification Systems 180
Metrics and Dimensions 182
Font UPM Value 182 Basic Font Dimensions 183 Advanced Vertical Metrics 184 Superscript and Subscript 187
Encoding and Unicode 188
Supported Codepages 189 Supported Unicode Ranges 191
Hinting Settings 192
Alignment Zones 193 Type 1 Standard Stems 195 Global Hinting Parameters 197
Format-Specific Options 199
Type 1 Export Options 200 TrueType Export Options 201 TrueType Mapping Settings 202 Device-Dependent Metrics 203
5
FontLab 4
Font Smoothing Control 205 [head] Table Settings 207 Basic PCLT options 208 PCLT Identification 209 PCLT Metrics and Font Description 210 PCLT Codepages 211
THE GLYPH WINDOW 213
Glyph Window Contents 214
The Glyphs Bar 217
Selecting a Glyph for Editing 219
Changing the View in the Glyph Window 220
Quick Zoom Selection 222
Tools and Operations 224
Edit Mode 226
Editing Layers 228
Easier Way to Control Editing Layers 231
Outline Layer 232
Contours 234 Outline Appearance 240 FontAudit 245 Moving Nodes 248 Using the Keyboard 251 Non-node editing 252 Changing Connection Type 254 Deleting Nodes 255 Deleting Lines and Curves 256 Eraser Tool 257 Inserting Nodes 258 Using the Drawing Tool 259 Adding Points to a Contour 261 Converting Primitives 262 Breaking and Joining Outlines 263 Node Commands 264 Node Properties 266 Previewing Glyphs 268
Selections 276
Using the Magic Wand Tool 277 Moving the Selection 278 Copying the Selection 278 Transforming the Selection 281 Selection Commands 285 Selection Properties Panel 286 Transformation Panel 287 Find and Replace Operation 289 Building an Outline From Blocks 291
6
Contents
Outline Actions 296 Creating Contours 297 Merging and Intersecting Contours 301 Outline Optimization 302
Metrics 303
Editing Metrics 304 Baseline Properties Panel 306 Metrics Properties Panel 306
Grid Layer 307
Guidelines Layer 308
Editing Guidelines 309 Guidelines Popup Menu 311 Guidelines Tracking 312 Guidelines Properties Panel 313
Mask Layer 314
Editing Mask 315 Mask Operations 316 Assigning a Mask 317 Specifying Mask Appearance 318
Template Layer 320
Background Layer 321
Background Positioning 323
Hints And Links Layer 324
Links 325 Editing Hints 326 Hints Tracking 327 Editing Links 328 Hint and Link Popup Menu 329 Hint Commands 330 Autohinting Options 331 Hint Properties Panel 333 Link Properties Panel 333
Anchors Layer 334
Moving Anchors 335 Removing Anchors 335 Renaming Anchors 335 Changing Anchor Color 335 Anchor Properties 336 Using Anchors to Build Composites 337 Using the Anchors Panel 340 Creating Composites and Ligatures 342 Aliases Table 344
Vertical Metrics 345
Alignment Zones 346
7
FontLab 4
Sketch Mode 347
Moving Points 350 Changing Point Type 350 Removing Points 350 Inserting Points 351 Reversing Contours 351 Selecting Points 352 Moving the Selection 353 Transforming the Selection 353 Selection Operations 354 Breaking and Joining the Sketch Outline 354 Converting to Outline 355
VectorPaint Mode 356
Freehand Select Tool 358 Pen (Contour) Tool 359 Brush Tool 360 VectorPaint Options 362 Line Tool 363 Polygon Tool 364 Ellipse and Rectangle Tools 365 Text Tool 366
Meter Mode 367
Setting Guidelines, Anchors and Sidebearings 369
Outline Operations 370
Interpolation 371
Envelope 375
Curve 378
Set 379
Reversing a Contour’s Direction 380
Rearranging Contours 381
Working with Composite Glyphs 382
Adding a Component 383 Decomposing 384 Component Positioning 384 Component Properties 387
Using the Primitives Panel 388
Importing and Exporting Glyphs 391
Printing a Glyph 393
EDITING FONT METRICS 395
What are Font Metrics? 396
8
Contents
Kerning 397 Metrics Files 398
Metrics Window 399
Selecting a String for Previewing or Metrics Editing 402
Editing an Underline 407
Editing Metrics 408
Manual Metrics Editing 409 Using the Keyboard 410 Using the Metrics Table 411 The Measurement Line 413 Automatic Metrics Generation 414
Quick Save and Quick Open 416
Editing Kerning 417
Manual Kerning Editing 418 Using the Keyboard 419 Using the Table 420 Using the Kerning Dialog 421 Automatic Kerning Generation 423 Resetting Kerning 425
Adjusting Metrics and Kerning 426
Class-Based Kerning 428
Classes Panel 429 Class Definition 431 Defining the Class 432 Key Glyph 433 Editing Class-Based Kerning 434 Kerning Assistance 435 Metrics Assistance 438 Class-Based Kerning and OpenType Fonts 440
Opening Metrics Files 441
Saving Metrics Files 443
Printing a Sample String 444
TRANSFORMATIONS 445
The Transform Dialog Box 446
Transformation Actions 448
Outline Transformation 449 Hints and Guidelines Transformation 457 Metrics Transformation 459 Effects 462
Transform Range Dialog Box 468
Transformation Range 469
9
FontLab 4
Transformation Program 471 Using the Preview Window 472 Saving and Opening a Transformation Program 473
Transforming Fonts 474
HINTING 477
Font Scaling, PPM 478
Coordinate Rounding, Gridfitting 479
TrueType And Type 1 Hints 480
Type 1 Hints 481
Font-Level Type 1 Hints 482
Alignment Zones 483 Standard Stem Widths 487 Additional Control Data 490
Stem Hint Programming 492
Type 1 Hinting Tool 495
Inserting And Removing Replacement Points 497 Adding and removing hints 498 Editing Hints 499 Autoreplacing 500 Preview Panel 500
Some Examples 505
TrueType Instructions 506
Font Parameters 508
Visual TrueType Hints 509
TrueType Hinting Tool 510
Toolbar 512 Layers 514
Options Panel 515
TrueType Preview Panel 516
Program Panel 518
Alignment Instructions 521
Alignment Zones 521 AlignTop and AlignBottom Instructions 522 Hinting Alignment Zones 523 Align Instruction 524
Links 527
Standard Stems 528 Single Links 529
10
Contents
Double Links 534
Interpolation 538
Delta Instructions 540
Middle Delta Instructions 541 Final Delta Instructions 546
Removing Instructions 548
Standard Stems 549
Advanced Options 554
Context Menu 555
Hinting Sidebearings 561
Hinting Composite Glyphs 562
Automatic TrueType Hinting 563
Working With Bitmaps 564
Importing Bitmaps 565 Editing Bitmaps 566 Highlight Differences 568 Exporting Bitmaps 569
Hinting Strategies 570
Middle Delta or Final Delta 570 Single Link or Double Link 572 Hinting White Space 574 Hinting Serifs 576 Hinting Diagonals 577 Hinting Symmetrical Characters 578 Interpolate or Not 579
MULTIPLE MASTER FONTS 581
Multiple Master Fonts Theory 582
Design Axes and Dynamic Range 584 Standard Axes 586 Design Coordinates and Weight Vectors 589 Extrapolation 591 Anisotropic Interpolation 592 The Axis Graph 593
Multiple Master Fonts in FontLab 594
Creation of MM Fonts in FontLab 595 Defining an Axis 596 Selecting a Master Font 598 Using an Axis Panel 600 Previewing the Intermediate Design 604 Designing Master Fonts 605 Multiple Master Metrics 614
11
FontLab 4
Editing Axis Settings 615 Removing an Axis 616 Multiple Master and Font Info 617 Multiple Master Font Metrics 619 Editing the Axis Graph 620 Generating a Single-Master Font 623 Expanding the Master 624 Hinting Multiple Master Fonts 625 Generating a Multiple Master Type 1 Font 626
OPENTYPE FONTS 627
Font Features 628
Features and Lookups 630
Scripts and Languages 631
OpenType Font Formats 632
OpenType Tables 634
Feature Definition Language 635
Language Syntax 636
OpenType and FontLab 647
Importing OpenType Fonts 648
OpenType Panels 649
OpenType Panel 649 Adding and Removing Features 651 Reordering Features 652 Entering the Glyph and Class Names 653 Renaming Glyphs and Classes 654 Compiling the Feature Definitions 655 The Output Panel 657 OpenType Features Preview Panel 658 Converting the Kerning 660 Feature Development Process 661
Substitution Lookups 662
Single Substitution 663 Ligature Substitution 665 Alternate Substitution 667 Context-Dependent Substitutions 668
Positioning Lookups 672
Glyph Geometry 673 Value Record 674 Single Positioning 675 Pair Positioning 676
Known Features 679
OpenType Glyph Properties 683
Caret Positioning 684
12
Contents
Exporting OpenType Fonts 685
FontLab and VOLT 687
MACRO PROGRAMMING 689
The Python Programming Language 690
Installing Python 691
Macro Toolbar 692
Assign to Keyboard 694
Integrating into Menus 695
Macro Tool 696
Edit Macro Panel 697
Naming the Programs 698 First Steps 699
FontLab Python Classes 701
FontLab 702 Font 704 Glyph 706
INDEX 709
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 something Position the cursor over “something”, hold down the
Drag some object Position 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
Macro Opens 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
Tools On 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 Tools to 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 to the currently selected command.
Press the Reset All button to reset all changes back to FontLab defaults.
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 to locate the program to run:
Editing fields at the bottom of the Command: field allow you to define arguments 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 window Represents one of the opened fonts
Glyph window
Metrics window Used 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 kerning In 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 high­resolution 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
Output Text 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, non­copyrighted 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:
Format Extension Description
Type 1 Binary PFB
Type 1 ASCII PFA PostScript fonts printer downloadable form (this
Multiple Master PFB or PFA Special version of PostScript fonts — in binary
OpenType OTF CFF-based OpenType fonts.
TrueType TTF TrueType and TrueType-based OpenType fonts
FontLab 2.5 VFA Fonts 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” table Allow 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-Top Yellow-red or
Left-bottom Green or red
Right-bottom
Blue mark Character 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 save current 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:
41 42 43 20 5A 5D 6F 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60
Source text as sequence of codes
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 1 Adobe 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:
%%FONTLAB ENCODING: 1001; A Glyph Definition Encoding A.smallcaps A.heading A.swash A.lowered
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 065,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:
MS Windows 1252 Latin 1 MS Windows 1251 Cyrillic
0xC0 0x00C0 0xC1 0x00C1 0xC2 0x00C2 0xC3 0x00C3 0xC4 0x00C4 0xC5 0x00C5 0xC6 0x00C6 0xC7 0x00C7 0xC8 0x00C8 0xC9 0x00C9 0xCA 0x00CA 0xCB 0x00CB 0xCC 0x00CC
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.
0xC0 0x0410 0xC1 0x0411 0xC2 0x0412 0xC3 0x0413 0xC4 0x0414 0xC5 0x0415 0xC6 0x0416 0xC7 0x0417 0xC8 0x0418 0xC9 0x0419 0xCA 0x041A 0xCB 0x041B 0xCC 0x041C
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 arrow Moves 2 cells right
Ctrl+Left arrow
Page Up and Page Down Moves the glyph highlight one screen up or down
Home
End
Ctrl+Home Moves the glyph highlight to the first glyph on the chart
Ctrl+End Moves 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 your selection, 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:
Width Allows you to easily select one of the predefined widths of the Font
window.
Copy
Paste Places glyphs from the Clipboard into the font starting from the
Append
Delete Deletes the selected glyphs. Same as the Delete command from
Mark
More
Sort glyphs Applies 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 > Save As... 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 > Create Glyphs 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...