FontLab 4.
FontLab 4 Copyright ©1992-2003 by FontLab, Ltd. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of the publisher. Any software referred to herein is furnished under license and may only be used or copied in accordance with the terms of such license.
Contents Contents 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 Customizing Menus Customizing Individual Items Converting a Menu to a Toolbar Customization of the Keyboard Links to External Programs Faster Method to Customize Commands 27 29 30 32 33 35 36 FontLab Windows 37 Font Window Glyph Window Metrics Window 38 40 44 Panels 48 EDITING
FontLab 4 Unicode Ranges Codepages Using the Font Window Navigating Selecting Context Menu 82 83 84 85 Moving Glyphs 88 Saving the Font 90 Autosave Copying and Pasting Glyphs The Paste Special Command Copying Glyphs to Another Font Appending Glyphs to the Font Copying Composite Glyphs Duplicating Unicode Indexes Deleting Glyphs 92 93 94 95 96 97 98 99 Creating New Glyphs 100 Highlighting Glyphs 101 Marking Glyphs Glyph Collection 101 103 Searching for Glyphs 106 Renaming Glyphs 108 Re
Contents Font Formats Export Options Type 1 Export Options TrueType Export Options OpenType Export Options Recommended Export Options 132 135 137 141 146 148 Printing Fonts 149 Font Window Options 151 View Options Tuning Options 152 153 THE FONT HEADER 155 Font Info Dialog Box 156 Command Bar Copying Font Info 158 159 Font Names Basic Identification and Names Accessing MyFonts.
FontLab 4 Font Smoothing Control [head] Table Settings Basic PCLT options PCLT Identification PCLT Metrics and Font Description PCLT Codepages 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 Outline Layer Contours Outline Appearance FontAudit Moving Nodes Using the Keyboard Non
Contents Outline Actions Creating Contours Merging and Intersecting Contours Outline Optimization Metrics Editing Metrics Baseline Properties Panel Metrics Properties Panel 296 297 301 302 303 304 306 306 Grid Layer 307 Guidelines Layer 308 Editing Guidelines Guidelines Popup Menu Guidelines Tracking Guidelines Properties Panel Mask Layer Editing Mask Mask Operations Assigning a Mask Specifying Mask Appearance 309 311 312 313 314 315 316 317 318 Template Layer 320 Background Layer 321 Backgr
FontLab 4 Sketch Mode Moving Points Changing Point Type Removing Points Inserting Points Reversing Contours Selecting Points Moving the Selection Transforming the Selection Selection Operations Breaking and Joining the Sketch Outline Converting to Outline VectorPaint Mode Freehand Select Tool Pen (Contour) Tool Brush Tool VectorPaint Options Line Tool Polygon Tool Ellipse and Rectangle Tools Text Tool Meter Mode Setting Guidelines, Anchors and Sidebearings 350 350 350 351 351 352 353 353 354 354 355 356
Contents Kerning Metrics Files Metrics Window Selecting a String for Previewing or Metrics Editing 397 398 399 402 Editing an Underline 407 Editing Metrics 408 Manual Metrics Editing Using the Keyboard Using the Metrics Table The Measurement Line Automatic Metrics Generation 409 410 411 413 414 Quick Save and Quick Open 416 Editing Kerning 417 Manual Kerning Editing Using the Keyboard Using the Table Using the Kerning Dialog Automatic Kerning Generation Resetting Kerning 418 419 420 421 423 4
FontLab 4 Transformation Program Using the Preview Window Saving and Opening a Transformation Program 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 Standard Stem Widths Additional Control Data 483 487 490 Stem Hint Programming 492 Type 1 Hinting Tool 495 Inserting And Removing Replacement Points Adding and removing hints Editing Hints Autoreplacing P
Contents Double Links 534 Interpolation 538 Delta Instructions 540 Middle Delta Instructions Final Delta Instructions 541 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 Editing Bitmaps Highlight Differences Exporting Bitmaps 565 566 568 569 Hinting Strategies 570 Middle Delta or Final Delta Single Link or Double Li
FontLab 4 Editing Axis Settings Removing an Axis Multiple Master and Font Info Multiple Master Font Metrics Editing the Axis Graph Generating a Single-Master Font Expanding the Master Hinting Multiple Master Fonts Generating a Multiple Master Type 1 Font OPENTYPE FONTS 627 Font Features 628 Features and Lookups 630 Scripts and Languages 631 OpenType Font Formats 632 OpenType Tables Feature Definition Language Language Syntax 634 635 636 OpenType and FontLab 647 Importing OpenType Fonts 648
Contents Exporting OpenType Fonts FontLab and VOLT 685 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 First Steps 698 699 FontLab Python Classes 701 FontLab Font Glyph INDEX 702 704 706 709 13
Introduction Introduction 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.
FontLab 4 About this Manual 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.
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.
FontLab 4 System Requirements 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.
FontLab User Interface FontLab User Interface 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.
FontLab 4 Basic Terms 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.
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.
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.
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 Position the mouse cursor on the object and click the left mouse button Right-click so
FontLab 4 Getting Started When you run FontLab 4 for the first time (to run FontLab double-click on ) you will see a welcome screen for a few seconds and then the its icon FontLab window: Like almost all Windows programs FontLab has a menu, a few toolbars and a status bar at the bottom. There is nothing special about the FontLab menu except that you can position it any place on the screen.
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 Contains basic commands like file open and save, copy/paste, print and help Panels Controls the appearance of FontLab panels – shared windows used to control most professional FontLab fea
FontLab 4 Customizing FontLab’s User Interface 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.
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 CTRL key while you drag the button.
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.
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.
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.
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.
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.
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.
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.
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: to add a link.
FontLab 4 Use the button at the top of the Tools list to remove the reference to the program and the and buttons to change the order of 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”.
FontLab User Interface FontLab Windows There are only three types of Windows in FontLab: Font window Represents one of the opened fonts Glyph window Used to edit glyphs 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.
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.
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.
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.
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.
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.
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.
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: 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.
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).
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 CTRL key while you selecting a command in 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.
FontLab User Interface In preview mode (M and K buttons are not pressed) you cannot change glyph metrics or kerning, but you can safely preview the font in highresolution mode. In addition, you can preview and modify the position and width of the underline line: The editing field of the Metrics window may be in compact or expanded mode. By default it is contracted. To expand the metrics window, use the expand button .
FontLab 4 Panels 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 Control of all editing layers, “show”, “snap”, “lock” operations Transformation Panel for digital outline transformations Edit Macro Editor for Python macro programs OpenType Editor for OpenType features Output Text output panel. Other panels and macro programs may output text here.
FontLab 4 To dock a panel just drag it close to the window edge: 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. you can quickly enlarge a panel. Click the button again With this button to return the panel to its original size.
Editing Fonts Editing Fonts 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.
FontLab 4 Opening Fonts 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.
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).
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.
Editing Fonts Font Formats FontLab can import outline fonts in any of following formats: Format Extension Description Type 1 Binary PFB PostScript fonts in Windows-compatible binary form Type 1 ASCII PFA PostScript fonts printer downloadable form (this format is also used in most Unix-based operating systems) Multiple Master PFB or PFA Special version of PostScript fonts — in binary or ASCII form OpenType OTF CFF-based OpenType fonts.
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.
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 ‘ñ’.
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: Convert TrueType outlines to Type 1 outlines In FontLab you can work with Type 1 (based on 3rd -order Bezier curves) or TrueType (based on 2nd-order splines) outlines.
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 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 In OpenType fonts kerning data is stored as feature named “kern”. This option lets you import kerning data “kern” feature from that feature and to convert it to plain pair kerning format.
Editing Fonts Creating a New Font 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.
FontLab 4 The Font Window 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.
Editing Fonts The left combo box located on the Font Window header area: lets you select one of the caption modes: Name The Character name will appear in the cell caption Unicode The Character’s Unicode index Index The Glyph’s index Width The Character’s width Decimal The Decimal character code Hex The Character code as hexadecimal number Octal The Character code as octal number ANSI The ANSI character that corresponds to the character code Macro The appearance of the caption depends on th
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.
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.
FontLab 4 Encoding Modes 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.
Editing Fonts Characters, Codes and Glyphs A font is a collection of glyphs that usually have a common design. Each font has a header that stores top-level information, such as the font name and style, in an organised way. 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.
FontLab 4 Character and Glyph Identification To simplify access to the characters in the font each character has an identifier — an integer number or a text name. All font formats allow you to quickly locate a character whose identifier is known. A printing or previewing program that wants to output text converts character codes to character identifiers in the font.
Editing Fonts Character Identification in FontLab In FontLab there are four modes of character and glyph identification: 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.
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.
Editing Fonts Names Mode To switch the Font window to the Names mode, click the on the Font window toolbar. button 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 The encoding that was loaded with an imported font. Default 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.
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.
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.
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.
Editing Fonts Unicode Ranges In Unicode the standard character space (indexes 0 — 65,535) is divided into ranges. Each range typically covers characters that belong to one alphabet or have common properties, like the Cyrillic range or the Hebrew or the Extended Latin. Ranges may be of various lengths — from a few characters to several thousand characters (in the case of Kanji characters). In FontLab you can select any Unicode range and view your font as organized by the range.
FontLab 4 To select a range in the Font Window: 1. Switch the Font Window to the Unicode Ranges mode by clicking the button. 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. 3.
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.
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.
Editing Fonts Because the Unicode character identification standard covers most languages it is usually used as the destination information in the codepage tables.
FontLab 4 To select a codepage in the Font Window: 1. Switch the Font Window to the Codepages mode by clicking the button. Codepages 2. The encoding selection combo box will show the names of all available codepages: 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.
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.
FontLab 4 Using the Font Window 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”.
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.
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.
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.
FontLab 4 Here is what the commands mean: 86 Width Allows you to easily select one of the predefined widths of the Font window. Copy Copies the selected glyphs onto the Clipboard. Same as the Copy command from the Edit menu Paste Places glyphs from the Clipboard into the font starting from the first selected cell. Same as the Paste command from the Edit menu. Append Appends glyphs from the Clipboard to the current font. Delete Deletes the selected glyphs.
Editing Fonts Contents of the More submenu: Rename Opens a rename dialog box Select as default 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. Remove Unicode Removes the Unicode indexes in the selected glyphs. Add Note Adds a Note to the current glyph. Create Glyphs Creates a new glyph in every selected empty cell Select encoding Selects the current encoding – the yellow area at the top of the font chart.
FontLab 4 Moving Glyphs 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.
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.
FontLab 4 Saving the Font 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 button on the Standard toolbar. To save all opened fonts click the File > Save all command or this button on the Standard toolbar: .
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.
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.
Editing Fonts Copying and Pasting Glyphs 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.
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: to let you choose what glyph information you are pasting. Check the checkboxes and click OK to finish pasting glyphs.
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.
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.
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.
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.
Editing Fonts Deleting Glyphs 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 DELETE key on the keyboard. 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.
FontLab 4 Creating New Glyphs 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: 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.
Editing Fonts Highlighting Glyphs Sometimes you need to visually differentiate groups of glyphs to easily examine and select them. FontLab provides two methods of differentiation: marking and definition of a glyph collection. Marking Glyphs With marking you can add color to a glyph cell in the Font window. There are five predefined colors: red, blue, green, magenta and cyan.
FontLab 4 To mark the glyphs, select them in the Font window; right-click; and select the marking color in the Mark submenu of the context menu: To remove marking, select the marked glyphs; right-click; and select the “empty” rectangle in the Mark menu.
Editing Fonts Glyph Collection Another method of differentiating glyphs is to put them into a glyph collection. A glyph collection is a simple list of the glyph indexes visually represented in a special panel. To begin working with the glyph collection, open the Collection/Classes panel using the command from the Window menu. You will see a panel with two pages: Collection and Classes.
FontLab 4 The list works in “Report” mode by default and has several columns: Name Glyph icon and name Unicode Unicode indexes assigned to the glyph Width Glyph width Left sidebearing Right sidebearing Type Glyph type (normal glyph, ligature or accent mark) To switch the list to a different mode, use this button select one of the modes in the menu: on the toolbar and Other buttons on the toolbar mean: 104 Reset collection Removes all glyphs from a collection Select collection Selects
Editing Fonts Using the Collection Panel You can drag-drop glyphs selected in the Collection’s list to the Glyph window (the first glyph will be selected for editing) and to other FontLab panels. If you double-click a glyph icon in the Collection’s list, you will see a new Glyph window appear with this glyph prepared for editing. Select a glyph and press the F2 key to enter glyph-renaming mode. Enter OK to accept any changes or ESC to exit.
FontLab 4 Searching for Glyphs Sometimes you need to find a particular glyph in your font, especially in large fonts. Select the Choose Glyph command in the Glyph menu or press CTRL+BACKSPACE on the keyboard. You will see a dialog box: To find a glyph: 1. In the left-top combo box select the method by which you want to search for the glyph: Name Searches for the glyph name Code Searches for the decimal code of the glyph in the current encoding or codepage.
Editing Fonts 5. The names of all the glyphs that match the criterion will appear in the list. Select the glyph name that you want (its preview appears in the preview panel) and press OK, or enter more information to narrow your search. Use the buttons at the bottom of the dialog box for additional features: to select all glyphs in the list to mark all glyphs in the list in red. These features are very useful for managing big fonts.
FontLab 4 Renaming Glyphs Usually it is not necessary to manually rename glyphs because their names and Unicode indexes are assigned automatically when you move glyphs in the Font window. But if you want to see the information and correct it, select the Rename Glyph command from the Glyph > Glyph Names menu. Or just press CTRL+\ on the keyboard. You will see a dialog box: In the top part of the dialog box you see the current name and Unicode index (indexes) of the glyph.
Editing Fonts If the option Replace existing glyphs with the same name or Unicode index option is not checked then, if you enter a name that is already assigned to one of the font’s glyphs, the OK button will be disabled and you will not be able to assign that name. Switch the option on to allow FontLab to replace glyphs. Use the next option to control how FontLab does the replacement. Use the Unicode edit field to change a glyph’s Unicode indexes.
FontLab 4 Reencoding the Font In FontLab you can assign names from the encoding vector to glyphs that are sorted in the Font Window according to a different encoding vector. Or you can assign Unicode indexes from one codepage to the currently selected (different) codepage if the Font window is in Codepages mode.
Editing Fonts Depending on the selected mode you will see one of the following dialog boxes: Codepage version of the Reencode Font dialog box Encoding version of the Reencode Font dialog box 111
FontLab 4 Select the codepage or encoding table to which you want to reencode the glyphs and set the options necessary to control the reencoding process: Codepages mode: Move glyphs to the new codepage Removes currently assigned Unicode indexes and assigns new ones. Visually this means that glyphs are moved to their new places. Copy glyphs Add new Unicode indexes. Visually this means that glyphs having more than one Unicode index assigned are copied to their new places.
Editing Fonts Unicode-Related Operations Several commands in the Glyph > Glyph Names menu work with the font’s Unicode information. Generating Unicode Indexes To automatically generate Unicode indexes for all the glyphs in the font, select the Generate Unicode command from the Glyph > Glyph Names menu. You will see the dialog box: This is basically a warning message with an additional feature: it lets you choose the mapping file.
FontLab 4 Structure of the Name-Unicode Database The database that links Unicode indexes and glyph names is nothing more than a text file, STANDARD.NAM, located in the Data directory that has the following structure: %%FONTLAB NAMETABLE 0x0000 .notdef 0x0002 nonmarkingreturn 0x0020 visiblespace 0x0020 space . . . . . . . . . The first line of this file is a signature that is used to show that this file is a properly defined database file.
Editing Fonts Generating Names This operation is the opposite of the one described in the previous section. If you select the Generate Names command in the Glyph > Glyph Names menu, FontLab will use the name-Unicode database to automatically find names for glyphs whose Unicode indexes are in the database. Note that if more than one name is linked to the Unicode index, FontLab will use the one that is first in the database.
FontLab 4 Removing Unicode Information If you want to reset the Unicode information in your font, select the Clear Unicode command from the Glyph > Glyph Names menu. All Unicode information will be removed from all glyphs in the font. You may selectively remove Unicode indexes from glyphs selected in the Font window: 1. Select the glyphs. 2.
Editing Fonts The Font Map Panel When you work with really big Unicode-encoded fonts, you may need to have an overview of your whole font. FontLab has a special panel, called the Font Map, which can represent the entire Unicode code space as a 256 x 256 picture where every pixel represents a double-byte code. Every pixel row in this picture represents a Unicode page – 256 Unicode indexes which begin with the same code. For example, codes A700-A7FF will form one row.
FontLab 4 By clicking the Font Map: button on the toolbar you can zoom in on part of the In this mode it is much easier to manage individual codes. To scroll a zoomed Font Map, press the left mouse button and drag the cursor beyond the Map borders. If you click the Font Map, you will see the current Unicode index appear on the status bar below the Map picture. The current code is highlighted with a cross hair. Double click any code in the Map to jump to the glyph that is mapped to it.
Editing Fonts Managing Double-Byte Codepages If you are working on a CJKV (the acronym for Chinese, Japanese, Korean and Vietnamese) font, you may want to look at your font in a double-byte codepage. Open the Font Map panel and in the Font window of your font select one of the double-byte codepages. enabled in the Font Map toolbar. Click it and You will see this button you will see the Font Map rearrange to represent your font with the applied double-byte codepage.
FontLab 4 Notes Sometimes you may need to add a description or some other information to a glyph. In FontLab you can do that using the Notes function. A Note is a small text box that you can attach to the glyph. It is visible in the Font window and in the Glyph window. To add a note to a glyph in the Font window: left-click it; press the right mouse button; and select the More > Add Note... command in the context menu.
Editing Fonts Sorting Glyphs Sometimes you may want to sort the glyphs in a font file in some order other than their current order. There are two common reasons to do this: 1. You may need to sort glyphs to optimize a font’s performance – if you place glyphs that are used most often at the beginning of the glyph collection in some cases it may improve performance. 2. You may need to sort glyphs according to some logical sequence.
FontLab 4 Working with Multiple Fonts In FontLab you can open many fonts at once. Since every font has its own Font window sometimes the FontLab workspace becomes so crowded with windows that finding a particular font is not easy. This section will explain how to use FontLab tools that are specially designed to help you manage many open fonts simultaneously. To open many fonts you can use the standard File > Open command, then select many font files using CTRL and SHIFT-click in the File Open dialog box.
Editing Fonts Windows List The easiest way to manage open windows is to use the Window menu. It contains some very useful commands: Cascade Organizes open windows in a cascade like in the picture above. Tile horizontally Organizes windows like tiles on a rectangular floor. Tile vertically Windows... Opens the windows management dialog box. Choose the Windows... command and you will see a dialog box: Most of the dialog box is covered by the list of open windows.
FontLab 4 Fonts Panel The Windows dialog box is very powerful, but it works only on windows, without paying any attention to the contents of the windows – fonts. To organize your open fonts, use the Fonts panel. Use the Fonts panel command in the Window menu. When you click on this command you will see the panel: The Fonts panel contains a small toolbar in the top area and a list of open fonts.
Editing Fonts When you open some glyphs for editing, you will see names of those glyphs appear in the Fonts panel: Each glyph name is a reference to the glyph window opened with that glyph. You can use these references to bring glyph window with some glyph to the front (just double-click on the glyph name) or to close it (select it and click on the close button on the Fonts panel toolbar).
FontLab 4 Merging Fonts With the Fonts panel you can also merge fonts – append all the glyphs from one font to another. During this process FontLab will try to keep hinting information, composite glyphs and kerning pairs. FontLab will also try to keep the Unicode indexes and names of the appended glyphs. If copied glyphs have names that already exist in the destination font, FontLab will add a suffix with a number to the name. To merge fonts: 1. Open the two fonts you want to merge. 2.
Editing Fonts Saving and Opening a Workspace A Workspace is a set of fonts opened in FontLab and information about the position and size of their font windows. button in the Fonts panel toolbar. FontLab To save a workspace, use the will open a standard File Save dialog box where you can select a name and path for the workspace file. FontLab workspace files have the extension “.flw”. button in the Fonts panel toolbar or To open a workspace file, use the simply drag-drop the .
FontLab 4 Applying Actions You can find many actions in the Glyph and Tools menus that can be applied to the open glyph in the Glyph window (see next chapter), but most of them are applicable to the glyph(s) selected in the Font window. To apply an action, select the glyphs in the Font window and choose the appropriate command in the Tools or Glyph menu.
Editing Fonts Blending Fonts With FontLab you can automatically blend two fonts and generate an intermediate version of them: First font Second Font Resulting font (50% blend) The font blending process is completely automatic, it analyses the shapes of glyphs and tries to find the best way to morph one to another. Best example of blend feature is to make a font that has weight intermediate to two existing weights.
FontLab 4 You must have at least two fonts open to use the Blend fonts operation. To activate the Blend feature, select the Blend fonts command from the Tools menu. A dialog box appears: The dialog box is divided into three sections. The first two sections let you specify the fonts to blend. To select the first or second font choose the font name in the list. The Preview panel will show a sample of the font. You cannot select the same font in both sections; FontLab will take care of that.
Editing Fonts In the “Destination font:” combo box you can select the font in which to store the blended glyphs. Choose “New font” to put the generated glyphs into a new font. Further down there are two options: Select the second option if you want to blend only glyphs that are selected in the destination font. To the right there are controls to specify the blend amount: Enter the blend percentage in the editing field.
FontLab 4 Exporting and Printing You know how to open fonts, how to rearrange characters and change encodings and how to save fonts in FontLab format to keep your changes. Now it’s time to learn how to generate fonts in formats that other programs can understand. Please note that you cannot export fonts with more than 6,400 glyphs. If you try to export a bigger font you will see a warning message that will recommend that you split the font into smaller parts.
Editing Fonts To save a font in Type 1, TrueType or OpenType format use the File > Generate Font command. You will see a standard File Save dialog box with a few additional options: The top part of the dialog box is standard and there you choose a destination folder and enter a file name for the font file. By default FontLab will choose the folder where you saved fonts last time. Below the standard part of the dialog box is a field that shows the font name for the font file you selected in the file list.
FontLab 4 Available formats are: TrueType (ttf) TrueType and TrueType-flavored font format. Depending on the OpenType export options (discussed below) FontLab may write the additional data and tables that make the difference between “plain” TrueType and TrueType-based OpenType OpenType-CFF (otf) CFF-flavored OpenType font format. Refer to the OpenType chapter for more information about the OpenType fonts. Type 1 binary (pfb) Single-master Type 1 font format in a binary form.
Editing Fonts Export Options There are two methods of selecting export options. The basic set of TrueType and Type 1 options is available if you press the Options button in the Generate Font dialog box. If you need to get access to all the options, use the Type 1, TrueType and OpenType pages of the Tools > Options dialog box.
FontLab 4 Font-Specific Export Options In FontLab you can specify export options for individual fonts. Use the File > Font Info command to open the Font Info dialog box (described in full detail in the “Font Header” chapter). In the dialog select the “Type 1 specific-settings” item in the list of pages to customize Type 1 export options or “TrueType-specific settings” to customize TrueType export.
Editing Fonts Type 1 Export Options To get access to the full set of Type 1 export options, open the Tools > Options dialog and select the Type 1 page: Type 1 exporting options in the Export Options dialog box are a subset of the options accessible in the Tools > Options > Type 1 dialog box. Usually the subset is enough, but sometimes you may need to customize the full set. Make PFM File Switch this option on to create a PFM (Printer Font Metrics) file when exporting a Type 1 font.
FontLab 4 To install an exported Type 1 font in Windows you must have the PFM or AFM+INF files. We recommend making all these files when you finally produce a font so that your font will be compatible with various environments.
Editing Fonts Here is an explanation of the possible encoding export options: Always write custom encoding Always saves the custom encoding with the font. Never writes StandardEncoding. The encoding currently selected in the Font window will be exported. Always write StandardEncoding Always exports the font with the StandardEncoding. Select encoding automatically Exports the font with the StandardEncoding when the Font window shows StandardEncoding, Default Encoding or Windows ANSI.
FontLab 4 Type 1 Export Terminal If the Open Type 1 Export Terminal option is switched on and you save a font in Type 1 (Multiple Master or not) format, the following dialog box appears: As you can see, this dialog box previews and allows you to edit text data contained in the “open” and “private” sections of the exporting Type 1 font file. Use the Select a data section control to choose the part of the Type 1 font file that you want to edit and modify the text in the edit field below.
Editing Fonts TrueType Export Options TrueType export options are concentrated in the TrueType page of the Options dialog box: The TrueType format is more complex and more flexible than Type 1, so you have many more options to customize. There are two groups of TrueType export options: glyph export (including control over instructions) and Unicode export.
FontLab 4 Glyph Options Glyph export options control how FontLab exports glyphs and the first four options are related to the export of TrueType instructions: Export hinted TrueType fonts FontLab will export TrueType instructions of any type (original, manually edited or automatically generated) only if this option is on.
Editing Fonts Unicode Options Most TrueType fonts use Unicode indexes for the glyph encoding information. Therefore if you want to make a TT font that will always work your Unicode glyph mapping tables must be perfectly correct. Here is a description of the Unicode export options in the Windows version: Use Unicode indexes as a base for TrueType encoding If this option is on then FontLab will use the Unicode indexes that are set for the font’s glyphs as the source of Unicode encoding information.
FontLab 4 Export only the first 256 glyphs of the selected codepage This option is enabled only if you choose one of the remapping codepages in the list above. Put MS Char Set value into fsSelection field This is a “hack” used in older operating systems to correctly handle non-Latin fonts. It is not required and not recommended, but if you find that you need to use this hack to get your font to work in an old OS, just switch on this option and re-export the font.
Editing Fonts The general rule is simple: if you work with the Font window in Names mode use the Names TrueType exporting mode. If you work in Unicode mode use the Unicode exporting mode. Actually, FontLab will show a warning message if you try to export a font in Unicode mode while you are in the Names mode of the Font window and vice versa. What is the “First 256 Glyphs Range”? When we talk about the “first 256 glyphs” we do not mean those with Unicode indexes in the 0000h - 00FFh range.
FontLab 4 OpenType Export Options As we said before, in structure there is not much difference between TrueType and OpenType fonts. The key difference is that OpenType fonts contain some additional tables that allow advanced typographic and lexical features. The additional data is stored in 3 tables: GDEF, GSUB and GPOS.
Editing Fonts Name table export options In FontLab you can define a basic set of font names that will be used if the font is previewed in an English environment. In addition you can define language-specific names that appear if the font is used in a system in which the environment is not English. The list has the following options: Choose one of these options to determine which names will be included in the font.
FontLab 4 Recommended Export Options We recommend selecting different export options in different situations.
Editing Fonts Printing Fonts To print the font table select the Print command in the File menu. You will see a dialog box that asks you to select one of the printing modes: Select “Print the glyph table” to print a font chart containing samples of all font glyphs or “Print the properties list” to print short descriptions of all glyphs currently selected in the Font Window.
FontLab 4 When you press the OK button, FontLab will print a font table containing samples for all font glyphs, their names, and codes according to the current encoding and glyph cell caption settings. If you print a Multiple Master font the glyphs will appear according to the current font’s WeightVector. Printout of the font chart: Note that some information is colored; so printing on a color printer will have some benefits.
Editing Fonts Font Window Options To change Font window options, select the Font Window page in the Tools > Options dialog box: Controls on this page are separated into two groups: View options and Tuning options.
FontLab 4 View Options Select the desired size of glyph cell in the combo box. Possible sizes vary from 16x16 up to 64x64 pixels. Smaller cells occupy less space but hide details. If you select the smallest size (16x16) you will not be able to see the additional marks which are visible in cells at larger sizes. A sample of the different cell sizes: 16x16 24x24 32x32 48x48 64x64 Template Options Use the check boxes to switch on or off the cell captions and the template in the empty cells.
Editing Fonts Tuning Options Show Unicode indexes in captions in Unicode mode When this option is on FontLab will automatically show Unicode indexes in cell captions when you switch the Font window to the Unicode mode. It will restore the selected caption mode when you return to the Names mode.
FontLab 4 Smooth glyphs’ icons Activate this option to have glyph sample images in the Font window appear smooth. This increases visible resolution but requires more computing power. If you feel that the Font window is slow, try deactivating this feature. Show note icons If this option is on, Note icons will appear in the Font window.
Font Header The Font Header Perhaps the most important information you need to define for a font is its header or font info data. This information is mainly used to properly register the font in the operating system and in any program that uses it. It is very important to carefully define all font parameters. Even the bestdesigned font is useless if it cannot be installed.
FontLab 4 Font Info Dialog Box The control center where you define font parameters is called the Font Info Dialog box and is accessible from the File menu: or with the button on any Font window: The Font Info dialog box consists of three parts: 156
Font Header At the left there is a page selection control where you can choose one of the sections in order to edit part of the Font Info information: When you select one of the pages, it immediately appears to the right of the list: Use the arrow buttons in the top-right area of the page to browse all available pages: Alternately you may use the CTRL+TAB and CTRL+SHIFT+TAB key combinations to browse pages.
FontLab 4 Command Bar In the bottom area of the dialog box you find the command bar: The Left part of the bar allows you to select a font for header information editing without closing the Font Info dialog box. Use the arrow buttons to browse fonts: or click this button to select a font from the list: To the right you find four buttons: 158 Copy... Allows you to copy font header information between fonts.
Font Header Copying Font Info If you want to copy font info from one font to another, you can do it with the Font Info dialog box. 1. Open both fonts. 2. Activate the font to which you want to copy information. 3. Open the Font Info dialog box. 4. Click on the Copy button: 5. In the dialog box select the font from which you want to copy information: Using the options below the list you can copy only the information from the current page or the whole font info.
FontLab 4 Font Names The names section includes the most important font-registration information. All programs use the information on this page to refer to a font. Be sure to enter all the values very carefully and use the automatic features where available.
Font Header Basic Identification and Names Family Name [name: 1] (this mark is the ID of the name in the TrueType and OpenType specification: http://microsoft.com/typography/otspec/name.htm) The name of the typeface to which the font belongs. All fonts that are from the same typeface must have the same Family Name field. The Family Name is used as the root of the Font Name so we recommend that you fill in this field first. Weight Weight of the font.
FontLab 4 162 Font is bold [OS/2: fsSelection] The Font is defined as bold. Usually this checkbox is related to the Weight setting, but it is not required. For example, if you are making a family containing Light and Normal styles, you may need to mark the Normal style as Bold so you will not need to split these styles into two separate families. More styles Press this button to open a popup menu where you can select one of the additional font styles.
Font Header How to Make a Font Family If you have several styles of one font family (typeface), you should follow these simple rules: Enter the name of the font family in the Family Name record. Enter the same name in the Menu Name record, but control the length of the Menu Name by pressing on the Check button. The Family Name and Menu name should be the same for all fonts of the family. Select the correct styles for all fonts.
FontLab 4 Accessing MyFonts.com Database The last button on the Basic names page is Check at MyFonts.com: Click on this button to browse the huge database of fonts that is located on the MyFonts.com servers to see if your font name has already been used: In the topmost editing field you may enter the font name that you want to check for similarities. Click the Check button to send a request to the myfonts.com database. If you have an Internet connection, MyFonts.
Font Header The sample picture is downloaded from MyFonts.com, so it may take some time (depending on the speed of your Internet connection). You can modify the contents of the sample string in the editing field below the sample window. By default it has the standard “Quick brown fox” sentence but you can enter anything there. will open a browser window with the currently selected The Button font presented in full detail: There is also a Buy Me... button – click it if you want to buy the font.
FontLab 4 OpenType-Specific Names The OpenType format adds several new name records that are needed to use OpenType fonts on PC and Mac: Family Name “Preferred Family Name” [name: 16] –This name is used to create a family containing more than 4 styles. You need to use the same Preferred Family Name in all fonts that you want to put into a “big” family and make the Preferred Style Name different for each of these fonts. The Preferred Family name appears in the font menu as the “font name”.
Font Header Non-English and Special Names The TrueType and OpenType specifications let you put many names into the font. Most of them can be defined on specialised pages of the Font Info dialog box (Basic Names, OpenType names, Copyright, etc.) but these names are in English. If you need to have non-English names or names that are not covered by the FontLab FontInfo pages you may use this NonEnglish or special font names page.
FontLab 4 Most of the page is covered by the names list: The Columns of the list are: NID Name ID – code of the name (this is what we put in the [name: x] comment on ‘x’ place). PID Platform ID – platform identified. Could be 0, 1, 2 or 3. EID, LID Encoding and Language IDs – see the OpenType name table specification Text Content of the name table record. May include Unicode characters after the ‘\’. Click on the caption of the column to sort name records by one of the values.
Font Header To add a new name record, click on the button on a toolbar, select name record options using the controls below the list and type in the name record content. To enter non-ANSI characters use “\[unicode index]” or “\[code]” notation where [unicode index] is the Unicode index of the character if the name record is for the Unicode (0 or 1) platform and [code] is the character code in the Mac Roman codepage if the name record is for the Macintosh platform.
FontLab 4 Export options: Append OpenType name records to the names exported by default This is the default choice: FontLab will export English names and then add only those additional OpenType names that aren’t already covered.
Font Header Copyright Information On the copyright page you can enter information about the creators of the font. If you have created a new font you should enter your copyright notice here. If you have edited an existing font that was not your creation you must not remove the information contained on this page, or you may violate copyright laws. Created by Name of the company or person that created the font. If you are creating a new font enter your name or the name of your company here.
FontLab 4 Font Embedding These settings control how the font may be embedded into documents. Embedding is a feature of the Windows operating system and some applications that allow programs to include fonts into documents to guarantee that they will be reproduced correctly. However, this feature may cause problems with font piracy. It is not very hard to extract embedded fonts from a document, so the TrueType font format includes a special setting that can control font embedding.
Font Header Designer Information This page stores information about the font’s designer. Do not modify this data if you open an existing font to modify for personal use. Designer [name: 9] Name of font designer Designer URL [name: 12] A new entry implemented only in TrueType format. It is the WWW link to the designer of the font. Vendor URL [name: 11] This TrueType-only entry shows the WWW link to the site of the font vendor.
FontLab 4 License Information License and License URL records are relatively new and have appeared only in OpenType specification version 1.3. License [name: 13] License description – contains information about how the font can be used License URL [name: 14] URL where additional license information can be found. Use the button to the right of the License URL control to open the page in a Web browser window. This requires an Internet connection.
Font Header Font Identification Sometimes the operating system or a DTP application needs to know what the font looks like. It may be necessary, for example, to properly substitute for a missing font with the closest look-alike. FontLab supports all the font-identification settings that are used in Type 1 or TrueType fonts. Version Information Version Version of the font. Revision Revision of the font.
FontLab 4 Basic Font Identification TrueType Unique ID Record This field is necessary to identify TrueType fonts. Usually it includes the creator’s name, font family name and creation year. The format of this field is freeform, but we recommend that you button to fill this field automatically. use the Type 1 Unique ID Record An integer number identifying the font. Unique ID numbers must be registered with Adobe Systems.
Font Header Vendor.dat File FontLab stores information about registered vendors in the vendor.dat file located in the FontLab/Data folder. This is a text file with a simple structure: 2REB 2Rebels 39BC Finley's Barcode Fonts 3ip Three Islands Press 918 RavenType As you can see, it is just a vendor code followed by vendor name. A single space is used as a separator. If you want to change the file or add a new entry, just open it in any text editor (such as Notepad or WordPad) and make changes.
FontLab 4 PANOSE™ Identification In the PANOSE identification system 10 numbers describe a font. Each number represents one identification category. The most important category (represented by the first number) defines the “kind” of font — is it a normal Roman font, a hand-written font, a decorative or symbol font. The meaning of all the other categories depends on this setting. In all categories the first two values (0 and 1) mean Any and No Fit.
Font Header Here is a table of the categories and possible values for the Latin Text family: Serif Style Cove, Obtuse Cove, Square Cove, Obtuse Square Cove, Square, Thin, Oval, Exaggerated, Triangle, Normal Sans, Obtuse Sans, Perpendicular Sans, Flared, Rounded Weight Very Light, Light, Thin, Book, Medium, Demi, Bold, Heavy, Black, Extra Black Proportion Old Style, Modern, Even Width, Extended, Condensed, Very Extended, Very Condensed, Monospaced Contrast None, Very Low, Low, Medium Low, Medium, Medi
FontLab 4 Other Identification Systems IBM Identification The IBM Identification system uses a different approach from the one used in the PANOSE system. This system is based on the font’s appearance. In the IBM system two numbers that designate the font category and subcategory identify each font. A font’s design is compared to one of the “standard” and well-known designs. To set IBM Identification information select a Category that matches your font from the IBM Class list.
Font Header PCL and Ventura Publisher Identification These identification systems are relatively old ones and are rarely used in modern DTP applications. However, to keep compatibility with all possible usage of your font we recommend setting these options. They are used only with Type 1 fonts and are exported only in the INF file. Both systems are based on font appearance so they are close to the IBM identification system.
FontLab 4 Metrics and Dimensions This page is used to set font dimensions that are used mostly to properly align text lines. Font UPM Value The most important field on this page is the Font UPM. Let’s explain what UPM is and why it is so important. The UPM (Units Per eM) is the basis of all font dimensions. The UPM is the number of font units that defines the font height and the coordinate grid on which the glyphs are drawn.
Font Header Basic Font Dimensions The page has several editing fields with numbers and a sample window where an appropriate character is displayed to help set correct values. Other fields on this page mean: Ascender Position of the font’s ascender line. Usually this is the height of the lowercase ‘b’ character. Descender Position of the font’s descender line. Usually this is the position of the bottom line of the ‘p’ character. Caps height Height of the font’s uppercase characters.
FontLab 4 Advanced Vertical Metrics In TrueType font files vertical metrics can be stored in the OS/2 and hhea tables. Different programs and operating systems use vertical metrics from these tables. Windows usually uses data stored in the OS/2 table while the Mac OS uses only data located in the hhea table. It is important to correctly define all vertical metrics if you want your font to align properly.
Font Header Here is a description of each value: Typo Ascender This is the typographically-correct ascender value. It is the topmost line of lowercase characters, usually, the topmost line of the ‘b’ character. Typo Descender The same as Typo Ascender, but for the lowest line. Usually it is equal to the bottom line of the character ‘p’. Typo Line Gap “Typographically” correct line gap value (distance between bottom line of the upper line of text and top line of the lower line of text).
FontLab 4 Baseline-to-baseline distance calculation Windows: Windows Metric OpenType Metric ascent WinAscent descent WinDescent internal leading WinAscent + WinDescent – UPM external leading MAX(0, LineGap - ((WinAscent + WinDescent) - (Ascender Descender))) BTBD = ascent + descent + external leading It should be clear that the "external leading" can never be less than zero. Pixels above the ascent or below the descent will be clipped from the character; this is true for all output devices.
Font Header Superscript and Subscript TrueType and OpenType font format allows you to specify position and size of the superscript and subscript characters: Subscript Position and size of the subscript characters in font units. Superscript Position and size of the superscript characters in font units.
FontLab 4 Encoding and Unicode As we mentioned earlier, fonts may have very many characters and support a lot of different languages. To tell the operating system what codepages the current font can support, you set the codepages information. TrueType and Type 1 fonts use different methods to identify what codepages a font supports. In TrueType fonts you can identify all the supported codepages by setting bits in a special field of the font header.
Font Header Supported Codepages The operating system needs to know which codepages a TrueType font can support. To set this information you select all the codepages that this font can “cover” from the list of standard codepages that are available to the operating system. Auto button. To select the supported codepages automatically press the FontLab will analyse the Unicode information available in the font and will automatically detect which codepages this font can support.
FontLab 4 Type 1 Character Set Type 1 fonts do not have such extensive support for multiple codepages. The character names they use to identify characters are mapped to codes through the encoding vector. There is one parameter that is used to tell Adobe Type Manager (used to support Type 1 fonts in Windows) how to interpret the encoding vector. This is the Microsoft Character set.
Font Header Supported Unicode Ranges TrueType and OpenType fonts must declare Unicode ranges that the font can Support so that the operating system can decide which characters the font can be used to represent. In TrueType format this information is stored as the ulCodePageRange1 and ulUnicodeRange fields in the OS/2 table. The Supported Unicode ranges dialog is relatively simple: you can see a list of all Unicode ranges with a check box to the left of each name.
FontLab 4 Hinting Settings Information in this section is related to hinting, which is described in full detail in the Hinting chapter. The information below is copied there also, so if you’re not interested in hinting right now, you can skip this section.
Font Header Alignment Zones There are two list boxes where alignment zones can be set: the Primary zones list and the Secondary zones list: In Type 1 terminology primary zones are called BlueValues and secondary zones OtherBlues. BlueValues include one bottom alignment zone, the so-called baseline zone, and up to 6 top alignment zones. The baseline zone is used to control bottom overshoots that have to be aligned to the baseline. OtherBlues includes up to 5 bottom alignment zones.
FontLab 4 To remove an alignment zone, select the zone you want to remove from the list and press the Del button below that list. You can see a preview of the zones by switching on the Alignment in the Glyph Window and pressing the Apply button in the Zones layer FontInfo dialog box. You will see the alignment zones in the Glyph Window in light blue. Press the Auto zones button to automatically calculate alignment zones in the Primary zones list box.
Font Header Type 1 Standard Stems Standard stem widths are also controlled through the Alignment page of the Font Info dialog box. To edit standard stems open the Font Info dialog box and select the Alignment page. There are controls for both vertical and horizontal standard stem widths. All available horizontal stems appear in the horizontal lists. You can select any stem just as you would in normal, vertical list controls. To add a stem to the list of the standard stems press side of the stems' list.
FontLab 4 StdHW, StdVW, StemSnapH and StemSnapV Parameters From the Type 1 font specification you may know that in Type 1 fonts two types of standard stem widths are used: Standard Width and Stem Snap Width. There is one standard width for each direction and up to 10 stem snap values. In FontLab these values are united in the stem list. StdHW and StdVW are taken from the first records in the stem lists. StemSnapH and StemSnapV records are the remaining records in the stems' list.
Font Header Global Hinting Parameters Some additional data may be set to control the hinting process: FB threshold ForceBold threshold – this parameter is used only in Multiple Master font and controls when the Force Bold parameter is ON in an intermediate design BlueScale Controls PPM when overshoot depression is switched off BlueShift Gives more precise control over overshoot description (see below) BlueFuzz Expands alignment zones in both directions You can set all these values in the right part
FontLab 4 The BlueScale value is stored in Type 1 fonts in a very strange format, but in the Alignment page you can set it using one of three different ways: directly, in the form that the Type 1 specification describes (i.e. it looks like a floating point number), as a PPM size, or as a point size on a device with 300 DPI resolution. Use the BlueScale: combo box to select the BlueScale editing method and edit it in the is equal to: edit field.
Font Header Format-Specific Options This section covers options that are specific to Type 1 and TrueType/OpenType fonts. For both destination formats you may choose font-specific export options that will be used instead of globally set FontLab options. In addition, for TrueType fonts you can customize some settings that are necessary for high-quality rendering.
FontLab 4 Type 1 Export Options Use this page to customize font export options for the current font. This page copies Options/Type 1 export settings, so you may refer there for the detailed description. Switch on the Use default export options parameter to use default export options that are not font-specific.
Font Header TrueType Export Options Use this page to customize font export options for the current font. This page copies Options/TrueType export settings, so you may refer there for the detailed description. Switch on the Use default export options parameter to use default export options that are not font-specific.
FontLab 4 TrueType Mapping Settings If the Automatically Add… option is on, then FontLab will analyse the font and add characters that are necessary for complete font compatibility. In Windows only two characters are really necessary: the “.notdef” and “space” characters. On the Mac a couple additional characters are required: “CR” and “NULL”. Note that FontLab will generate these characters only if they do not exist in the font, so you can create them manually and control their appearance.
Font Header Device-Dependent Metrics The [hdmx] control lets you customize the sizes for which FontLab will generate records in the hdmx TrueType table. This table is used to precalculate pixel metrics of font glyphs so it will not be necessary to run a hinting program to get the correct width. If you don’t want FontLab to generate a hdmx table for your font, empty this editing field. Use a colon to separate entries and ‘-’ to define ranges of PPM.
FontLab 4 To calculate the device metrics tables using the CacheTT: 1. Download and install the CacheTT program. You can download it from this location: http://www.microsoft.com/typography/tools/cachett.zip 2. Open the Options dialog box (Tools > Options... command). Select the General page: Enter the full path to the CacheTT.exe file in the Location of the Cache TT.exe file field or click on the button to find the CacheTT.exe file using the file open dialog box. 4.
Font Header Font Smoothing Control To improve the appearance of TrueType fonts on the screen the latest versions of the Windows operating system use a special technique called font smoothing. With this technique edges of the characters are rendered using shades of gray: Visually this decreases the dither of the characters’ edges so that text is easier to read. This technique may be combined with gridfitting methods that optimize the character’s appearance by adjusting its outline.
FontLab 4 To set options for a range, select the range and change its settings using the controls in the dialog box. Use the check boxes to select the rendering technique and the edit controls below the list to change the PPM range. To define a new range, select one of the existing ranges and press the Split button. The range will be split into two ranges and you will be able to set different options for them. Merge button.
Font Header [head] Table Settings These entries are specific for TrueType rendering. We do not recommend you modify them if you are not sure of what you are doing.
FontLab 4 Basic PCLT options The PCLT table is used when a TrueType font is printing on a PCL printer. PCL (Printer Control Language) is a page-definition and printer-control language developed by Hewlett Packard and is used in their printers. This table is recommended for TrueType fonts, but only if you understand all the options and parameters. The first page includes only one option: Export the PCLT table, which controls table export.
Font Header PCLT Identification Native/Converted Only original font vendors can select Native format. If you are modifying an imported font, select Converted format, format Vendor code Single-character code of the font vendor - assigned by HewlettPackard Boise Printer Division to major font vendors. Below is a list of registered font vendors: A Adobe Systems B Bitstream Inc. C Agfa Corporation H Bigelow & Holmes L Linotype Company M Monotype Typography Ltd.
FontLab 4 PCLT Metrics and Font Description Width The appearance width. Select one of the options in the list. Posture The slant of the glyphs. Could be upright, italic/oblique or reversed italic. Structure The structure of the glyph’s interior. Select one of the options in the list. StrokeWeight Weight of the font. This value is related to the Weight parameter on the basic names page. SerifStyle Style of the glyph’s serifs. This is related to the PANOSE settings.
Font Header PCLT Codepages Typeface This 16-byte ASCII string appears in the "font print" of PCL printers. Care should be taken to insure that the base string for all typefaces of a family are consistent, and that the designators for bold, italic, etc. are standardized. Times New Times New Bd Times New It Times New BdIt File name This 6-byte field is composed of 3 parts. The first 3 bytes are an industry standard typeface family string. The fourth byte is a treatment character, such as R, B, I.
FontLab 4 File Name Treatment Flags: R I B J D E K G L P C A F H S T Text, normal, book, etc. Italic, oblique, slanted, etc.
Glyph Window The Glyph Window The Glyph Window is a standard tool in all FontLab based applications. It is a universal and very powerful contour-editing module that also allows you to perform many font-specific operations.
FontLab 4 Glyph Window Contents Open the Glyph Window by double-clicking any character sample in the Font Window or Metrics Window.
Glyph Window The Local Toolbar is the command center of the Glyph Window. There is a combo box with zoom selection and two groups of buttons: The first group of buttons includes two buttons that are used to select the zoom mode. You can drag the local toolbar to any place on your screen or you can dock it at the top or bottom area of the Glyph Window.
FontLab 4 Three icons may appear in this area: The glyph has either imported or visual TrueType hints The glyph has a Type 1 hint replacement program The glyph has a Mask layer that is “compatible” with the outline. Below the default (top) location of the Local toolbar and at the left of the window you may see rulers that are used to preview positions of various structures in the glyph space.
Glyph Window The Glyphs Bar To open the Glyphs Bar you click on the Glyphs Bar expand button press the B key when the Glyph Window is active. or If the Glyphs Bar is open, you use the TAB key to switch between the editing area and the Glyphs Bar. When the Glyphs Bar has focus, it is slightly highlighted.
FontLab 4 If you hold down the SHIFT key while using the left and right arrow keys glyphs are opened instantly. The Fastest way to open a glyph is to use the keyboard: 1. Set the focus to the Glyphs Bar with the TAB key 2. Press the key of the character that you want to open on the keyboard. 3. If the glyph is not directly accessible from the keyboard, enter its name. You have one second to enter each character of the name. 4.
Glyph Window Selecting a Glyph for Editing In addition to using the Glyphs Bar you can open a glyph in the Glyph Window using any of the following methods: • Double click the glyph’s cell in the Font Window to open it. If you already have an open Glyph Window with a glyph from the same font, the new glyph will be opened in the same Glyph Window (replacing the previous glyph). Hold the CTRL key down when you double-click on the glyph cell to open it in a separate Glyph Window.
FontLab 4 Changing the View in the Glyph Window Use the zoom mode and scroll bars to change the view in the editing field of the Glyph Window. By using the scroll bars you can scroll the viewing field of a symbol. With the zoom mode you can define how the symbol coordinates are converted to screen coordinates and vice versa. If you choose a bigger zoom mode you will see a more detailed symbol and you can do the editing operations more precisely.
Glyph Window Alternative keyboard shortcuts are: Command+Space Zoom in Command+Option+Space, then click Zoom out Space and drag Scroll (hand cursor appears) After you select the zoom tool, move the mouse pointer to one of the corners of the rectangular area that you want to zoom on and click the left mouse button. Then, holding the button down, define the zoom-in area by dragging the cursor to form a rectangle. Release the button and the new zoom mode will be selected.
FontLab 4 Quick Zoom Selection You can quickly change the zoom mode of the Glyph Window by selecting the Zoom In or Zoom Out command from the View menu. Alternatively you can click the Z key for zooming in or the X key for zooming out. This command increases or decreases the zoom mode by a factor of two. If the mouse cursor is in the editing area of the Glyph Window the new zoom mode will be centered around the cursor position.
Glyph Window Vertical Alignment Options When you select 100% as the zoom value, FontLab needs to choose a scaling factor to fit the font unit space in the Glyph Window. Two vertical levels in the font space define this scaling: Visual Ascender and Visual Descender: Visual Ascender Editing Field Visual Descender When you select 100% zoom, it means that Visual Ascender is fitted to the top of the editing field and Visual Descender to the bottom.
FontLab 4 Tools and Operations FontLab’s Glyph Window may work in several modes. The four most important modes are: Edit mode The main mode used to move everything in the glyph, from guidelines to nodes to glyph margins. Sketch mode Used to draw new outlines VectorPaint mode A set of tools used to create new glyphs or modify existing glyphs. Meter mode Used to measure contours.
Glyph Window Use the buttons on the Tools toolbar to switch modes or keyboard shortcuts.
FontLab 4 Edit Mode The Edit mode is the most important in FontLab. In this mode you can modify the contents of all the editing layers. All operations performed with the edit tool can be undone with the Undo on the command of the Edit menu, or just by clicking the Undo button toolbar at the top of the Glyph Window. You can undo up to 200 operations. All undone operations can be redone with the Redo command on the toolbar.
Glyph Window The Edit toolbar appears automatically every time you activate the Edit tool. If you don’t want it to appear, use this option on the Glyph page of the Options dialog box: When this option is active, the toolbar will not appear, so you will have to use keyboard shortcuts to access different tools of the Edit mode. You can also create your own toolbar using the user interface customization process described on the page 27.
FontLab 4 Editing Layers In FontLab every glyph contains several editing layers. Some of them are used when the font is exported, others are FontLab-only and are used to help you work with the glyph. Below is the list of all the layers that you can see in the Glyph Window. Later we will describe them in full detail.
Glyph Window An alternative way to control the editing layers features is the special Editing Layers panel which you can put on the screen with the Window > on the Panels Editing Layers panel command (or with this button toolbar): In this panel you can select a layer for editing (just click on the layer name) and control layers appearance using the check boxes to the layer names.
FontLab 4 Please note that you must open the Glyph Window to make it possible to open the Editing Layers panel. With the panel you can easily control all the layers at once using the check boxes in the bottom row: If you frequently need to switch some layers on and off you can drag the View > Show Layers menu and convert it to a toolbar: The same operation is possible with the View > Lock layers menu: In the following sections we will describe all the editing layers and their modification and control.
Glyph Window Easier Way to Control Editing Layers The Editing Layers panel may be opened in the simple mode: Use this button to switch the panel between simple and expanded mode (which is described in the previous section). In simple mode you have a list of five layers and you can control their lock and show status. To activate the layer, just select it in the list. When you do it, this layer becomes unlocked and all other layers are locked.
FontLab 4 Outline Layer The Outline layer is the most important of all the layers. It stores information about the glyph shape while all the other FontLab editing layers and most of the tools are designed to help you create good outlines. Before we turn to the outline editing tools let’s talk about outline structure. Units of Measurement The coordinates of any object in the font are presented in a standard measurement system. One unit of this system is called a font unit.
Glyph Window A more “graphical” font parameter is the font height. The font height (measured in font units) is the measurement of the font that is used to align strings in text. It is important not to confuse UPM and font height. UPM is just a scaling base, and, for example, all Type 1 fonts have the same UPM of 1000.
FontLab 4 Contours The most important and most complex information in a font is the glyph’s shape. All glyphs are defined as a series of contours. All contours consist of a series of graphical primitives: straight lines and curves. Nodes - points that know their type - define all graphical primitives.
Glyph Window Filled and Unfilled Contours Contours can be of two types: black or white. They can also be of two directions: clockwise or counterclockwise. The basic rule that applies to Type 1 fonts is simple: clockwise-directed contours are white and counterclockwise contours are black. A simpler form of the rule, known as the rule of the left hand, is: if you face along the direction of a contour, black (fill) will be on your left side.
FontLab 4 Startpoint and Closepath All contours have a startpoint. The startpoint is the first node of the contour. The last node of the closed contour is automatically connected to the startpoint with a straight line, which is called closepath. The color of the start point in the Glyph Window is blue.
Glyph Window Curves and Lines Graphical primitives are of three types: straight lines, Type 1 curves or TrueType curves. Straight lines (we’ll call them vectors) are just straight lines that connect two sequential nodes. Type 1 curves are Bezier curves (3rd order, cubic b-splines).
FontLab 4 TrueType curves are 2nd-order curves (quadratic b-splines) that have one control point, called the “off-curve” point: Control (off-curve) point End (on-curve) point End (on-curve) point Some TrueType curves may appear linked together and form a long “supercurve” where intermediate on-curve points do not really exist, but are implied by the rasterizer: On-curve points Implied on-curve points Off-curve points TrueType curves end with points that look exactly like vector points.
Glyph Window Connections The type of connection between graphical primitives is very important if you want to keep the contour smooth at appropriate nodes. There are two types of connections: sharp and smooth. At a sharp connection, the two connected graphical primitives (curve and curve or vector and curve) are absolutely free in their angle relative to each other at the connecting node.
FontLab 4 Outline Appearance You can view an outline in contoured or filled mode. These modes are equivalent for all editing operations, but the filled mode is a little bit slower. However, in the filled mode you always see how the glyph will look button on the in the resulting font. Switch between modes with the Options bar.
Glyph Window To smooth contours, use the Glyph page of the Options dialog box (Tools > Options): You can use the Apply button in the bottom-right of the Options dialog box to check the result of the changes you make in Glyph Window options. Note: If your computer is slow and a contour is complex, smoothing the outlines may degrade the performance of the editing tools. Turn it off in this case.
FontLab 4 Outline Preview Options You can choose various options for previewing the contour layer: Nodes To show nodes or not. Control vectors To show curve control vectors or not. Connection mode To show connection mode marks. Positions To show the coordinates of each node You will see the positions of nodes only when the nodes are visible. All other contour presentation modes may be combined in any way. A few more notes about outline appearance: Selected parts of an outline appear red in color.
Glyph Window Here is a list of the available options and a description of the features they control: Small nodes Nodes may be small or large: Smooth outline Allows one to select between standard and smoothed rendering of the outline. Show contours direction An outline consists of several contours and each contour is directional. The direction of the contour is marked with a small arrow: Show node’s position One node may be selected as the current node.
FontLab 4 Black/white node icons Nodes may be colored or black/white: Highlight the first node of the open contour When this option is on, start and end nodes of the open contour are highlighted with a small diagonal cross: Do not fill open contours When this option is on, the open contour appears unfilled in preview mode: Bezier control When this option is on and Show Layers>Control Vectors is points are visible in off, the control points become visible when the curve is selected: selection 244
Glyph Window FontAudit FontAudit is a set of algorithms that analyses a glyph’s outline to find errors that may decrease glyph rasterization quality. To switch on FontAudit, press the button on the Options toolbar. If FontAudit finds what it thinks is an error, it shows an error mark in the editing field of the Glyph Window: FontAudit error mark To see a description of the error, activate the Edit tool ( ); position the mouse cursor on the mark; and click the left mouse button.
FontLab 4 You will see a FontAudit error message: This message has two buttons, Fix and Fix All, which you can use to try to automatically fix an error (Fix button) or all errors in the glyph (Fix All). Sometimes correcting one error causes others and when you press the Fix (or Fix All) button you will see even more errors, so use this feature carefully.
Glyph Window Here is a short description of each test and the error that it detects: Empty lines and curves Lines or curves that have no length. (I.e. two nodes on top of each other.) Flat curves Curves that can be replaced with a straight vector without loss of quality. (I.e. a “curve” that is really a straight line.) Vectors on closepaths Unnecessary vectors that should be removed.
FontLab 4 Moving Nodes The most important editing operation is the modification of the contours that build each glyph. You can modify contours in three ways: moving nodes, editing graphical primitives using non-node editing, and selecting several nodes and moving them together. To move individual nodes: 1. If nodes are hidden, make the node that you want to edit visible: switch nodes on with the View > Show Layers > Nodes menu or click near the node to make it visible.
Glyph Window Options If you are moving a node that is connecting two Bezier curves you have the following options: 1. If the connection of the curves is smooth, press the SHIFT key before clicking the node to constrain movement to a line between the curves’ control points: 2. If the connection is sharp, press the ALT key at any time while dragging the node to move it without the adjacent control points: 3.
FontLab 4 4. When you are editing control points of a Bezier curve press the SHIFT key before clicking the button to keep the direction of the control vector unchanged. 5.
Glyph Window Using the Keyboard You can use the keyboard to move nodes and to select a node for editing: Arrow keys Every click moves current node by one font unit Shift+Arrow keys Every click moves a node by 10 font units. Ctrl+Arrow keys Every click moves a contour that contains a node by one font unit Ctrl+Shift+Arrow keys Every click moves a contour by 10 font units.
FontLab 4 Non-node editing Sometimes you may want to modify a contour in a more flexible way than by moving nodes. For example, to adjust the shape of a curve in node editing you would usually make the control points of a curve visible and move them to modify the curve. A more intuitive way would be to “grab” the curve somewhere between the nodes and move this imaginary “inside” point. The curve’s shape changes accordingly. We call this method “nonnode editing”.
Glyph Window Several notes that you should remember: 1. In non-node editing, guiding objects are not sticky. So, temporary points do not snap to the grid, guidelines, hints or anything else. 2. If you choose a temporary point near one of the ends of a curve, you will move that end, not just change the curve’s shape. This is a useful method to locate a curve’s endpoints. 3.
FontLab 4 Changing Connection Type The type of connection between graphical primitives is very important in maintaining the smoothness of contours. Connections can be of two types: smooth and sharp. If a connection is smooth the direction of the adjacent curve control vectors or of the curve control vector and line is collinear and the contour is smooth at the connection. To change the type of connection 1. Make the node visible. 2.1 Double-click the node with the left button 2.
Glyph Window Deleting Nodes To delete nodes using the Edit tool: 1. Begin moving the node by dragging it. 2. While holding down the left mouse button, click the right button. The node will be removed. 1. Move the mouse cursor onto the node and press the right mouse button. 2. In the popup menu choose the Delete node command.
FontLab 4 Deleting Lines and Curves You can delete a whole line or curve with the Knife tool. Activate the Knife tool with the button on toolbar or click ‘3’ on the keyboard. Press the ALT key and click on the line you want to delete.
Glyph Window Eraser Tool The eraser tool can be used to quickly remove nodes. Sometimes this is necessary, for example, with contours from an auto-tracing program. The eraser tool can work in two modes: like a standard eraser or as a rectangle eraser. In the first mode, all nodes that are inside the rectangle of the eraser mouse cursor are deleted.
FontLab 4 Inserting Nodes To insert a new node on a vector or curve with the Edit tool: 1. Position the mouse cursor on the primitive where you want to insert the node. 2. Press and hold the right mouse button. You will see a mark that shows you the current position of the mouse cursor. This mark will stick to all objects in the editing field, including nodes and glyph contours. 3. Position the mark on the point where you want to insert the node and click the left mouse button.
Glyph Window Using the Drawing Tool The easiest way to create a new contour is to use the Drawing tool: You can create a new contour or you can continue any existing contour.
FontLab 4 1. To add a point, just click the left mouse button. 2. If you want to create a line point, just release the button. If you want to define a curve, drag the mouse to set the position of the curve control vector: 3.
Glyph Window Adding Points to a Contour In addition to the Drawing tool you can use three more tools to create a new contour or to add points to an existing contour. These tools are: Add Corner, Add Curve and Add Tangent. To create a new contour: 1. Activate one of the tools. 2. Click anywhere in the empty area of the glyph window to create the first point of a new contour. Drag the mouse to put new the node into correct position. 3.
FontLab 4 Converting Primitives Sometimes you may want to convert a curve to a vector or vice versa. To convert a curve to a vector “delete” (right mouse button) one of the control points of the curve, or “delete” the curve while you are in the nonnode editing mode. To convert a vector (normal or closing) to a curve drag an inside point of the vector while holding down the ALT key.
Glyph Window Breaking and Joining Outlines To break the contour with the edit tool hold down CTRL and ALT and left-click the node where you want to break the contour. To break the contour with the Knife tool just click on the node. When a contour is broken its first and last nodes are highlighted by diagonal crosses: You can use the Knife tool to “cut out” part of the outline: 1. Activate the Knife tool. 2. Press the mouse button and drag the cursor to define the “cutting line”. 3.
FontLab 4 Node Commands If you right-click a node you will see a popup menu with many useful commands: 264
Glyph Window Below is a description of all the commands in this menu: Make node first Starts the current contour from the selected node (i.e. makes it the startpoint). This command is useful when you need to join contours since you can only connect starting and finishing nodes. Convert Cycles the node type from line to Bezier curve to TrueType curve Delete node Removes the node Duplicate node Adds a zero-length vector to the node. I.e. puts a new node on top of an old one.
FontLab 4 Node Properties CTRL-click the node or Right-click and choose the Properties command in the menu. You will see the Node properties panel: In this property panel you can control the position of the node, the alignment type, the selection status of the node and the position of the control points of the curves. The figures in the first line are the index of the primitive, the node index and the contour’s number.
Glyph Window To change the position of a node: 1. Select the origin point you want to use and set the coordinates of the node. By default the origin is the glyph’s origin point. With the radio buttons you can select the previous or next node as the origin point. 2. Modify the coordinates of the node in the edit boxes. You can use the spin buttons to increase or decrease the coordinates.
FontLab 4 Previewing Glyphs Sometimes you need to get a high-quality preview of the glyphs you’re editing. You may preview any single glyph with the ‘`’ key, but it doesn’t give you a feeling of how this glyph will look in a line of text or in multiple sizes. To get a better preview, use the Preview panel. Open it with the Preview panel command in the Window menu: You will see a panel containing three pages: OpenType Features, Preview and Anchors.
Glyph Window You can type any text in this area or you can drag-drop glyphs selected in the Font Window or in the Collection/Classes panel.
FontLab 4 With this button you can activate metrics preview mode: In this mode you can see a preview of every glyph and its width. The height of the sample string is determined automatically and depends on the vertical size of the preview panel. If you are working with Arabic or Hebrew script you may need to preview a to activate it: sample string in right-to left mode.
Glyph Window Preview Options To edit the contents of the sample strings list, click on this button: You will see a dialog box that contains all the strings that appear in the list plus a few other options: By clicking the Open button you can select the text file that will be used to preview sample strings.
FontLab 4 This option: allows you to choose the system font that is used to show text in the sample string.
Glyph Window Vertical Preview If the width of the preview panel is less than half of its height (which happens if you dock the preview panel to the right or left side of the FontLab window), it automatically turns itself into vertical preview mode: A font’s vertical metrics or glyph’s vertical metrics (if defined) are used to vertically align glyphs.
FontLab 4 Waterfall Preview When you are working on a glyph, you may need to see it in many sizes at once. Open the glyph in the Glyph Window and switch the Preview panel to the waterfall mode with this button: You will see multiple sizes of the glyph previewed: Size is measured as PPM, which means Pixel Per eM. This is a resolutionindependent way of defining the pixel height of the glyphs.
Glyph Window Waterfall preview works in vertical mode with left-to-right or right-to left writing mode: You may print the Waterfall preview of the font if you click on the button on the preview panel toolbar.
FontLab 4 Selections Many operations can be applied not only to single nodes or graphical primitives but to several nodes together. For example, you may want to move many nodes or delete part of a contour. First, select the nodes that you want to process. To select nodes with the selection rectangle: 1. Make sure that the Edit tool is active. 2. Press the left mouse button anywhere in the empty area and drag the mouse to surround the nodes with a rectangle.
Glyph Window Using the Magic Wand Tool With the Magic Wand tool you can easily and precisely select contours. It is especially useful when you are working with glyphs that have many contours, such as Far-Eastern ideographs: To select the contour with the Magic Wand tool just activate the tool and click anywhere near the contour. You don’t need to be precise – FontLab will automatically locate the closest contour.
FontLab 4 Moving the Selection You can move the selected part of the contour by mouse – drag any selected part of the contour or use the arrow keys. If you press the arrow key then the selection will move in that direction by one font unit. Hold down SHIFT while pressing the arrow keys to accelerate the movement of the selection. Copying the Selection Sometimes you need to copy glyphs or parts of glyphs to another place in the font or even into a different font.
Glyph Window When you use the Paste command, the selection is offset from the original location. You can change the amount of this shift in the Options > Glyph dialog box (Tools > Options command): On the same page you can adjust the amount of shift during the Duplicate operation: Because the Clipboard is used as a buffer for copying contours you can paste glyphs and their parts not only to the current font but to any glyph of any font of any application that is compatible with FontLab. (ScanFont 3.
FontLab 4 Copying an Outline to Other Applications With FontLab you can exchange outline data with other vector-editing programs. Supported programs are Adobe Illustrator and Macromedia FreeHand. To copy part of the glyph’s outline to a vector-editing program use the usual copy procedure. The selected portion of the outline will be copied to the Clipboard. Then switch to your vector-editing program (using the Task Bar) and select the Paste command from the Edit menu.
Glyph Window Transforming the Selection Sometimes you need to scale, rotate or slant a whole or part of a glyph outline. In FontLab you can do this using different methods: 1. Using the Selection properties panel (described below) 2. Using the Transform tools 3. Using the Transform Selection operation Using Transform Tools In Edit mode you have access to three transform tools: Rotate Rotates the contour Scale Scales the contour Slant Slants the contour vertically or horizontally.
FontLab 4 Using the Transform Selection Operation To activate the Transform operation select the Transform Selection command from the Tools menu or select Transform Selection in the editing field common popup menu. Or you can double-click on any selected node or graphical primitive to activate the Transform operation. When this operation is activated, you will see a transformation rectangle surrounding the selected area. If nothing is selected, the entire glyph will be subject to transformation.
Glyph Window To move a selection: 1. Position the mouse cursor somewhere inside the transformation rectangle but not on the center handle. 2. Press the left mouse button and drag the rectangle to its new place. 3. Release the button. The selection will be moved. To scale or skew a selection: 1. Position the mouse cursor on one of the scale handles . 2. Press the left button and drag the mouse. You will see that the transformation rectangle is scaled.
FontLab 4 To slant a selection: 1. Move the mouse cursor onto the slant handle . 2. Press the left mouse button and drag the mouse. The transformation rectangle will be slanted. Hold down the SHIFT key to constrain the rotation angle to 15-degree increments. 3. To slant in vertical direction, hold the CTRL key and drag the rotate handle: 4. Release the button to accept the slanting.
Glyph Window Selection Commands When a part of the glyph is selected, right-click it to get access to the popup menu: Some commands are just copies of the Edit menu commands, but others are much more interesting: Cut Copies the selection to the Clipboard and removes it. Copy Copies the selection to the Clipboard and leaves original untouched Delete Removes the selection. Transform Activates the Transform tool Convert to component Tries to convert the selection into a link to a component glyph.
FontLab 4 Selection Properties Panel To make the Selection Properties panel visible, choose the Properties command in the selection context popup menu or use the OPTION-RETURN keyboard shortcut. The Selection Properties panel is very simple: It contains the following information about the selection: the number of selected nodes, the number of selected contours, and the selection bounding box’s bottom-left and top-right corner coordinates.
Glyph Window Transformation Panel The Transformation panel allows you to apply several simple transformations to the selected area or to the whole glyph.
FontLab 4 Scale Enter the scaling factor and select a center point of transformation. Use the Uniform option to scale proportionally. Slant Enter the slant angle (degrees, positive value slants to the right) and select a center point. Mirror Enter the direction of the mirror axis and select the center point of the transformation. Use the buttons to mirror horizontally or vertically quickly. Press the Apply button to apply the transformation to the selected area.
Glyph Window Find and Replace Operation In FontLab you can perform a unique outline find/replace operation that allows you to replace an identical part of an outline that occurs in many glyphs with an alternative form. It is also very useful in analysing an outline for correctness.
FontLab 4 4. Using the Find > Replace command open the Find/Replace dialog box: The left panel shows the outline that FontLab will look for and the right pane shows the outline it will use as the replacement. The two buttons to the right of each pane mean: Place the Clipboard contents into the pane. Place the current selection into the pane. In our sample you need to place the Clipboard contents (original button) and the selection outline) into the left pane (click on the into the right pane ( ) button.
Glyph Window Building an Outline From Blocks Now you know how to select parts of an outline and copy it, so lets do a few experiments to show how to use this knowledge. Suppose that we have an ‘I’ character and we want to create an ‘H’ character. 1. Open the ‘I’ in the Glyph Window (double-click the ‘I’ cell in the Font Window, use the Glyphs Bar in the Glyph Window toolbar or just browse the font with the arrow buttons). 2. Cut the character in the middle.
FontLab 4 292 4. Select the bottom half of the ‘I’. Temporarily activate the Edit tool (click on the CTRL key on the keyboard) and CTRL-click near the bottom area of the glyph: 5. Copy it to the Clipboard with the Edit > Copy command. 6. Go to the ‘H’ character. Use the Glyph > Reset command to remove the contents of all editing layers. 7. Open the Options > Glyph dialog box and set the Copy > Paste offset to zero and Duplicate offset to 400 x 0: 8.
Glyph Window 9. Duplicate it again and drag it to a place above the first segment: Use the contour snap function to position the segment. Activate the contour snap with the View > Snap to Layers > Outline. We also recommend that you activate the feature that will snap a point which you are moving to all outline nodes, by X and Y direction independently. Use the Tools > Options > Glyph dialog box: 10.
FontLab 4 11. Duplicate the top segment and locate the copy above the bottom-right segment. 12. Left-click on an empty area of the Glyph window and then click on the top-left node of the top-left segment to highlight it: 13.
Glyph Window 14. Then click on any other starting or ending node of the contour segments and use the Add Corner tool to connect them You’ll notice it takes more time to read the instructions than to actually perform the procedure.
FontLab 4 Outline Actions You can find the actions described below in the Tools > Outline menu: H Mirror Makes a mirror transformation in the horizontal direction. This operation is applicable to a selection or to a whole outline if nothing is selected. V Mirror Makes a mirror transformation in the vertical direction. This operation is applicable to a selection or to a whole outline if nothing is selected.
Glyph Window Creating Contours FontLab has two commands that can help you automatically create contours. These commands are Expand strokes and Make parallel path. Both commands will take one or more existing contours and create new ones using some options. Expand Strokes This command will use contours as a trajectory for the paintbrush: Source open contour Stroke is expanded with the shaped brush To use this operation first select the contours to which you want it to apply.
FontLab 4 Select the Tools > Outline > Expand strokes command in the menu. You will see a dialog box that lets you select options: The top area of this dialog box is used to specify brush size and shape. Width is the width of the brush ellipse at its widest part. Angle is the degree of the brush ellipse slant and Roundness is the relation (in percent) of the narrow and wide widths of the brush ellipse.
Glyph Window The last option lets you specify the shape of the brush stroke: This is the sample of the stroke above with different stroke shapes: When you finish selecting options, click OK to expand the selected contours. Make Parallel Path With this operation you can create a path that is parallel to any existing path. The method of selecting contours for processing is simple: all contours that have at least one node selected will be taken into account.
FontLab 4 Left and right side option (original path is not selected) Select the Both option to generate parallel contours on each side of the source contour. Contour offset defines the distance at which the new path will be created. Use the Uniform option to have the same distance set for X and Y directions. Check the Remove the original check box to remove the source contours and keep only the generated parallel paths. Check the Generate closed contour check box to create contours automatically closed.
Glyph Window Merging and Intersecting Contours With the Merge contours, Get intersection and Delete intersection commands, which are available in the Tools > Outline menu, you can perform very interesting operations on contours. All three operations are applied to contours that have at least one node selected or to the whole glyph outline if nothing is selected.
FontLab 4 Outline Optimization With the Optimize command FontLab tries to automatically adjust the outline to remove unnecessary elements and correct others. To perform optimisation use the Optimize command in the Tools > Options menu. Optimisation does three things: 1. Removes unnecessary curve and line segments 2. Aligns vertical and horizontal lines that are not precisely directed. 3. Corrects the connection types of lines and curves.
Glyph Window Metrics The Metric data of a glyph includes information about the horizontal and vertical width. Glyphs have an origin point, a baseline, sidebearings, and left and right margins: Charac ter wid th Righ t margin Baseline Left sidebearing Righ t sidebearing Zero or origin poin t The baseline is used to align characters in a series. The left and right margins are used to define the positions of sequential characters in a series when the horizontal writing mode is selected.
FontLab 4 Editing Metrics FontLab has a special window for editing glyph metrics, of course, but you can make small adjustments right in the Glyph Window, using the main edit tool. To change glyph metrics first activate the Metrics layer in the Editing layers panel: Then use the mouse and drag the left or right sidebearing or the baseline. In FontLab you can define a vertical advanced vector for the glyph (this information is used in fonts which may type vertically, from top to bottom).
Glyph Window Using the Measurement Line By default the sidebearing values are measured from the rightmost and leftmost points of the glyph: Left sidebearing Right sidebearing Sometimes you need to measure sidebearing values from some other point on the glyph outline.
FontLab 4 Baseline Properties Panel With this property panel you can adjust the position of the glyph’s baseline. To open it click the right mouse button on the baseline and select the Properties command in the popup menu or left-click the baseline while holding down the CTRL key on the keyboard. To change the position of the baseline: 1. Select the base level of the modification. It can be the old position (for relative offset) the top of the glyph, or the bottom of the glyph. 2.
Glyph Window Grid Layer This layer is very simple: if the Grid is on, you will see a grid of vertical and horizontal lines in the edit Window. If snap-to-grid is on (which it is by default) any node that you move will snap to the gridlines.
FontLab 4 Guidelines Layer Guidelines are straight lines that are used to guide the drawing of specific elements of a glyph. Guidelines can be vertical, horizontal or slanted. Guidelines can be slanted at any angle from -45 to +45 from the vertical or horizontal direction. Slanted guidelines can help to mark italic characters, or specific slanted elements in normal characters, like the inner bar in the letter ‘N’.
Glyph Window Editing Guidelines Be sure that the Edit tool is active and the guidelines layer is visible – use the View > Show layers menu to switch it on. Note that the Guidelines layer will automatically switch on if you add a new guideline. To add a new guideline: 1. Position the mouse cursor on the horizontal ruler bar (for a horizontal guideline) or on the vertical bar (for a vertical guideline). 2. Press the left mouse button. The bar will appear “pressed” and the new guideline will appear. 3.
FontLab 4 You can use this option: located on the Glyph page of the Options dialog box, to remove any guideline or hint by simply dragging it from the editing field of the Glyph Window. To remove all guidelines use the Remove guidelines command in the Tools > Hints & Guides menu. Options of this command include: Both to remove all guidelines Vertical to remove only vertical guidelines Horizontal to remove only horizontal guidelines.
Glyph Window Guidelines Popup Menu More commands are available in the guideline’s popup menu. There are two different guideline popup menus - one for local and one for global guidelines. Both menus include Align, Delete and Properties commands. The Properties command, as usual, will open the Property panel for the active guideline. The Delete command will remove the active guideline. The Align command is available only for slanted guidelines and will align them to the vertical or horizontal axis (i.e.
FontLab 4 Guidelines Tracking There is a special feature that lets you modify an outline by moving guidelines.
Glyph Window Guidelines Properties Panel To open the guideline properties panel, CTRL+Click the guideline or rightclick it and choose the Properties command from the popup menu: In this properties panel you can change the position and slant angle of a guideline. To apply the changes press the ENTER key or just click anywhere outside the property panel.
FontLab 4 Mask Layer When you need something more than guidelines or a grid to help with glyph editing you can use the mask layer. The mask layer is an outline that is created with the same primitives as the glyph’s outline. It appears in the Glyph Window as a dashed outline and the glyph’s nodes “stick” to the mask. You can think of the mask as a “freeform” guideline. The mask layer is very useful when you want to use one font as a template for another font.
Glyph Window Editing Mask To edit the mask layer with the usual editing tools you need to activate it with the Editing Layers panel: Alternatively you can use the Edit mask command in the View > Show layers menu. When the Mask layer is selected for editing, the outline layer will be shown as a mask and may be filled, if Preview mode is active, so you can use it as a reference. Use any tool of the Edit mode to create, edit or remove the nodes and contours of the Mask layer outline.
FontLab 4 Mask Operations All operations related to the Mask layer appear in the Tools > Template menu: Paste Mask Adds the contents of the mask layer to the outline. The added part will be selected so you can start to work with it immediately. Clear Mask Clears the mask layer, removing all its contents Mask to Master Applies the Mask to Master action to the currently selected master. Refer to the “Multiple Master Fonts” chapter for more information about this action.
Glyph Window Assigning a Mask With this command you can take glyphs from one font and put them into the mask layer of another font. The glyphs of the fonts are linked using their names, so the glyph with the name “zero” in the assigned font will be placed into the mask layer of the glyph with the name “zero” in the font where the mask is being made. When you select the Assign Mask command from the Tools menu, you will see the dialog box: There is a list of all open fonts in the top of the dialog box.
FontLab 4 Specifying Mask Appearance You can customize the Mask layer’s appearance using the Glyph page of the Options dialog box (Tools > Options). Open the Glyph panel and press the Colors... button: You will see a dialog box: Using this dialog box you can adjust the color that is used to render various layers in the Glyph window. The first color-selection field defines the color of the Mask layer.
Glyph Window If you don’t like any of the proposed colors, select Other... and mix your own color: The check box to the right of the Mask layer color selector controls the appearance of the Mask layer’s nodes.
FontLab 4 Template Layer A template is a kind of mask that is font-wide and appears in all Glyph Windows. You could think of it as an additional global mask. Template features and operations are very similar to those of a Mask: you can copy a selected part of any glyph to the template layer; copy a mask to the template layer; paste the template layer to the outline layer or clean the template layer.
Glyph Window Background Layer When other methods are not adequate you can use a background bitmap template. A bitmap template is a black-white bitmap image that appears on the screen underneath all the other layers. You can use it as a template for a glyph outline (it is especially useful when working with the VectorPaint tools) and you can automatically convert it into an outline if you have ScanFont 3.0 installed on the same computer. Create a background layer using any of the three following methods: 1.
FontLab 4 To copy a bitmap image from another Windows program into FontLab, select the image in the program using its selection tools; copy the image onto the Clipboard (the image may be color, black-white or grayscale); switch to the FontLab window; and select the Paste command from the Edit menu. To rasterize a glyph’s outline and make a background layer from it, select the Create Background command from the Tools > Template menu.
Glyph Window Background Positioning This operation lets you set the size and position of the background layer: Different sizes and positions of the bitmap background layer To set size and position of the background layer: 1. Activate the Bitmap Positioning operation. Select the Position Background command from the Tools > Operations menu or press the button on the Tools box or simply double click on the bitmap background while the Edit tool is active. 2.
FontLab 4 Hints And Links Layer Hints are used by the font rasterizer to improve a glyph’s appearance on devices with low output resolution, like computer monitors or low-res printers. A detailed description of the hinting methods and manual and automatic hinting features available in FontLab is in the “Hinting” chapter. For now we’ll just mention that in the Glyph Window you can see font-level alignment zones and Type 1 character-level hints and links.
Glyph Window Links Stem hints are not connected to the outline - they exist in a different layer. This allows you to use hints as pairs of guidelines while you work on an outline. But if you change the outline after hints are set you have to set all the hints again to reflect the outline changes. Another kind of stem hint, called a link, may help in this case. Links connect two outline nodes, using the position of the nodes and the distance between them, to define a stem hint.
FontLab 4 Editing Hints Editing hints is very similar to editing guidelines. You can add new hints through the ruler bar of the Glyph Window; drag them with the mouse; and delete them by using the menu command or by clicking on both mouse buttons. In contrast to guides, hints consist of two lines that can be moved together or separately. Hints cannot be slanted. To add a new hint: 1. Position the mouse cursor on the horizontal ruler bar (for a horizontal hint) or on the vertical bar (for a vertical hint).
Glyph Window Hints Tracking If the Hints tracking option of the Glyph page of the Options dialog box is on: and you move hints a distance less than the Tracking distance setting, all nodes that are on the hint will be moved with it. Use this feature to keep an outline on the hint when you want, for example, to modify the hint’s width. Note that this feature also works when you change a hint through the property panel described below.
FontLab 4 Editing Links Links connect two nodes. The only way to edit links is to connect them to different nodes of the outline. To add a new link: 1. Click on the Add new Horizontal (or Vertical) link command in the Tools > Hints & Guides menu. 2. Click the first node of the link. 3. Drag the mouse cursor to the second node and release the button. To edit a link: 328 1. Position the mouse cursor on one of the link’s lines. 2. Press the left mouse button and drag the mouse.
Glyph Window Hint and Link Popup Menu To open the hint or link popup menu, right-click one of the hint or link’s lines.
FontLab 4 Hint Commands The Tools > Hints & Guides menu contains several commands related to hints: Remove Hints Removes vertical or horizontal or all hints and links. This command is duplicated in the rulers context menu. Autohinting Automatically generates hints for the current glyph. Autohinting options can be adjusted in the Type 1 page of the Options dialog box. Autoreplacing Automatically generates a hint replacement program for the current glyph.
Glyph Window Autohinting Options You can customize the autohinting algorithms using the Type 1 page of the Options dialog box (Tools > Options...): Width limits Declares the minimum and maximum width of hints that the autohinting algorithm is allowed to create. Min.
FontLab 4 Some recommendations: 1. If you want FontLab to generate thin hints (horizontal serif hints, for example), set the Min width parameter to a value less then the width of the serif. Use the Meter tool to measure the width of the serif. Set Min. width to a value that is greater than the serif width to prevent FontLab from autohinting the serifs (the real width of the serif in the picture is 18 units): Min. width = 20 332 Min. width = 10 2. Decrease the Min. length value to generate more hints.
Glyph Window Hint Properties Panel To open the hint property panel, CTRL-click one of the hint lines or rightclick and choose the Properties command in the popup menu: In the hint property panel, you can modify the position of a hint in the upper edit box and modify the width of the hint in the lower box. Press the ENTER key or click the mouse outside of the properties panel to apply the changes.
FontLab 4 Anchors Layer Sometimes when you work with a glyph it’s helpful to mark particular positions and refer to them later. In FontLab you can use a special editing layer called Anchors to do this. Anchors are simply named points that you can add, remove, move or rename. A special property of anchors is that you can use them in macro programs and in the automatic glyph construction feature.
Glyph Window Moving Anchors To move an anchor, just drag it with the Edit tool. You will see the anchor position highlighted while you are dragging it: Removing Anchors To remove an anchor, right-click it and select the Delete command in the popup menu. Renaming Anchors To rename an anchor, right-click it and choose the Rename command. Change the anchor name in the editing field. Changing Anchor Color You may choose one of five colors to mark the anchor.
FontLab 4 Anchor Properties CTRL-click the anchor or right-click and choose the Properties command in the menu to open the anchor Properties panel: This panel lists all anchors defined for the glyph. To change the properties of one of the anchors, select it in the list and the anchor will be highlighted.
Glyph Window Using Anchors to Build Composites The main purpose of anchors is to mark important positions in the glyph space. In addition, anchors may be used to “link” some glyphs and form composite glyphs: You can define a composite glyph using the Composites tool any time, but that operation creates “fixed” composites and you would need to perform it manually for every composite glyph you want to create.
FontLab 4 Then you place one or two “link” anchors, which must be named “top” and “bottom”, at the points where accents will be attached: To add anchor points use the Add Anchor command from the Glyph Window context menu or the keyboard shortcut: ALT+SHIFT+Right click. The shortcut will first add the anchor named “bottom” and then “top”. The next step is to add matching anchors in the accent glyph.
Glyph Window Add an anchor named “_bottom” at the point in the accent glyph where it will connect with the “bottom” anchor in the base glyph. Add the anchor “_top” where it connects to the “top” base anchor: You may use the Add anchor command to add these anchors or the keyboard shortcut: CTRL+ALT+SHIFT+Right click will first add the “_bottom” anchor and then the “_top” anchor.
FontLab 4 Using the Anchors Panel Use the Anchor panel to preview “virtual” composites: 1. Open the Preview panel (Window menu). 2. Select the Anchors page of the preview panel: 3. Open the base glyph in the Glyph Window. The Anchor panel will immediately list all of the anchors and all matching accent glyphs that have “link” anchors: The left list includes all accent glyphs that can be linked with the base glyph using one of the defined anchors.
Glyph Window 5. Double-click one of the virtual composites to select one of the accented glyphs for preview: As you can see, now the anchor list includes all virtual composites that can be created using the selected accent glyph and the selected anchor. Double-click one of the virtual composites to select it for previewing. 6.
FontLab 4 Creating Composites and Ligatures To create real composite glyphs from the base and accent glyphs use the Generate glyphs... command from the Glyph menu: In the dialog box enter the composite name using the simple syntax: [base glyph name]+[mark glyph name] for example: C+caron A+dieresis You may enter more than one name separated by a space or colon. With the same dialog box you may create ligature glyphs, like “fl, ffl” or others.
Glyph Window Check the decompose ligatures option below the names field to “paste” all the components’ outlines and make a decomposed glyph: If you click on the button you can choose and open the text file with glyph name definitions prepared in advance. Check the Mark new glyphs option to mark created glyphs in the Font window with color. Check the Replace existing glyphs option to place created glyphs in the occupied cells of the font chart.
FontLab 4 Aliases Table FontLab comes with an alias.dat file (located in the FontLab/Mapping folder), which is the text file that defines the decomposition of common composite glyphs. Here is a part of the alias.
Glyph Window Vertical Metrics Every font has several vertical metrics values for alignment of text: Caps Heigh t Ascender x Heigh t Descender The Ascender line defines the position of the top of lowercase characters (usually the topmost point of the Latin ‘b’). The Descender line defines the position of the bottom of the lowercase characters (usually the bottom point of ‘p’). The Caps height defines the height of the uppercase characters (without overshoot). Usually it is the height of the ‘H’.
FontLab 4 Alignment Zones Most fonts have “square” and “round” glyphs. Round glyphs (like “O” and “Q”) usually have 3-4% “overshoot” on the bottom and top. “Overshoot” is the amount that a glyph extends above or below its nominal top or bottom. It is used to optically correct the appearance of “round” glyphs, which tend to appear too small at their nominal height.
Glyph Window Sketch Mode Sketch mode is a new easy way to create outlines. When you enter sketch mode for the first time the glyph outline is automatically converted into a special format that is optimised for “freestyle” editing. Thus the sketch mode has two outline layers: one with the original “real” glyph outline, and one with the sketch outline. In contrast to the outline representation used in the Edit mode, the Sketch outline is not WYSIWYG.
FontLab 4 When points of known types are set, FontLab automatically “draws” the outline to match their positions. If you want to change the shape of the outline, just move the points or add more points to increase the precision: When you enter the Sketch mode, you will see the Edit toolbar: and an additional Sketch toolbar: The buttons on the Edit toolbar have the same meaning as in Edit mode.
Glyph Window Visualization of the Sketch Outline Every point in Sketch mode can have 2 marks: The Node icon, which is similar to how nodes are shown in Edit mode. The Direction mark which shows the curve direction (the mark is on the convex side of the curve) at the point.
FontLab 4 Moving Points To move points simply drag them with the left mouse button. Hold the SHIFT key down to constrain movement to the vertical or horizontal direction. Changing Point Type To change point type from corner to curve to tangent simply double-click the node with the left mouse button. Removing Points There are two ways to remove unnecessary points: 1. Use the Eraser tool. Select the tool ( ), position the cursor over the point you want to remove and press the left mouse button.
Glyph Window Inserting Points One way to insert points is to use the Knife tool ( ). 1. Select the tool on the Edit toolbar. 2. Click on the outline where you want to insert a point. Alternatively you can add points with the Edit tool: 1. Position the cursor on the outline. 2.1. Press the ALT key and left-click the outline, or 2.2. Press the right mouse button. Without releasing right button click left button.
FontLab 4 Selecting Points As in the standard Edit mode, you can select many points and perform group operations, like moving the selection or copying to and from the Clipboard. To select points with the edit tool, press the left mouse button in an empty area and drag the cursor to surround the points you want to select with the rectangle: Hold the SHIFT key down to invert the selection state of the points. To select the whole contour, double-click it.
Glyph Window Using the Magic Wand Tool With this tool you can easily select multiple contours. It is especially useful when your sketch contains multiple overlapping outlines. 1. Activate the Magic Wand tool ( ) 2. Click anywhere near the contour you want to select. The closest contour to the point where you clicked will be selected. 3. Hold down the SHIFT key to reverse the selection state of the contour.
FontLab 4 Selection Operations You may copy, paste, delete and duplicate a selected part of the Sketch outline. Use the following commands from the Edit menu: Copy Copy the selection to the Clipboard Paste Add the clipboard contents to the current sketch Delete Remove all the selected points Duplicate Add a copy of the selection When you use the Paste or Duplicate command, the selection is added with a shift from the original position.
Glyph Window Converting to Outline Click the Replace outline button to convert the Sketch into a normal outline. FontLab will try to optimise the result using the minimum number of curves while maintaining high precision. Add to outline command you can add the contents of the With the Sketch outline to the normal glyph outline. To see the converted result simply change to edit mode ( ).
FontLab 4 VectorPaint Mode VectorPaint is FontLab’s unique set of tools that allow you to paint vector contours with tools that look and feel like bitmap tools. You can choose brushes, pens, freeform selections and even enter text. The idea of Vector Paint is that all the tools produce contours that combine with the existing glyph contours using our unique contour-processing technology.
Glyph Window Here is an example of a brush stroke applied with Transparent, Black and White “colors”: Note: VectorPaint tools have an option to automatically activate the Transform Operation when any of the painting operations is completed. This option allows you to instantly move, scale, rotate or slant the newly created contour. Here is a list of all available Vector Paint tools with a short description of each: Select Used to select non-rectangular areas of a glyph.
FontLab 4 Freehand Select Tool This tool works like a precision knife. You can cut part of a contour, and it will be automatically selected so you can transform it, delete it or copy it. To select part of a glyph with the freehand select tool: 1. Select the freehand select tool ( ) in the Vector Paint toolbar. 2. Position the cursor on the point where you want to start the selection and press the left mouse button. 3.
Glyph Window Pen (Contour) Tool With the Contour tool you can create new contours or modify existing contours in a more artistic manner than with the Edit tool. When you use the Contour tool, you can draw new contours just as you do on paper. FontLab will trace your drawing and replace it with a series of curves and lines. How to create a new contour If you begin a contour in a free area (where the cursor has its ordinary shape), you will define a new contour.
FontLab 4 Brush Tool The brush tool works like the usual bitmap brush that you find in any bitmap-editing program. You begin a brush stroke by pressing the left mouse button. Draw the stroke by dragging the mouse and finish drawing it by releasing the mouse button.
Glyph Window You can also specify a brush stroke shape.
FontLab 4 VectorPaint Options You can also change the brush properties in the Vector Paint Options dialog box. To open the Options dialog box, choose the Options command in the options menu ( ). You will see following dialog box: In the Options dialog box you can enter the width of the brush and change the slant angle of a calligraphic brush. Additionally, you can select how the brush strokes are started and finished. Choose the brush’s starting and finishing shape by activating one of the radio buttons.
Glyph Window To choose one of the Polygon tool modes use the options in the Polygon tool field. If you choose Normal (contour) Polygon the polygon tool will create a simple contour that can include vectors and curves. If you choose the Brush trace option the current brush will be applied to the created polygon’s contour. In the Brush trace mode you cannot draw curves while defining a new polygon.
FontLab 4 Polygon Tool The Polygon tool can be used in two modes: as a tool to draw a polygon consisting of lines and curves or as a tool to draw an outline of a polygon with a selected brush. The second mode can be treated as a series of applications of the line tool. The mode of the polygon tool can be selected in the Vector Paint Options dialog box. To draw a polygon using the Polygon tool: 1. Select the polygon tool in the Vector Paint toolbar. Be sure that the polygon tool is in the polygon mode. 2.
Glyph Window Ellipse and Rectangle Tools The Ellipse and Rectangle tools are very similar. The only difference is in the result. To draw an ellipse or rectangle: 1. Select the tool that you want to use. 2. Position the mouse cursor on the spot where you want to place one of the rectangle corners (or on one of the corners of the rectangle that surrounds the ellipse). 3. Press the left mouse button and drag the mouse to define the rectangle (or ellipse). 4.
FontLab 4 Text Tool With the Text Tool you can add text to a glyph. Carefully select the color mode when planning to use the text tool. It is usually best to use the “Empty” color because in that mode the text stroke will not interact with the existing contour and you will be able to adjust its position using the Edit tool or Transform operation. Select the Automatic Activation of Transform Operation option in the VectorPaint Options dialog box.
Glyph Window Meter Mode With this tool you can measure any distance and angle in your glyph. It is very useful if you want to create very precise, extremely high quality symbols. To measure distances between two points: 1. Select the Meter tool .
FontLab 4 While you are dragging the mouse you will see that the Meter tool sticks to any object that it can find in the editing field. To measure the distance from a contour: 368 1. Put the mouse cursor on the contour from which you want to measure. 2. Press the left mouse button and drag the mouse to what you want to measure to. Hold down the SHIFT key and the direction of the mouse’s movement will be constrained to the normal direction of the contour starting point. 3.
Glyph Window Setting Guidelines, Anchors and Sidebearings With the Meter tool you can not only measure angles and distances but also mark glyph elements with guidelines and anchors and set right and left sidebearings. Press the right mouse button instead of the left one and measure the distance. When you release the button a popup menu appears. Here is what you can do: Add two guidelines Two guidelines, vertical and horizontal, will be added.
FontLab 4 Outline Operations Operations are temporary tools that let you modify your glyph. Operations are activated by pressing on their button in the Tools toolbox or by selecting a command from the Operations submenu of the Tools menu or of the Glyph Window’s popup menu. When an operation is activated one or more handles appear depending on the operation.
Glyph Window Interpolation With this operation you can move a few points and all other points of the glyph outline between the moved points will be interpolated: Original glyph Glyph after interpolation As you can see, this operation can save a lot of time when you want to proportionally modify your glyph but want to save some important values, like stem widths. Interpolation is extremely useful when you are making Multiple Master fonts. Refer to the “Multiple Master Fonts” chapter for more information.
FontLab 4 2. All points on contours that are between two reference points are interpolated. All contours are processed independently: 1 2 3 6 5 4 Points 2 and 5 are reference points. Points 3 and 4 are between these points and will be interpolated. Note that points 1 and 6 are also between reference points, because all contours in FontLab are closed.
Glyph Window 3.
FontLab 4 To interpolate a glyph: 1. Activate an Interpolation operation. Select the Interpolation command in the Operations submenu of the Tools menu or press the on the Tools box. 374 button 2. You will see a standard tool panel with the usual OK and Cancel buttons. You can press the OK button any time to finish your work with the Interpolation operation or press the Cancel button to reject all changes. 3.
Glyph Window Envelope This operation transforms your glyph as if it were on a rubber plate and you began to stretch it: Original glyph Glyph after envelope transformation Envelope is the most “freeform” transformation available in FontLab. Be careful with it because it can produce very unusual results.
FontLab 4 To apply an envelope to a glyph: 1. Activate an Envelope operation. Select the Envelope command in the Operations submenu of the Tools menu or press the Tools box. 2. button on the You will see a control box surrounding your glyph: The control box consists of 8 curves with control vectors and control points. 376 3. Position the mouse cursor on any of the handles of the control box, press the left mouse button and drag the handle to a new location.
Glyph Window You can select one of the predefined envelopes. Press the right mouse button in the free space of the Glyph Window and choose Select predefined command in the popup menu. You will see a dialog box with several predefined envelopes: Choose the envelope in the Effect list that you want to apply and fill in a Force option. A force of 100% will make the envelope look as it is in the selection list. A value of 0% will make a plain rectangle.
FontLab 4 Curve Using this operation you can approximate a segment of the glyph’s outline with a single Type 1 curve (i.e. remove excess nodes in a curve): Original outline Outline after manual approximation To approximate part of the outline: 1. Activate the Curve operation. Select Curve in the Operations submenu of the Tools menu or press the 378 button on the Tools bar. 2. Position the mouse cursor on the outline where you want to start the curve. Click the left mouse button.
Glyph Window Set This operation lets you set the position of the nodes very precisely. Of course, you can use the nodes’ property panel but this operation may simplify the job: 1. Activate a Set operation by selecting Set in the Operations submenu of the Tools menu or pressing the button on the Tools bar. 2. Click anywhere in the editing field to set up a reference point. If you click close to any of the guiding elements or close to one of the nodes the reference point will “stick” to that object.
FontLab 4 Reversing a Contour’s Direction Sometimes you need to reverse the direction of a contour. In FontLab you can do this in one of two ways: click on each contour that you want to reverse with the right mouse button and select the Reverse Contour command in the popup menu, or activate the Reverse Contour operation. To activate the operation select the Reverse Contours command in the Tools menu. By double-clicking you can finish the operation and accept all the changes that you just made.
Glyph Window Rearranging Contours Sometimes you need to change a contour’s sequence to simplify the programming of hint substitution. You can do this by selecting the Make contour command in the node popup menu, which sets contours above each other; but an easier way is to use the Rearrange Contours operation. Select the Rearrange Contours operation in the Tools menu. When you activate this operation you will see the yellow marks that show the sequence number of each contour.
FontLab 4 Working with Composite Glyphs Composite glyphs are glyphs made up of two or more components, like a letter plus an accent. One or more of the components are referenced. I.e. their contours are not actually present in the composite glyph, but are “copied” from and linked to some other character. Thus whenever the original component contour is changed all the composite glyphs that copy the component also change. The contour of composite components appears in dashed lines in the glyph window.
Glyph Window Adding a Component To add a component to a glyph currently open in the Glyph Window, select the Add Component command from the Glyph menu. You will see a dialog box that looks just like a Get Glyph dialog box: The only difference is that only those glyphs that can be used as component glyphs will appear. Of course, a glyph cannot be a component for itself. A composite glyph can be used as a component glyph. It is automatically converted to source components.
FontLab 4 Decomposing To decompose a composite glyph select the Decompose command from the Glyph menu or from the Glyph Window default popup menu. The outlines of all components will be scaled and shifted according to their settings and added to the composite glyph. If the component glyphs had hints then these hints will also be added and a hint replacement program will be automatically generated. The link to the original component will be lost.
Glyph Window You will see a control box surrounding the component with four corner handles, a cross in the center, a centerline and the number of the component in the components list. To select another component, use the PAGE UP and PAGE DOWN keys or the TAB key. To move the component position the mouse cursor inside the control box, press the left mouse button and drag the control box to a new location.
FontLab 4 Some other useful commands are available in the popup menu that appears if you right-click the editing area while component tool is active: Decompose Decomposes (adds the outline to the composite glyph) the current component Delete Removes the component Reset Shift Moves the component to the position (0, 0) Set Scale 100% Sets the scale at 100% for the component. Note that the Type 1 font format does not support scaled components.
Glyph Window Component Properties You can set the precise size and position of the component. Rightclick the component with the Edit tool. You will see a popup menu: Select the Properties command in this menu and you will see the Component Properties dialog box: In this dialog box you can select a different glyph to be used as a component and set the component’s position and scale. The component position is the distance between the composite zero point and the component’s zero point.
FontLab 4 Using the Primitives Panel In FontLab you can add predefined customisable graphical primitives to glyphs. There are five primitives included with FontLab and it is possible to add more. You can select a primitive from the Primitives panel. To open the Primitives panel select the Primitives Panel command in the Windows menu: The panel consists of a primitives list and a Place button that you click to add a primitive to the outline.
Glyph Window Star Star with customizable number of rays Polygon Polygon with customizable number of vertices To add a primitive to a glyph’s outline, select the primitive that you want to add and press the Place button on the Primitives panel. Or just double-click the primitive’s name in the primitives list. When you press the Place button you will see the primitive appear in the middle of the Glyph Window.
FontLab 4 Here is a preview of the Star’s panel: In this properties panel you can change the number of the star’s rays and the values of the internal and external radii. FontLab has a standard for primitives modules, so if you visit our Web site you may find more primitives as add-on modules.
Glyph Window Importing and Exporting Glyphs The most common format for contour-based data is Encapsulated PostScript (EPS). Because this format is a native format of a well-known contour-manipulation program, Adobe Illustrator, another name for it is Adobe Illustrator format (AI). If we go deeper, we see that EPS is much more common than AI, but due to a well-defined internal structure AI format has become a standard way of exchanging contour-based graphics.
FontLab 4 When you paste an outline from another application into FontLab it scales it to fit the font’s UPM. To prevent an outline from scaling, use the Do not rescale EPS files option located in the bottom of the Options > General dialog box: You can also export several glyphs at once: Switch to the Font Window (by selecting the Open Font Window command from the Glyph Window’s popup menu), select the glyphs that you want to export and select the Copy to EPS command from the Glyph menu.
Glyph Window Printing a Glyph To print a sample of the current glyph select the Print command in the File menu while the Glyph Window is active. You will see a standard printing dialog where you can choose a printer and select the printer’s options. To begin printing click the OK button. When printing is complete you will have a sample of the current glyph as seen in the Glyph Window. If you see nodes on the screen they will appear on the paper.
Editing Font Metrics Editing Font Metrics The tools in FontLab that you can use to edit metrics data are common to all FontLab applications, so if you have learned how to use these tools in FontLab you will be ready to use these same tools in any of the FontLab programs.
FontLab 4 What are Font Metrics? A program that aligns and spaces text calculates the total width of all the characters in a paragraph. It then adjusts the widths of the space characters that separate the words and tries to put as many characters as possible into one line. The information about the words that are used to make a paragraph, and the information about the width of the individual characters is the only information necessary. This is what is known as font metrics.
Editing Font Metrics Kerning Kerning information is used to adjust the space between specific pairs of characters. As you can see in the following picture some characters may be well spaced with just the bearings rectangle but other characters are not. To fix this problem a special technique called kerning has been developed. Kerning defines the modification of inter-character space in specific pairs. A good example is the AV pair.
FontLab 4 Metrics Files Information about a glyph’s width is usually located in font files. Kerning information may also be included in the file. In TrueType and FontLab font formats both metrics and kerning data are located in a single font file. In Type 1 (PostScript) fonts the metrics and kerning data are located in separate files. There are two possible formats for the metrics files that are used with Type 1 fonts: AFM and PFM.
Editing Font Metrics Metrics Window FontLab has a special window where you can edit the metrics and kerning information. It is called the Metrics Window. To open the Metrics Window select the Metrics command in the Window menu. The Metrics Window will appear: The Metrics Window consists of several parts: • • • • A toolbar with controls for importing and exporting metrics files, automating metrics or kerning generation and other commands.
FontLab 4 The property area of the Metrics window can work in two modes: compact and expanded. In expanded mode information about glyph metrics is previewed in a table located at the top of the editing area: To switch from compact to expanded mode, use the Expand button: There are three possible modes of the Metrics Window: Preview, Metrics and Kerning. The default is the Metrics mode. Hold down the CTRL key while you open the Metrics window to open it in Kerning mode.
Editing Font Metrics Metrics Window Toolbar This is a simple list of all buttons available on the toolbar: Opens a metrics file (PFM, AFM or MMM format) Saves a metrics file Quick Save – saves the current metrics files to a temporary file Opens the metrics from a temporary file saved by Quick Save Opens the Automatic Metrics or Automatic Kerning generation dialog boxes.
FontLab 4 Selecting a String for Previewing or Metrics Editing If you are in the Preview mode you may want to enter a string to preview. The easiest way to do this is to enter the string in the editing field of the Metrics Window: Or, you can open a list box of predefined strings and select one of them for editing: All strings that appear in the list box are read from the preview.txt file located in FontLab’s installation directory.
Editing Font Metrics You can edit the contents of the strings list in the Preview Options dialog box. To open the dialog box, click on the ... button: You will find an editing field containing all the strings that appear in the list box. Edit the text or use the Open... button to fill it from an external text file. If you are working with a non-Latin font you may want to select the font that is used in the sample string control and list.
FontLab 4 The bottom position in the dialog box is occupied by the “Second preview string” control. Text that you enter here will appear as the second line in the Metrics window: Note that this second line is not editable and is used to make visual comparison to the editing metrics of other glyphs in the font. Navigating in the Sample String Use the and buttons on the Tools toolbar to move to the previous or next glyphs in the string.
Editing Font Metrics Entering Special Characters Some glyphs are not represented by the ANSI characters that are standard in Windows. However, by using special rules you can enter non-ANSI names in the sample string. To enter a glyph’s name, begin with the slash character (/) and finish with a space character or another slash: /A.small/T.small To enter a slash, type it twice (//).
FontLab 4 Right-to-Left Mode If you are working on a font that requires right-to-left reading, like Arabic or Hebrew, you can change the Metrics window to the right-to-left mode.
Editing Font Metrics Editing an Underline In the Preview mode of the Metrics Window you can view and edit the position of the underline that appears in a text editing application when the underline style is chosen. The position and thickness of an underline are considered a font parameter and are part of the font’s design. To view an underline in the Metrics Window Preview mode, switch on the Show Underline check box located in the property area.
FontLab 4 Editing Metrics By “metrics”, we refer to information about a glyph’s width and sidebearings. In FontLab you can modify this information either manually or automatically. To modify a glyph’s metrics you must switch the Metrics Window to the Metrics mode. To do this, push the button in the mode selection area: or, select the Metrics command in the popup menu that appears if you press the right mouse button in the editing area of the Metrics Window. By default the Property area is empty.
Editing Font Metrics Manual Metrics Editing To modify a glyph’s metrics you can use three methods: 1. Move the sidebearings lines using the left mouse button. 2. Edit the values in the property area of the Metrics Window. 3. Drag the glyph within the editing area. To move the sidebearings lines just position the mouse cursor on the line, press the left mouse button and drag the mouse. Release the mouse button when you are done.
FontLab 4 Using the Keyboard When the glyph is active, you can use the keyboard to adjust the metrics: Left and right arrow keys Moves the glyph by one font unit inside the sidebearings without changing the advance width. Hold the SHIFT key to move the glyph by 10 font units. Ctrl+left and Moves the glyph together with the right sidebearing. This changes right arrow keys the left sidebearing and the advance width.
Editing Font Metrics Using the Metrics Table Click on the button to switch the properties area to expanded mode. You will see the metrics table appear in the top area of the editing field. The properties line will disappear: In Metrics mode the properties area table consists of four lines: Glyph name Wid th Left sidebearing Righ t sidebearing Click on any number in the table to enter an exact value. Just use the keyboard to adjust the number and press the ENTER key when you are done.
FontLab 4 Referencing Metrics In the table you can use a reference instead of the real numeric value. For example, if you want to set the left sidebearing of the glyph ‘B’ to be equal to the left sidebearing of the glyph ‘D’, click on the cell located at the intersection of the B column and the third row: and, instead of the numeric value for the metric, enter “=D”. When you click ENTER key to accept changes, the data will be copied from the source glyph.
Editing Font Metrics The Measurement Line To activate the measurement line, click on this button: red line appear in the editing area: .
FontLab 4 Automatic Metrics Generation FontLab can automatically define a glyph’s metrics using a special algorithm. This algorithm usually produces good results but we recommend manual editing for the best results. To define the metrics parameters automatically, click on the button on the toolbar or select the Auto command in the Operations menu or select the Auto Metrics command in the popup menu.
Editing Font Metrics The possible choices are: Current character only This option is available and is the default if any glyph is selected in the editing area. All glyphs in the current string This option generates metrics for all glyphs in the current string in the editing area. Whole font This forces FontLab to generate metrics for all glyphs in the font and is not generally recommended. This operation is not undoable.
FontLab 4 Quick Save and Quick Open You can use these commands to temporarily save the current state of the metrics and kerning information. To quick save a metrics file, ~SAVE.AFM button on the toolbar. in the FontLab directory, press the To open a previously saved file, press the button. The Warning dialog box appears prompting you to save the current (modified) state of metrics into the same temporary file.
Editing Font Metrics Editing Kerning To edit kerning data switch the Metrics Window to Kerning mode by pushing the button in the mode selection area: or, select the Kerning command in the popup menu that appears if you press the right mouse button in the editing area of the Metrics Window.
FontLab 4 Manual Kerning Editing To edit kerning manually you must drag the kerning line (or right glyph of the kerning pair) using the left mouse button. If you click the right mouse button while dragging the glyph kerning for that pair will be removed. You will see that the total number of kerning pairs decreases.
Editing Font Metrics Using the Keyboard When a glyph is selected in the sample string you can use the left and right arrow keys to change the kerning by one font unit at each key click. Hold the SHIFT key to change the kerning by 10 font units. Use the INSERT and DELETE keys to change the glyph in the string and PAGE UP and PAGE DOWN keys to move to the previous and next glyph in the string.
FontLab 4 Using the Table When the properties area is expanded and kerning editing mode is activated you can see all the glyph metrics and pair kerning information in the editing field: Kerning is displayed on the fifth row in the table and each value is positioned between the glyphs that form the kerning pair. Background color for the kerning value is white when there is no kerning, light blue if kerning is negative (glyphs are shifted toward each other) and yellow if kerning is positive.
Editing Font Metrics Using the Kerning Dialog You may add or delete kerning pairs linked to a selected glyph and enter precise kerning values using the Kerning Information dialog box. button on the Kerning window To open this dialog box press the toolbar or select the Edit Kerning command in the popup menu. You will see the following dialog box: In the top half of the dialog box you see a table that has information about all the kerning pairs in which the current glyph is on the left.
FontLab 4 You can sort this list by the names of the “right” glyphs or by the kerning value. To sort the list, click on the header of the column that you want to use as the sort key. You can edit a kerning value or change the right glyph of the pair using the edit controls below the list. The sample window in the bottom part of the dialog box previews the selected kerning pair. You will immediately see the result of the changes in the Metrics window. To add a new kerning pair press the Add button.
Editing Font Metrics Automatic Kerning Generation The easiest way to apply kerning to a font is to use FontLab’s auto-kerning algorithm. This algorithm analyses the shape of the glyphs in the given pairs and automatically kerns them. You can control the pairs list that the autokerning algorithm processes as well as other parameters. button on the toolbar, or To define kerning automatically press the select the Auto Kerning command in the popup menu.
FontLab 4 The Parameters option lets you customize the autokerning algorithm. The most used option is: How much white space do you want to leave between glyphs? This controls how close the glyphs will be moved together while computing kerning in the pair. The Allow for positive kerning check box lets the autokerning algorithm produce positive kerning in pairs. Positive kerning moves glyphs apart from each other.
Editing Font Metrics Resetting Kerning To remove the kerning information for some glyphs or for the entire font you must use the Reset Kerning feature. To open the Reset Kerning dialog box press on the or select the Reset Kerning command in the popup menu. The Reset Kerning dialog box appears: This dialog box includes options that control kerning removal. Available options are: Reset kerning for the current pair This is the default if a pair is selected. Removes kerning for that pair only.
FontLab 4 Adjusting Metrics and Kerning If you want to change metrics or kerning by some fixed value and the manual process will take too much time, you can use the Transform dialog box. 426 1. Switch to the Font window. 2. Select the glyphs that you want to process. 3. Open the Transform dialog box using the Tools > Transform command. 4.
Editing Font Metrics 5. In the options area select the metrics that you want to change: 6. Enter the amount by which you want to adjust the values and select the units (which can be font units or a percentage of the source value). Enter a positive number to increase metrics distances or kerning or a negative value – to decrease. Normally metrics are measured from the bounding box. You can change this, however, if you want, to measurement from a measurement line by using the check box.
FontLab 4 Class-Based Kerning Some glyphs in a font may have a similar shape and may be kerned equally. For example, “A” and “Acaron” will have the same kerning value if kerned with “T” or “Tcaron”. With the standard kerning system this will require 4 kerning pairs. If the number of similar glyphs in the group increases, the number of necessary pairs will rise dramatically. A better way to handle the kerning of similar glyphs is to define glyph groups or classes.
Editing Font Metrics Classes Panel To define glyph classes in FontLab you need to use the Collection > Classes panel. Open the panel using the Collection > Classes panel command from the Window menu. You will see a panel with two pages: Collection and Classes. Activate the Classes panel: This panel contains a toolbar, a list of classes, a class preview panel, a class definition panel and a status bar that tells you how many glyphs are defined for the current class.
FontLab 4 On the toolbar there are several buttons: File operations Reset classes – removes all classes Open classes – opens the class information from the text file Save classes – saves information about the font classes to a text file Close panel – closes the Classes panel Choose view mode Use this button to select one of the class preview modes in the drop-down menu: Select class Selects all glyphs that belong to the current class in the Font window Mark class Marks all class glyphs in red Remove g
Editing Font Metrics Class Definition Every class is defined as a list of glyph names preceded by the class name: _kern105: scircumflex' scaron Kerning class names must begin with the underscore glyph – this is necessary to distinguish them from the “plain” classes used in OpenType. The class definition appears in the bottom part of the panel and you can edit it to add or remove glyphs.
FontLab 4 Defining the Class Click on the button to define a new class. You will see a default class name appear in the list of classes and in the class definition panel: class1: You can manually enter glyph names that you want to add to the class after a colon glyph: class1: A Acaron or you can drag-drop glyphs from the Font Window to append their names to the class. After you add a few glyphs, the class panel will look something like this: It’s time to rename the class.
Editing Font Metrics Key Glyph Kerning classes must include a declaration of the key glyph that is used as a kerning master for other glyphs in the class. To define a master glyph, add a single quote after its name in the class definition text: After you accept the changes made in the class definition string, the key glyph will get a yellow background in the preview panel.
FontLab 4 Editing Class-Based Kerning To define kerning for a class you need to define the kerning for the key glyph of the class using the standard tools of the Metrics panel in kerning mode.
Editing Font Metrics Kerning Assistance FontLab has a special dialog box that can simplify the creation of classbased kerning. Before you start working with it, define some kerning classes (which have their name preceded by an underscore and one of the glyphs in the class is selected as a key glyph).
FontLab 4 The idea of this dialog box is simple: use the check boxes in the left list to select kerning classes that contain glyphs that may be on the left in the kerning pair. Then check the kerning classes that contain glyphs that will be on the right in the pair in the right list. For example, if you have a kerning class that contains glyphs similar to ‘K’, it is unlikely that this glyph will be on the right in a pair, but it definitely will be used as a left glyph in pairs like “Ko”.
Editing Font Metrics When you press the Save button the information you changed will be stored in the font. If you press the Apply and Save button, FontLab will generate the kern feature and class-based kerning will be applied if you build the font in OpenType (or TrueType) format. Please note that this Kerning assistance will not change any kerning in any of the pairs, it works exclusively with the class-based OpenType-style kerning.
FontLab 4 Metrics Assistance Another way to use a kerning class is to adjust the metrics (advance width and left and right sidebearings) in the glyphs that belong to the class. Use the Tools > Metrics assistance command to open the Metrics assistance dialog box: It has a toolbar, a list of the kerning classes, a command area, a preview panel and a class information panel that lets you change class definitions and define new classes. Before you start working with the class metrics, define some classes.
Editing Font Metrics The typical procedure to define class-based metrics: 1. Select the class in the list. 2. Check the checkbox to the left of the class name to indicate that that class must be processed. 3. In the control area below the list check the metrics you want to copy from the key glyph of the class to the rest of the glyphs. It could be L for the left sidebearing, R for the right sidebearing and W for the advance width. 4.
FontLab 4 Class-Based Kerning and OpenType Fonts By default, FontLab will keep a class-based kerning structure when you open an OpenType font that has it. For each kerning class FontLab will automatically generate a class name and mark the first glyph in the class as the key glyph. This feature allows you to work with the huge kerning tables of some OpenType fonts in a comfortable environment that excludes most repetitive pairs.
Editing Font Metrics Opening Metrics Files FontLab allows you to import metrics and/or kerning information into the current font. Using this feature, you can create metric and kerning information once and use it in several similar fonts. button on the To import a metrics file into FontLab click the toolbar. You will see the standard Windows Open File dialog box. Select the metrics file that you want to import (in PFM or AFM format) and press the OK button.
FontLab 4 The options in the Parameters area let you select various metrics importing options: What do you want to do with the metrics data: Do nothing Do not import metrics data from this file. Replace all metrics in the current font Import all metrics data (glyphs’ widths and sidebearings) and replace the metrics data in the current font. We recommend that you use this option only if your font is very similar to the metrics file that you are importing.
Editing Font Metrics Saving Metrics Files When you export a font file in Type 1 font format the metrics files (in AFM and PFM formats) are automatically written. The TrueType font format includes all metrics information so it is not necessary to export additional files. However, if you want to export a metrics file alone, you can always do button on the Metrics so by using the Metrics Window. Just press the Window toolbar.
FontLab 4 Printing a Sample String While you are in the Metrics Window you can print sample strings with or without metrics and kerning information. To do so select the Print command in the File menu. You will see the standard print dialog box where you select the printer and modify printing options. Press OK to begin printing. FontLab will print the string that is currently selected for editing or previewing in the Metrics Window.
Transformations Transformations In FontLab you can transform glyphs in many ways. You can edit glyphs and glyphs’ metrics manually using the Glyph and Metrics windows described in previous chapters. Or you can use FontLab’s transformation filters to edit glyphs or metrics automatically. Transformations may be applied to one glyph, to a range of glyphs selected in the Font window, to a special set of glyphs (only to letters or only to digits, for example) or to a whole font.
FontLab 4 The Transform Dialog Box The easiest way to apply transformations is to use the Transform dialog box. It is accessible from the Tools menu while the Font or Glyph window is active. Select the Transform command from the Tools menu and you will see a dialog box: By default the box is empty and the dummy transformation action Do not transform a glyph is selected in the actions list.
Transformations Expand one of the categories to see all the filters: Select an action and you will see an action customization panel appear below the list: The contents of the customization panel depend on the action selected. Note the red MM mark in the right top corner of some customization panels. This mark means that the currently selected action may be applied to a single master of a Multiple Master font. All actions that do not have this mark are not compatible with MM fonts.
FontLab 4 Transformation Actions There are four groups of actions: 448 Outline The outline of a glyph is transformed.
Transformations Outline Transformation Here is a list of all the outline transformation actions: Shift Shifts the glyph’s outline Mirror Mirrors the glyph vertically or horizontally Scale Scales the glyph proportionally or non-proportionally Rotate Rotates the glyph Slant Slants the glyph Decompose Decomposes a composite glyph Convert to Type 1 Converts an outline to the Type 1 (3rd-order curves) format Convert to TrueType Converts an outline to the TrueType (2nd-order curves) format Revers
FontLab 4 Shift This action shifts the outline of the glyph in the vertical and/or horizontal direction. Here is a sample of a font with some glyphs shifted in the vertical direction: You can also shift glyphs in the vertical direction in the metrics mode of the Metrics window: hold the SHIFT key and drag the glyph. Use the Shift the Mask Layer control to shift the mask layer together with the outline or to leave it untouched.
Transformations Scale This action lets you scale your glyphs proportionally or non-proportionally. Enter your desired vertical and horizontal scale factors in the edit fields. Switch on the Proportional scale option to keep the vertical and horizontal scale factors the same. Switch off the Scale hints option to avoid scaling hints along with the glyph’s outline.
FontLab 4 Rotate This transformation action simply rotates glyphs. You can set the rotation angle, the position of the center of rotation and the direction of rotation. You can rotate glyphs around the zero point, around the center of the glyph’s bounding box or you can specify a point that will be used as the center of rotation. Here is an example of the same rotation transformation around different center points: Slant This action slants glyphs.
Transformations Decompose This action is the equivalent of the Decompose command from the Glyph menu. It adds the scaled and shifted outlines of component glyphs to the composite glyph where they are used. Applied to a whole font it makes it free of composites. Convert to Type 1 This action converts all TrueType (2nd-order) curves used in the selected glyphs into Type 1 (3rd-order) curves. Use this command if you want to manually prepare a TrueType font for conversion into Type 1 format.
FontLab 4 Extremes This command is the equivalent of the Nodes at extremes outline action that was described in the “Glyph Window” chapter. Use it to automatically insert nodes at curves’ extreme points as is required by the Type 1 specification. Remove Overlap This action removes overlapping parts of the glyph’s outline. It also sets the direction of all the contours to counterclockwise (as it required by the Type 1 specification).
Transformations Optimize With the Optimize action FontLab tries to automatically adjust the outline to remove unnecessary elements and correct others. With the action options you can control the optimization process: Outline Simplification level Controls the curve removal feature, from “do not simplify outline” to “extreme”. The bigger value you choose the more curves FontLab will try to remove/smooth. Auto-alignment level Controls the auto-alignment feature in a range from “do not align” to “extreme”.
FontLab 4 Blend This transformation blends the mask and outline layers. A single option lets you choose the “position” of the intermediate design between the mask and outline layers: Outline and mask layers On the example above outline layer is black weight and mask layer is regular.
Transformations Hints and Guidelines Transformation Hints transformation actions let you automate some hinting actions: Remove hints/guides Lets you remove hints and links or guidelines Autohint Automatically generates hints Convert to instructions Converts Type 1 hints to editable visual TrueType instructions Autoreplace Automatically generates a hint replacement program Convert to links Converts all hints to links Convert to hints Converts all links to hints Drop TT Hints Removes all TrueTyp
FontLab 4 Autoreplace This action automatically builds a hint replacement program for the overlapping Type 1 hints. Refer to the chapter “Hinting” for more information about hinting and hint replacement. Convert to links Use this action to convert Type 1 hints to links. FontLab will analyse the outline of the glyph and try to make links that will replace the hints. Refer to the “Glyph Window” chapter for information about hints and links. Convert to hints This action is the reverse of the previous one.
Transformations Metrics Transformation These transformations let you automatically set metrics, calculate metrics in glyphs, increase or decrease a glyph’s sidebearings and width, and center glyphs in their width vector.
FontLab 4 Set Sidebearings Use this action to change the sidebearings' values of the glyphs. You can set new values for the left or right sidebearings or change these values by entering the amount in font units. So if you think that your font needs some more white space, just select this action, choose the Increase by option in the list boxes and enter the value by which you want to increase the sidebearings.
Transformations Autospacing This action analyses the glyph’s outline and automatically calculates its sidebearings. It uses the same algorithm that is used to automatically calculate metrics in the Metrics window. Refer to the “Editing Metrics” chapter for more information about the autospacing algorithm and options. Adjust Metrics This action lets you change metrics or kerning by some given value or percentage of the original value.
FontLab 4 Effects Increase your font library with this set of professionally designed effects. From outline to 3D-shadow, to gradient fill – these transformation filters always produce good results.
Transformations Bold 20 units in both directions. Keep glyph’s dimensions is OFF Note that the size of all the glyphs has changed. Bold 20 units in the horizontal direction Outline 20 units in both directions. Make round corners is OFF. Enter the horizontal and vertical values that will be used to increase (positive numbers) or decrease (negative numbers) the weight of the outline. Switch on the Keep glyph’s dimensions check box to scale the glyph so the weight-increasing effect will be compensated.
FontLab 4 College The best way to explain this effect is to see a sample of it: The parameters of this effect are very simple: Weight of the outline Distance to outline 464
Transformations Shadow This is a very nice effect that can save you a lot of time. Those who have tried to make a shadow font manually know what a miracle this transformation performs: The parameters set the shift of the shadow (positive values are to the right and up) and width of the outline: 3D Extrusion This action is similar to the Shadow action but it simulates a 3D thickness of the glyphs: The parameters of this action are the same as in the previous section.
FontLab 4 3D Rotate With this action you can “rotate” your glyphs in “3D” space: The parameters of this action set angles of rotation for glyphs around imaginary axes. Z Rotation means rotation around the vertical axis. Y Rotation is around the horizontal axis. The vertical axis goes through the middle of the glyph.
Transformations Random This effect randomly shifts a glyph’s nodes. It is especially interesting when combined with other effects, like Gradient: You can control how much the nodes are shifted. You can set the same value for both directions if the Proportional offset option is on or you can customize the values separately. Envelope This last effect lets you apply one of many predefined transformations to several glyphs at once.
FontLab 4 Transform Range Dialog Box There is a more advanced method of applying transformation effects to glyphs. With it you can apply many transformation filters at once, transform a subset of a font’s glyphs, see an instant preview of the programmed transformation and even save transformation programs for future use. To open the Transform Range dialog box select the Transform Range command in the Tools menu. Note that this command is available while any of the windows is open.
Transformations Transformation Range In the top part of the dialog box a Transformation Range area is situated: Controls in this area let you select which glyphs you want to transform. Open the combo box and you will see the available options: Current glyph only Transformations will be applied only to one current glyph: the “blue” glyph in the Font window or the current glyphs in the Metrics or Glyph windows.
FontLab 4 Glyph List You may select which glyphs will be transformed by entering a list of glyphs. This is handy for repetitive or recurrent transformations. To create a glyph list select the All glyphs in the glyph list or All glyphs that are not in the list options in the ranges selection list and press the List… button (which will be enabled). You will see a dialog box: Enter all the glyphs that you want to transform into the Glyph list editing field.
Transformations Transformation Program In the middle of the dialog box there are two list boxes: The left list box, called Available actions includes the names of all available transformation actions. The actions are grouped in categories for easier selection. The right list box previews the current transformation program. You may add as many actions as you want to the transformations program; delete actions from the program; or rearrange actions to make them execute in proper sequence.
FontLab 4 Using the Preview Window When you make a program that includes several actions you can see an instant preview of the transformation program that you have made. Press the Open Preview Panel button to open a preview window: You see that this panel includes a sample glyph that is incrementally transformed. You can see the results of each step of the transformation so it’s very easy to control how your transformation program works.
Transformations Saving and Opening a Transformation Program You can save the transformation program that you created and you can open and use previously saved transformation programs. To save the transformation program press the button. You will see a standard dialog box where you can select a directory and enter a file name for the program.
FontLab 4 Transforming Fonts With the Transform Range dialog box you can apply a transformation program to multiple fonts at once. The easiest way is to apply it to all fonts that are open in FontLab. If that is not enough, you can run the transformation program in “batch mode”, processing multiple fonts that are not open in FontLab. To select fonts for transformation: 1.
Transformations 2. Click on the button to the right of the Transformation range control to open the Fonts List dialog box: 3. Click on the button to add fonts to the list using the standard File Open dialog box. Note that you may select multiple font files to add: 4. To remove a font from the list select it and click on the the button to remove all fonts from the list. button.
FontLab 4 5. Use the Options controls to define the optional suffixes that will be added to the font name and to the file name during transformation: In the same area you can select the destination format in which the font will be exported: Use the “Same as source” choice to leave the font’s format unchanged. The font’s customized export options (if source fonts are in FontLab format) or the currently selected export options will be used to build the destination font.
Hinting Hinting This chapter is about hinting Type 1 and TrueType fonts. Hinting is a rather “technical” stage of the modern font design process. It is the stage where art truly meets technology. You need a lot of technical information to make well-hinted fonts and this chapter will give it to you.
FontLab 4 Font Scaling, PPM One of the most important features of outline fonts is that they can be used on many different output devices – from computer monitors to imagesetters. Because character outline shapes are defined as sequences of lines and curves it is easy to scale outlines to any size and resolution. However, almost all output devices have discrete elements arranged in a regular rectangular raster (grid) and the images that these devices produce are constructed using these discrete cells.
Hinting Coordinate Rounding, Gridfitting Output devices take the vector outline of a glyph and “rasterize” it. That is, they calculate from the outline data where they need to place each pixel to get an accurate output representation of the glyph. Since the final output is on a discrete raster (i.e. a grid of numbered pixels), the scaled pixel coordinates need to be rounded somehow to integer values.
FontLab 4 TrueType And Type 1 Hints The two most commonly used font formats are Type 1 and TrueType. However they use very different hinting instructions and it is not always possible to automatically convert Type 1 hints to TrueType hints. Type 1 hinting TrueType hinting In Type 1 fonts, hints define the most important dimensions in the characters, like the position and width of the crossbar of the letter ‘H.
Hinting Type 1 Hints As you know from the “Glyph Window” chapter, there are two kinds of Type 1 Hints – font level hints and character-level hints. Font-level hints define important vertical positions in the font, the most commonly used stem widths and some other important data that helps control the hinting process. Character-level hints are used to declare the position and width of the most important character elements.
FontLab 4 Font-Level Type 1 Hints Font-level hints are used to keep important character elements similar at all PPM sizes. There are three types of font-level hints: Alignment Zones Positions and width of important heights Standard Stem Widths Widths of the most commonly used stems Control Data Controls the hinting process All font-level hinting is set in the Alignment page of the FontInfo dialog in FontLab.
Hinting Alignment Zones Alignment zones are typically used to perform a process known as overshoot suppression: Rounded characters and characters with sharp ends usually are created a little bit larger than “flat characters”: Notice that the top and bottom of the O extend just a little beyond the top and bottom of the H. This is called overshoot. It is necessary to compensate for a visual effect that makes rounded characters look slightly smaller.
FontLab 4 This is done by declaring alignment zones that define the bottom and top positions of the zone (in our example the height of H and O) and the alignment direction (bottom or top): Top alignment zone Bottom alignment zone At small PPMs all points that have vertical positions inside the zone will be aligned to the primary line (i.e. moved in the direction of the alignment zone).
Hinting Editing Alignment Zones To set or edit alignment zones open the Font Info dialog box and select the Hinting settings item in the list at the left: There are two list boxes where alignment zones may be set: the Primary zones list and the Secondary zones list: In Type 1 terminology primary zones are called BlueValues and secondary zones OtherBlues. BlueValues include one bottom alignment zone, the so-called baseline zone, and up to 6 top alignment zones.
FontLab 4 OtherBlues includes up to 5 bottom alignment zones. To add a new alignment zone, press the button below the list. To edit the position of the zone, select the zone you want to edit in the list and edit it in the edit fields below the list. To remove an alignment zone, select the zone you want to remove button below that list. from the list and press the You can see a preview of the zones by switching on the Alignment Zones layer with the View > Show Layer > Alignment zones command.
Hinting Standard Stem Widths Typically many characters in a font use the same few standard stem widths. As examples, let’s take the H, B, and F characters shown below. All of them have the same width for the straight vertical stems and the same width for the horizontal stems: V V V V H H H H H H The most widely used stem widths are stored in the font header in order to force the rasterizer to render these stems at the same width.
FontLab 4 Editing Standard Stems Standard stem widths are controlled through the Standard Stems page of the Font Info dialog box: Stem width controls are in the bottom part of this page: There are controls for vertical and horizontal standard stem widths. All available stems appear in the horizontal lists. You can select any stem just as you would in normal, vertical list controls. To add a stem to the list of the standard stems press side of the stems' list.
Hinting FontLab also has a faster way to append stems to the list of standard stem widths. Any vertical or horizontal hint may be used as a source of stem width information. Just point the Edit tool at the hint, press the right mouse button and select the Define a Stem command in the popup menu. If this command is not accessible, it means that this stem is already in the list. To automatically calculate standard stem widths press the button.
FontLab 4 Additional Control Data Some additional data may be set to control the hinting process: BlueScale Controls PPM when overshoot suppression is switched off BlueShift Gives more precise control over overshoot description (see below) BlueFuzz Expands alignment zones in both directions You can set all these values on the Additional Hinting Parameters page of the Font Info dialog box: BlueScale is the PPM size at which overshoot suppression is switched off.
Hinting The BlueScale value is stored in Type 1 fonts in a very strange format, but in the Alignment page you can set it using one of three different ways: directly, in the form that the Type 1 specification describes (i.e. it looks like a floating point number), as a PPM size, or as a point size on a device with 300 DPI resolution. Use the BlueScale: combo box to select the BlueScale editing method and edit it in the is equal to: edit field.
FontLab 4 Stem Hint Programming Now that you know everything about font-level hinting and know how to set and edit stem hints (from the “Glyph Window” chapter). It’s time to talk about hint programming. The Type 1 hinting system requires that stem hints not overlap each other.
Hinting Each of these hints should, however, work only on part of the outline: 7 6 7 8 8 9 10 11 5 9 10 4 11 12 13 1 6 15 14 STARTPOINT 2 Hin ts set#1 5 4 12 13 3 1 3 15 14 STARTPOINT 2 Hints se t#2 As you can see, we have two hint sets and three outline segments: from point 1 to point 4, from point 5 to point 12 and from point 13 to point 15. So we must switch active hint sets as the rasterizer proceeds along the contour to match the part of the outline that the hint sets apply to.
FontLab 4 This program is called a hint replacement program and the process that it performs is called hint replacement. FontLab will generate hint replacement programs for every character where necessary but you can also set hint replacement programs manually if necessary to get the best possible results. You can see the state of the character's hints and hint replacement program instantly in the Font Window. There is a small mark in the leftbottom area of each character cell.
Hinting Type 1 Hinting Tool Use the Type 1 Hinting Tool to create a hint replacement program. To activate the Type 1 Hinting tool select Type 1 Hinting in the Tools > Operations menu or in the Operations submenu of the Glyph Window button in the Tools toolbar. popup menu. Or just click on the If the glyph that you are hinting contains TrueType curves FontLab will open the warning dialog box: Click Cancel to avoid activating the Type 1 hinting tool or OK to convert the glyph to Type 1 curves.
FontLab 4 When the Type 1 hinting tool is active, the contents of the Glyph window change: Here is a brief description of what appears in the editing field: Thick green lines Currently active set of stem hints Thin gray lines All other hints Yellow areas Overlapping zones of hints Black contour Active part of contour Green “HR” marks Hint-substitution points Yellow marks Startpoints of contours with their number Arrows Direction of contours There are active and inactive contour segments and a
Hinting Inserting And Removing Replacement Points The contour segments to which you may assign hints lie between two hint replacement points (green marks). To define a new contour segment you add a new replacement point. Remember that the node where you put the hint replacement mark will be the first node to which the hint set is applied. To add a hint replacement point: 1. Position the mouse cursor on the node where you want to set the hint replacement mark. 2. Press the right mouse button.
FontLab 4 Adding and removing hints FontLab automatically chooses the hints that should be included in the hint set that belongs to the contour segment beginning from the new hint replacement mark. To modify this hint set you can add or remove hints from it. To add a hint to the hint set: 1. Position the mouse cursor on the hint that you want to add. The cursor should be between two hint lines. 2. Press the right mouse button.
Hinting Editing Hints With the Type 1 hinting tool you can also add, edit and delete Type 1 hints and links. To add a new hint, hold the CTRL key and drag it from the vertical or horizontal ruler line in the left and top parts of the Glyph Window and position it where you want the hint to be.
FontLab 4 Autoreplacing The easiest way to build a hint substitution program is to click the button on the command panel. We recommend that you begin from the automatically generated hint substitution program and make adjustments as necessary. Preview Panel The Type 1 Hinting Tool has a preview panel that shows how Type 1 hints will affect the character’s appearance.
Hinting Click on button to open the popup menu which allows to selected the rasterization method: If Grayscale is selected, then FontLab will render the sample using font anti-aliasing provided by the operating system. If you don’t want to see any grays, choose Black-White. To see a preview of special characters that are not accessible directly from the keyboard use the usual FontLab rules for entering special characters (i.e.
FontLab 4 Expanding the Preview Panel The Preview panel may work in “closed” or “expanded” mode. To open the panel click on the . You will see the preview panel expand: The top part of the panel remains the same, and the bottom part is the sample string rendered at multiple PPMs. You close the panel by clicking the button.
Hinting Preview Panel Options With the Preview panel options dialog box you can customize the PPMs at which the horizontal waterfall and sample string are rendered. button to the right of the sample To open the dialog click on the string editing control.
FontLab 4 Below the PPM selection controls there are two check boxes: Lock preview text box When this option is switched on, FontLab will not allow you to change the contents of the sample string edit box. You can, however, select predefined strings in the list. Below the options there is a list of pre-defined sample stings. You can freely edit it as text or click the Open button to open a text file that will be used as a source of sample strings.
Hinting Some Examples Here we want to show you some typical hinting situations and recommended hinting sequences for them: 2 2 HR 2 HR 2 HR HR HR HR 3 HR 3 HR 3 HR 1 HR 3 HR 1 1 HR 1 Example of a hint replacement program for the Times ‘B’ character 3 3 1 HR HR 3 1 HR HR HR 2 HR HR 2 HR HR 3 HR HR HR HR HR 2 HR HR 1 HR 2 HR HR 3 1 HR 2 HR HR 3 1 HR HR HR 1 HR HR HR 2 HR HR Example of a hint replacement program for the Times ‘g’ character 505
FontLab 4 TrueType Instructions In TrueType fonts, the hinting process is very different from the one used in Type 1 fonts. As we said before, in TrueType font format almost all characters have special programs that directly control the movement of outline points at different PPM sizes. The native TrueType instruction language consists of several dozen commands. All the commands deal with the data stack, a temporary storage place, and the constant definitions that come with a font.
Hinting All untouched points usually interpolate (by the last glyph program command) between the new positions of touched points. Original outline Hinted outline before interpolation Hinted outline after final interpolation There are several special commands that are applied to the glyph outline at specific PPMs. These commands are called delta instructions and are used to slightly modify the position of outline points to improve the character’s appearance.
FontLab 4 Font Parameters Because within each font it’s very important that all characters have a consistent appearance, some font-level information is necessary for hinting. There are two kinds of such information: alignment zones and stem widths. Alignment zones set the positions of the most important vertical positions, such as the sizes of uppercase characters, the position of middle-lines, and the top and bottom overshoot positions.
Hinting Visual TrueType Hints In FontLab we use a small set of high-level hinting instructions that are automatically compiled to TrueType instructions during font export. Because these instructions can be set and edited visually we call them visual TrueType hints or just visual hints. Visual hints are enough to define TrueType hints even in very complex situations and they are compiled in very compact and effective TrueType instruction code.
FontLab 4 TrueType Hinting Tool With the TrueType hinting tool you can set and modify visual TrueType hints and preview the real resulting TrueType font using the system TrueType rasterizer. To activate the TrueType Hinting Tool select the TrueType Hinting command from the Tools > Operations menu or press the the Tools toolbar.
Hinting When the Hinting Tool becomes active you will see that the editing field of the Glyph Window has changed: The Toolbar, Options, and Preview may appear on the screen: 511
FontLab 4 Toolbar With the Toolbar you can select the hinting direction, the current visual instruction tool, and the layers that appear in the editing field of the Glyph Window. You can also open and close the Preview and Program panels. Here is a detailed description of the Toolbar buttons: Set vertical direction. Sets visual instruction tools to work in the vertical direction. I.e. create vertical links, alignment, interpolation and deltas.
Hinting If you click on the button, you will see the Options menu: All the commands except the two at the bottom control the appearance of the layers that represent information about the hinting process. The layers are described in the following section. The two remaining commands let you open the Programs panel that previews the source code of the hinting program and the Preview panel that shows the result of the hinting.
FontLab 4 Layers With the TrueType tool you can see various information layers in the Glyph Window. Gridlines Point indexes Resulting ou tline Pixel cente rs Resulting pixels Original ou tline These layers are different from the usual editing layers, so we will explain them here: 514 Outline The original, untouched outline of the glyph always appears in the Glyph Window in black. The Resulting outline, which is the result of the interpretation of the instruction program, appears in gray.
Hinting Options Panel The main control center of the TrueType hinting tool is the Options panel: Current PPM size Alignment of distances Point alignment options Delta instruction settigns Preview of the current glyph Preview zoom buttons The main use of this panel is for selection of the current PPM size. Use the drop-down combo box to select one of the predefined values or enter your own value in the edit field: In the options preview window you can see a sample of the current character.
FontLab 4 TrueType Preview Panel In the preview panel you will see a waterfall preview of the current character and a preview of a string at the current PPM size: Sample string edit field Preview window Waterfall preview To open the Preview panel (if it’s not already open) press the button on the toolbar. If you enter any characters in the edit field, you will see these characters appear in the top of the preview window.
Hinting How FontLab Previews TrueType Fonts FontLab uses the real Windows TrueType rasterizer to give an exact preview of the TrueType hinting for the Preview panel, the Pixels layer in the Glyph Window and the preview window in the Options panel. To get a preview FontLab implements the following steps: 1. FontLab creates a very small TrueType font that includes the empty (notdef) character, current character and all characters from the sample string of the Preview panel. 2.
FontLab 4 Program Panel In the Program panel you can see the text of the instruction program as it is interpreted: To open the Program panel use the command from the TrueType hinting options menu. The Program panel consists of the program listing and four buttons: 518 Del Removes the selected command Reset Removes all commands Close Closes the panel More>> Expands the panel to include the command options controls.
Hinting Here are the mnemonics that are used to represent commands. A detailed description of each command and its parameters will follow.
FontLab 4 The commands in the list have a two-way connection with the Glyph window: when you click on the visual representation of the command in the Glyph window, the related command is selected in the Program panel’s list. When you select a command in the Program list, the command is visually highlighted in the Glyph window: Use the command link to check the logic of the hinting program and to customize command parameters in complex situations.
Hinting Alignment Instructions Alignment instructions are used to align points to the grid. There are two types of alignment instructions: those linked with alignment zones and those not linked with zones. Alignment Zones Alignment zones define important vertical positions that are common to many font characters.
FontLab 4 AlignTop and AlignBottom Instructions These instructions are available only when the vertical hinting direction is selected. To add AlignTop or AlignBottom commands: 1. Select the Align tool . 2. Position the cursor over the point that you want to align and click the left mouse button 3. If the selected point was in one of the alignment zones, an AlignTop or AlignBottom command will be added to the hinting program.
Hinting Hinting Alignment Zones By default the position of the alignment zones is scaled linearly. Sometimes this may not be satisfactory and you may need to exactly specify the position of the alignment zones at some PPMs. With FontLab you can adjust the position of the zones around the linearly scaled position.
FontLab 4 Align Instruction Use the Align command when it’s not necessary (or possible - you can’t align points to horizontal alignment zones) to align a point to an alignment zone but you want to align the point’s position to the grid. The Align command is available in both directions. The Align command allows you to directly control how point coordinates are rounded.
Hinting Here is a graphical description of the various rounding methods: Rounding Appearance Code Description 0 Aligns to the closest grid line 1 Aligns to the left or bottom grid line 2 Aligns to the right or top grid line 3 Aligns to the closest center of pixel Aligns to closest edge of pixel or center of pixel To set an alignment command on the outline: 1. Press the align button on the toolbar. 2. Position the mouse cursor on the point that you want to align. 3.
FontLab 4 Align commands are the very first commands in any hinting program. They do not have base points and affect only one point. Customizing the Align Instructions You can customize Align instructions with the context menu. Right-click the point to which the align command is to be applied and you will see the menu: You may delete the command, attach or detach it from the alignment zone (this option is available only if the point is in the zone) and change the alignment type.
Hinting Links Links are the most important visual commands. They are used to set relationships between outline points and to set distances between points to one of the standard stem values. There are two types of links: single links and double links. Single links need to have a base point that is set by a previous command. This can be any command except a final delta. A double link does not need to have base points.
FontLab 4 Standard Stems All link commands can be connected with one of the standard stems. When a link is connected to a stem it sets the distance between points to the scaled and rounded width of the stem. Using this technique you can implement standard-stem-based hinting, keeping important stem widths the same in every character in which they are used. Please note that Type 1 standard stems and TrueType stems are different, although they function similarly.
Hinting Single Links The single link connects an outline point to a point whose position is set by another command. If you set a single link that linked point will always be at the given distance from the base point: Original stem Resulting stem Single link instruction A single link may be linked with one of the standard stem widths. If it is so linked then the distance to the base point is replaced by the scaled and rounded stem width.
FontLab 4 To set a single link: 1. Select the single link tool . 2. Position the cursor on the base point. Don’t forget that the position of the base point must be set by an instruction. 3. Press the left mouse button and drag the mouse to the point that you want to link. A circle will highlight it. Release the button. Hold the SHIFT key down if you do not want to connect the single link to a standard stem width. If you hold the SHIFT key the stem settings in the Options panel will not work.
Hinting In the Glyph Window the single link command appears as a directed line with a mark in the middle. The mark is yellow if the link is connected to a standard stem width, and gray if it is not.
FontLab 4 Customizing the Single Link Command There are two ways to customize the single link command: the context menu and the Program panel. To customize a command with the context menu right-click the round icon in the middle of the link: Use the Delete command to remove the command and the other options to customize it. The Distance alignment sub-menu lets you link the command to one of the stems.
Hinting Single Link Examples Here are some examples of single link hinting: Horizontal hinting of the Times ‘m’ character Vertical hinting of the Times ‘F’ character 533
FontLab 4 Double Links Double links let you set the distance between two “untouched” points. Both points will be moved by this command and both points will be touched afterward. The distance between points can be connected to one of the standard stem widths using the usual procedure described above. If the distance is connected to the stem width, it will scale with the stem.
Hinting In the Glyph Window the Double link command appears as a line with two arrows and a mark in the middle. The mark is blue if the link is connected to the stem, and gray if it is not connected.
FontLab 4 Customizing the Command Right-click the middle icon on the double link to open the context menu: The Delete command and Distance alignment options are the same as in the Single link menu. An additional command is “Convert to single link”. Use it to replace the double link command with the combination of the align and single link commands.
Hinting Double Link Examples Some examples of double link command usage: Horizontal hinting of the Times ‘H’ character There are two double links and two single links in this example. The double links set the width and position of the two vertical stems and the single links align other points that are on the same stem. Horizontal hinting of the Times “o” character Double links are usually used to hint characters in the horizontal directions in cases where stem position is not important.
FontLab 4 Interpolation Most of the time, the align and linking commands are enough to hint most characters, but in some cases a very different kind of command is necessary. Look at the enlarged middle-right region of the character B in the vertical direction: Resul ting outline 34 34 11 11 38 38 Original outline Wi thout interpolation Wi th interpolation You can see that point 11 in the original outline in the vertical direction is set exactly between points 34 and 38.
Hinting In the Program panel the interpolate command appears as: InterpolateV 34 -> 11 <- 38 where 11 is the interpolated point and 34 and 38 are the base points. Customizing the Command To customize the command right click the command icon (small green circle). In the context menu you can use the Delete command to remove the command and the Align destination menu to align the destination point to the grid.
FontLab 4 Delta Instructions Now you know all about the visual hinting commands that can be applied to an outline at all PPMs. In addition to these commands the TrueType hinting language lets you set special commands that will work only at specific PPM sizes. These commands are called delta instructions. There are two delta instructions for each hinting direction: middle delta instructions and final delta instructions.
Hinting Middle Delta Instructions A middle delta instruction can move outline points like any other instruction. It can move any outline point in 1/8-pixel increments from one pixel left (or bottom) to one pixel right (or top): -8/8 -4/8 0 +4/8 8/8 +8/8 +4/8 0 -4/8 -8/8 Movement space of delta instruction Middle delta instructions are interpreted like other commands in the hinting program.
FontLab 4 The middle delta instruction has 4 arguments: point to move, PPM0, PPM1 (the PPM range in which this instruction works), and the shift distance in eighths of pixels. In the Program panel this instruction looks like: MDeltaV 18 <6> 12-14 where 18 is the point index, 6 is the distance to move (in this case - move up by _ of a pixel. A minus sign in front of the number would indicate a move down), 12 is PPM0, and 14 is PPM1.
Hinting Faster Methods to Set Delta Instruction There are two other methods to set delta instructions. The simplest method is to select the Middle Delta tool, position the mouse cursor over the point you want to move and drag the point in the needed direction. Hold down the SHIFT key to move the point only in the current hinting direction (horizontal or vertical).
FontLab 4 Active and Inactive Delta Instructions Delta instructions may be active or inactive. When the current PPM is within the PPM range of the delta instruction the instruction is active. Otherwise it is inactive. Active delta instruction (shift up) Inactive delta instruction Note: if you set a new middle delta instruction at a point where a delta instruction is already set and is active the old instruction will be replaced by the new one.
Hinting Customizing the Delta Instruction Right-click the delta instruction mark to get access to the context menu: Use the Delete command to remove a middle delta instruction, so it will be removed for all PPMs for which it is defined. Use the Remove for current PPM command to remove a middle delta instruction only for the currently selected PPM.
FontLab 4 Final Delta Instructions Final delta instructions are applied after the final interpolation of all untouched points. They are used as a last resort to shift points to remove or add pixels at PPM sizes where it is still necessary after application of zones, stems and all other hints: Delta 1 Delta 2 Hinted character at 12 PPM without delta instructions Same character with two delta instructions The sequence of interpretation is the only difference between middle and final delta instructions.
Hinting Some recommendations: 1. Delta hinting is a very time-consuming operation because you have to check the rendering results at many PPMs. So always try first to get the best possible results from normal, linear hinting. 2. Use the waterfall preview in the Preview panel to see where delta hinting is necessary. 3. Switch off font grayscaling in the Display Properties panel to see a real rendering preview. Display Properties are accessible through Control Panel. 4.
FontLab 4 Removing Instructions You can remove any instruction using two methods: 1. Select the instruction in the Program panel and press the Del button. 2. Position the cursor on the hotpoint of the instruction, hold the CTRL key and click the right mouse button. AlignTop, AlignBottom, Align, MiddleDelta and FinalDelta instructions have hotpoints on the point to which they are applied.
Hinting Standard Stems There are two sets of standard stems in FontLab: Type 1 standard stems and TrueType stems. Type 1 stems are used by the Type 1 font rasterizer and have some limits. For example, it is possible to define only 12 stems for each direction. TrueType stems have no limits and also have some additional properties. They may be named and their rounding may be specified for selected PPMs. In FontLab you can control the rounding of the standard stem widths.
FontLab 4 To control the TrueType stems’ properties you open the TrueType stems dialog box: Press this button to open the Stems dialog box You will see the following dialog box: The dialog box consists of a toolbar on the top, a stem list, a row of controls to adjust stem parameters and the Advanced button that gives access to some font-level hinting options that we will discuss later.
Hinting Buttons on the toolbar mean: Include vertical stems in the list (stems measured along the X axis) Include horizontal stems in the list. Add new horizontal stem Add new vertical stem Remove the stem selected in the list. Automatically calculate and optimize the rounding PPMs. Reset rounding PPMs to linear values. Import Type 1 stems into the list. Import stems from another font. Columns in the list mean: Name Name of the stem. This is editable if you click the F2 button on the keyboard.
FontLab 4 Click on the button to append Type 1 stems to the list. FontLab will append only those stems that are not already in the list. With the button you can append stems from another font. Click it and select the source font from the list: When you remove stems that are used by the hinting program in some glyphs FontLab will replace any stem-linked link with a simple rounded link.
Hinting Stems Rounding Control over stem widths rounding is necessary for two reasons: 1. To control a font’s contrast. If your font is low contrast, like Courier or Arial, you may want to set the jump PPMs for vertical and horizontal stems equal. This way, the font will never get high contrast, as when vertical stems are 2 pixels wide and horizontal stems are only 1 pixel wide. 2.
FontLab 4 Advanced Options Click on the button in the Options panel and click on the Advanced button in the Stems dialog box. You will see a dialog box expand which includes the advanced options area: Stem snap precision Measured in 1/16 of a pixel, this value defines the difference between the actual stem width (scaled but not rounded) and the stem width in pixels specified by the stems dialog box. If the difference is more than the defined value, the stem is rounded linearly.
Hinting Context Menu If you press the right mouse button in the free space of the Glyph Window edit field you will see a popup menu: The commands available in this menu are: Cancel Closes the menu.
FontLab 4 Autohinting Process When you select the Convert Hints to Instructions command in the popup menu or apply the same action in the Transform or Transform All dialog box, FontLab: 1. Converts all hints to links to find what points are linked by the hint. 2. For every horizontal link: 2.1 If one of the linked points is in the top or bottom alignment zone: adds an AlignTop or AlignBottom command and connects another point to it by the SingleLink command.
Hinting Autohinting Options You can customize the conversion process with the Autohinting Options command.
FontLab 4 Direct links to center of the glyph where possible FontLab can try to hint starting from the left sidebearing and going to the right or starting from both sidebearings and going to the center of the glyph.
Hinting Add link to the right sidebearing point FontLab can generate a single, distance-rounded link that will go from the rightmost hinted point to the right sidebearing point. This feature guarantees at least one pixel distance between glyphs on all PPMs.
FontLab 4 Single link attachment precision If an outline is not very precise you can enter a value in this field so FontLab will have a threshold to decide when several points are located along a line. For precise fonts set this value to 1 or 0. Generally speaking, autohinting is a trial and error process. You can get very good autohinting results if you select the correct options for your font and define correct stem and alignment zone behaviour at the critical PPMs.
Hinting Hinting Sidebearings With FontLab’s TrueType hinting tool you can set instructions that will control the horizontal position of a character’s sidebearings. This gives you precise control over a character’s metrics at small PPM sizes. In the editing field of the Glyph window you can see yellow marks that designate sidebearing points. There are left and right sidebearing points. The left mark controls the position of the left sidebearing and the right mark controls the right sidebearing.
FontLab 4 Hinting Composite Glyphs FontLab 4 allows you to set TrueType hints for the composite glyphs. There is not much visible difference between hinting plain and composite glyphs – Glyph window and tools look as if you are hinting decomposed glyph. The principle difference is that components of a composite glyph appear already hinted.
Hinting Automatic TrueType Hinting There is no special command “TrueType autohinting” in FontLab. There is Type 1 autohinting and automatic conversion of Type 1 fonts to TrueType instructions. This is a more flexible solution to the TrueType autohinting problem because it allows you to use all the correct Type 1 hints that you have or to build both hints at once. To automatically generate visual TrueType hints for the whole font: 1. Select the Transform Range command from the Tools menu. 2.
FontLab 4 Working With Bitmaps Setting complex instructions program and multiple delta instructions may take a lot of time. An alternative is to create bitmap versions of the glyphs for most important sizes so TrueType rasterizer will use them instead of rendering outline glyphs and instructions program. Bitmaps can be defined for any combinations of glyphs and PPMs. A font may have only one bitmap for one glyph and one PPM or lots of bitmaps for different glyphs at different PPMs - there are no limits.
Hinting Importing Bitmaps Import happens automatically if this option is active in the Tools > Options > TrueType dialog box: When a font has embedded bitmaps, PPMs for which bitmaps are present are colored red in the TrueType tool Preview panel: You can import embedded bitmaps from a different TrueType font. To do so: 1. Click on the button on the toolbar to enter the bitmap mode of the TrueType hinting tool. 2. Right click anywhere in the Glyph window and select the Import bitmaps...
FontLab 4 Editing Bitmaps To get access to embedded bitmaps activate Bitmap mode by clicking on this button on the TrueType hinting toolbar: . You’ll see the Glyph window and preview panel change: In Bitmap mode the Glyph window previews the bitmap with pixels represented as black squares.
Hinting If you want to add a bitmap for the current PPM, right-click anywhere in the Glyph window and select the Generate bitmap command in the context menu: You can edit the bitmap with the mouse: just click and drag the left mouse button. To remove the bitmap for the current PPM use the Remove bitmap command in the menu.
FontLab 4 Highlight Differences You may highlight the differences between the result of the rendered and hinted outline and a bitmap.
Hinting Exporting Bitmaps To export embedded bitmaps make sure that this option: is active in the Tools > Options > TrueType > TrueType Export dialog box. Please note that the operating system will display embedded bitmaps only when a font is rendered in black/white mode. If font smoothing is activated in the system and allowed for the point size in the font, bitmaps will not appear.
FontLab 4 Hinting Strategies This section will give some examples of visual hinting strategies that are applicable in different situations. Middle Delta or Final Delta The final delta command is the very last command of the instruction sequence. This command moves only the point to which it is attached and only on PPMs for which it is set.
Hinting But even if the middle delta command is set on an untouched point it is applied to the point before final interpolation of the untouched points. This point becomes touched after interpretation of the middle delta command so the position of other untouched points will be changed proportionally to the shift of that point: Middle delta instructions We recommend using the middle delta command with untouched points when it’s necessary to shift several points at once.
FontLab 4 Single Link or Double Link We recommend using the double link command only in situations where only the width of the stem is important, not the position: Double links Here is a good example of the situation where double links should be replaced by a chain of single links: 572
Hinting Another possible application of the double link is hinting a character’s middle horizontal stem: Double link If the position of the middle stem in different characters is different, you cannot be sure that the hinted position will be the same at all PPMs, even if the difference is very small. There is always a chance that at some PPM the rounding of linked points will be different and the link will be shifted top or bottom.
FontLab 4 Hinting White Space Sometimes it’s necessary to set the width of the white space inside a character, especially with a narrow character that has more than one vertical stem. Take the character “H” as an example. With normal fonts we usually use two double links to set the widths of vertical stems: Because at all PPM sizes we will have enough space between stems we don’t really care about white space.
Hinting We can, however, use only one double link, then link the two stems together with a single link with a rounded distance and set the width of the right stem with a single link connected to the stem: The rounded distance of the single links cannot be less than one pixel, so we will always have some white space between the stems.
FontLab 4 Hinting Serifs We recommend hinting serifs in the vertical direction by a single link command: Serif single link If the serifs are thin then it’s not necessary to attach their width to the standard stem width. A single link with rounded distance will be enough. Rounded single links cannot appear less than one pixel in length so the serif will never disappear.
Hinting Hinting Diagonals Hinting diagonal stems is the most complicated job in hinting. There are no special “diagonal” commands so you have to set both horizontal and vertical commands to control the width of a diagonal stem. We know two ways to hint diagonal stems: 1. Define special standard stem widths. Set vertical and horizontal commands attached to these widths and control the rounding of stem widths using the stems dialog box. 2.
FontLab 4 Hinting Symmetrical Characters There are two types of symmetrical characters: round characters (like ‘O’) and “pike” characters (like ‘V’). Round characters are “automatically symmetrical” in both directions. So it’s enough to set the positions and width of the vertical and horizontal “stems” and the center points will be interpolated and automatically set in the central position: For “pike” characters this is not good enough because the position of the pike point is important.
Hinting Interpolate or Not As you already know all points that were not positioned by commands (untouched points) are interpolated automatically by the final interpolation command. Final interpolation sets the position of any untouched point proportionally to the closest untouched points. But sometimes you may want to control the interpolation process and directly set the base points of the interpolation.
Multiple Master Fonts Multiple Master Fonts With FontLab you can make a special type of font called a Multiple Master font. Multiple Master fonts contain several font styles, called master fonts, in one font file. A program that uses a Multiple Master font can select not only one of the master fonts, but also any intermediate style created by interpolation of the master fonts. So it can use not only Bold, Normal, Narrow or Wide styles, but any style in between, such as 30% Weight and 47% Width.
FontLab 4 Multiple Master Fonts Theory A simple picture can describe the main idea of the Multiple Master font format: 1 4 2 1 2 4 3 3 If we have two contours that have the same number of points of the same type (vector or curve), we can always make intermediate contours by interpolation. The number of these different contours is limited only by the precision that we choose.
Multiple Master Fonts In the example we used only two master fonts, and we changed only one property of the font using interpolation. But we can define more master fonts and get even more choices for changing the design of the font.
FontLab 4 Design Axes and Dynamic Range It is possible to define a number of properties of an MM font using master fonts. These properties are called design axes, or simply axes, for short. You can define as many of these design axes as you want, but four axes in a single MM font is the practical limit since there is no program as of this printing that can use more than that. The number of masters that is necessary to define a given number of axes can be calculated as 2n, where n is the number of axes.
Multiple Master Fonts In MM fonts it is important to know how much the property connected with the design axis can be changed. If we take the Weight axis, for instance, then it might be changed from normal (120) to bold (700), a moderate change, or from light (50) to black (1450), a much larger change: 120 50 700 1450 The range within which the property of the axis may be changed is called the dynamic range.
FontLab 4 Standard Axes There are four standard axes defined by the Multiple Master standard. They are supported by Adobe and thus are likely to be compatible with all current and future desktop publishing programs. Of course, you can define your own design axes, but you must register new axis types with Adobe.
Multiple Master Fonts Optical Size This is an axis for high-end typography. In the pre-computer age typographers used metal fonts that were aligned in strings manually or with the help of complex mechanical machines. In those times fonts were not “scalable” and there was a separate physical typefont for each point size of a typeface.
FontLab 4 In the following example you can see two lines of text typed with the same font but different optical size selection: For better comparison, both lines were typed at the same point size (28 pt) but with the different optical sizes. Note the different contrast and intercharacter spacing. Style This design axis can cover many different design properties. Here’s one example of what you can do with it: There is no standard definition or real property of this axis.
Multiple Master Fonts Design Coordinates and Weight Vectors You know that all axes have ranges. These ranges can vary from 0 to 9999, but a more practical range of 0 to 1000 is usually used. Somehow we have to define a way to designate the position of an intermediate MM design in the design axis space. A very natural way to define the position of the intermediate font is to use its position on each design axis.
FontLab 4 Simple formulas are used to make these calculations and as a result we get an array of values that define the “weight” of each master in the final interpolation that produces an intermediate font: [0.13, 0.77] - for a one-axis font (two masters are blended) [0.02, 0.24, 0.11, 0.63] - for a two-axis font (four masters are blended) Note that the sum of all weights is always equal to 1.
Multiple Master Fonts Extrapolation The Multiple Master font specification allows only interpolation of the master designs to define an intermediate font. In addition to that basic feature, however, the multiple master font structure allows linear extrapolation of the designs also.
FontLab 4 Anisotropic Interpolation Standard MM fonts have the same interpolation values for both the X and Y directions. In FontLab it is possible to define a different interpolation weight for directions. With this you can make interesting form variations: Standard (proportional) interpolation Anisotropic interpolation As with the extrapolation, this feature is not a part of the MM specification and anisotropic interpolation (or extrapolation) will work only inside FontLab.
Multiple Master Fonts The Axis Graph Usually design coordinates are translated to the weight vector using simple linear calculations. It is possible, however, to define a map for non-linear calculations: 1.0 s et ani dr ooc dn el B 0.0 6 Design coordinates 72 This map sets a series of points that map the design and blend coordinates. Between these points linear interpolation is used (this is called a piece-wise linear function).
FontLab 4 Multiple Master Fonts in FontLab As we said before, in FontLab you can make Multiple Master fonts that will be completely compatible with the Multiple Master specification. You can edit every aspect of the MM fonts, from master outlines to metrics to kerning and font header data. You can make up to four axes, which means that the font will need 16 master fonts. And at any time you can view an intermediate font made from the designed MM font in its current state.
Multiple Master Fonts Creation of MM Fonts in FontLab In FontLab you can do the following MM-specific things: 1. Open any existing MM font for editing 2. Convert a single-master font to a MM font 3. Define additional axis in a MM font 4. Remove any of the axes of a MM font 5. Convert a MM font to a single-master font. You can also use FontLab’s special feature, called Mask to Master, to simplify the combination of several single-master fonts into one MM font.
FontLab 4 Defining an Axis If you want to convert a single-master font to a Multiple Master font you must define a new design axis. Select the Tools > Multiple Master > Define New Axis command. You will see a dialog box: To define an axis you must enter an axis name, a short name and select an axis type. Select the name of the axis in the Full Name list.
Multiple Master Fonts The axis type is necessary to identify a new axis. As we said in previous sections, there are four registered axis types: Weight Variation of the font’s weight Width Variation of the font’s width Optical Size Variation of the font’s design to make it more legible at different font sizes. Serif Modification of the font’s style. Usually this is used for modification of the font’s serifs. For example, from serif to sans-serif font, or variation of the serifs’ width.
FontLab 4 Selecting a Master Font When you define an axis or open a Multiple Master font you will have more than one master font. Open a Glyph window with any character and you will see several masters appear in the editing field and the master selection combo box enabled Different masters of the multiple master font appear as outlines of different colors. One master appears in black and it is the only editable master, called the active master.
Multiple Master Fonts You can select the active master using the following methods: 1. Double click the master outline that you want to activate. 2. Select a master in the master selection combo box: 3. Select the Window > Masters Panel command. The Masters panel appears: Click on a master’s radio button in the Masters panel. Using the Masters panel you can also select which masters will appear in the Glyph window. Use the masters’ check boxes in the Masters panel to show or hide masters.
FontLab 4 Using an Axis Panel When the Preview mode of the Glyph window is active you can display an intermediate instance of the MM font that is selected for editing. Open the Axis Panel by using the Window > Axis Panel command. You will see the Axis panel appear: This panel has a slider and an edit box for each axis in the MM font. Use these controls to select the design coordinates of the intermediate instance that you want to preview.
Multiple Master Fonts To preview the active master (in black) press the Align button in the Axis panel. Switch on the Auto Align check box to make alignment of the intermediate preview to the active master automatic, so that when you select another master as active, the preview will automatically follow it and you will see a filled preview of the master that you are working on.
FontLab 4 Anisotropic Interpolation Click on the to open the anisotropic interpolation dialog box: Select the axis in the list at the top and use the graph to define the relationship between X and Y interpolation.
Multiple Master Fonts The X-axis on the graph represents the X interpolation position on the design axis. The Y-axis represents the relative Y interpolation. Here are some examples of the possible X-Y interpolation relationships: Isotropic, proportional interpolation. This is the default setting. Fixed Y (width) axis. Width does not change when you move the slider. The weight (X axis) changes linearly along the weight axis.
FontLab 4 Previewing the Intermediate Design You can use the Preview panel to preview an intermediate design of a MM font in high-quality mode. Use the Window > Preview panel command to open the panel: Please, refer to page 268 in the “Glyph Window” chapter for more information about the Preview panel.
Multiple Master Fonts Designing Master Fonts In FontLab you can make a Multiple Master font by “raising” it from a single master font by adding an axis. When you have a one-axis MM font you can add another axis and so on: There is an automatic way in FontLab to take two fonts and make a MM font from them using one as the first master and another as the second master. This approach has pros and cons. On one hand, this process is fast and convenient.
FontLab 4 Using the Blend Feature to Build MM Fonts If you have two single-master fonts and want to build a Multiple Master font you can use the Tools > Blend Fonts... operation. Open the fonts and select the Blend Fonts... command. You will see the Blend Fonts dialog box: Select the first and second fonts in the combo boxes in the top area of the dialog box and choose the Build the Multiple Master font option. Enter the name of the Multiple Master font axis in the Name of the axis control.
Multiple Master Fonts Click the OK button and wait while FontLab generates a font. Some glyphs cannot be blended (usually these glyphs have different number of contours). If they are present, FontLab will show a warning dialog box and these glyphs will have the first font on the outline layer and second font on the Mask layer, so you can correct outlines and use the Mask to Master feature (described below) to build the MM font.
FontLab 4 Assigning a Master With this command you can take glyphs from one font and put them into one of the masters of the current MM font. The glyphs of the fonts are linked using their names, so the glyph with the name “zero” in the assigned font will be placed into the master of the glyph with the name “zero” in the font where the master is being assigned.
Multiple Master Fonts If you switch on the Do not insert points option, then FontLab will copy outlines as they were in the source font regardless their compatibility with the outlines in the destination font. Use this option only if you are sure the outlines in the source and destination fonts are completely compatible. To not let FontLab add nodes to compatible contours leave the Do not interpolate compatible outlines option switched on.
FontLab 4 4. Open the Assign Mask dialog box (select the Tools > Assign Mask command) and assign a mask from the Bold style: 5. Close the Bold style font. Now you have a Multiple Master font that has one axis, two masters (that are still the same) and a Bold style on the Mask layer. Don’t forget to switch on the Mask layer in the Options toolbox.
Multiple Master Fonts A red mark shows that the mask layer is not compatible with the master. “Incompatible” means that mask and outline layers have different numbers of contours, so FontLab cannot match the points and curves. A green mark means that the mask and outline layers seem to be compatible and you may apply the Mask to Master action. This action replaces the contents of the active master with the contents of the Mask layer.
FontLab 4 You can apply the Mask to Master action to several characters at once: 1. Activate the Font window. Note the mask compatibility marks in the top-right corner of the characters’ cells. 2. Select the characters to which you want to apply the Mask to Master action. 3. Click on the Tools > Templates > Mask to Master command. 4.
Multiple Master Fonts Using Interpolation to Make Masters If two styles are completely incompatible you can use the Interpolate operation (described in the “Glyph Window” chapter) to make master fonts. Put one style on the outline layer and define an axis. Put the other style on the Mask layer using the Assign Mask dialog box. Select the master that should look close to the appearance of the style on the Mask layer and activate an Interpolation operation.
FontLab 4 Multiple Master Metrics You can set metrics for Multiple Master fonts as easily as you can for a single-master font. Of course, you can use the Edit tool to adjust sidebearings but it is much easier to do it with the Metrics window. When a MM font is opened in the Metrics window its three modes (preview, metrics and kerning) work slightly differently. The preview mode shows the intermediate font in the sample window. Use the Axis panel to select the design coordinates of this intermediate font.
Multiple Master Fonts Editing Axis Settings When you are editing a Multiple Master font you can change the axis names at any time. Select the Tools > Multiple Master > Modify Axis Names command and you will see a dialog box: Select the axis that you want to change in the list box located in the top area of the dialog box and use the editing fields to change the axis’ name, type or short name.
FontLab 4 Removing an Axis At some point you may want to remove one of the design axes of a Multiple Master font. When you remove an axis the number of masters will be decreased by half. You can lose half of the information also, so be careful with this operation. The remaining masters will be blended according to their position on the removed axis (which you can specify). To remove an axis select the Tools > Multiple Master > Remove Axis command.
Multiple Master Fonts Multiple Master and Font Info Here is a table of all the pages of the Font Info dialog box with information about their information in a Multiple Master font: Names Have minor changes: 1. Multiple Master fonts usually have the “MM” suffix at the end of their names. 2. The length of the Menu name is limited to 7 characters. Use the Check button to automatically control the length of the Menu name. 3. MM fonts with a Weight axis have the “All” value in the Weight field.
FontLab 4 Codepages No changes. TrueType TrueType fonts cannot be Multiple Master, so no changes on this page. WeightVector This page appears only if you are editing the Font Info of a MM font. Use the sliders below the preview window to choose the default Weight Vector of the font. Press the Primary Instances button to define more default instances for the font. Refer to the “Editing Fonts” chapter for more information about this page.
Multiple Master Fonts Multiple Master Font Metrics Metrics in a MM font have the MM structure – there is a set of metrics and kerning pair values for each master font. When you open the Metrics window in Metrics or Kerning mode for the MM font you will see additional control that allow you to select the master for editing: You can also use the Metrics panel to select masters or the Axis panel to select an intermediate master in the Preview mode.
FontLab 4 Editing the Axis Graph You can edit an axis graph for every axis defined in a MM font. As we said before, the axis graph is used to set the dynamic range of the axis, so it is always necessary to adjust it. To edit an axis graph, select the Tools > Multiple Master > Edit Axis Graph command.
Multiple Master Fonts To edit a graph: 1. Select an axis whose graph you want to edit in the axis list located at the top area of the dialog box. 2. Position the mouse cursor on the leftmost point of the line in the graph and click the left mouse button. 3. In the Current position editing fields enter the lowest design coordinate for this axis or position the cursor on the leftmost point and drag it. 4. Do the same with the rightmost point to define the dynamic range. 5.
FontLab 4 Choosing Dynamic Range When you define a design axis you should choose the proper edge design coordinates and dynamic range for it. It is important to make your font compatible with Multiple Master fonts made by other manufacturers. Dynamic range is not so important for the Style axis because there is no standard for it and it is relatively easy to set the dynamic range for Optical Size because it is usually known for this axis. So we have the Weight and Width axes to choose dynamic ranges for.
Multiple Master Fonts Generating a Single-Master Font You can create a regular single master font from an instance of a Multiple Master font using FontLab. Use the Tools > Multiple Master > Generate Instance command to open the Generate Instance dialog box: Use the controls to select the intermediate (or extrapolated) design. The Edit controls have a white background when the selection is within the dynamic range and a yellow background when extrapolation is used.
FontLab 4 Expanding the Master Use Tools > Multiple Master > Expand Master to copy the contents of one of the masters to all other masters. If this command is selected when the Glyph window is active, it is applied to the currently active master.
Multiple Master Fonts Hinting Multiple Master Fonts As you know, in FontLab you can use hints and links to do character-level hinting. You can also do character-level hinting of MM fonts using hints or links. Hints are pairs of parallel lines that define the position and width of a vertical or horizontal stem. Hints are independent from the outline; they exist in a different layer. And they are multilayered, just like outline nodes are.
FontLab 4 Generating a Multiple Master Type 1 Font When you finish your work with a MM font you need to build a font file that you can use on PostScript devices or printers. To build a Multiple Master Type 1 font, choose the File > Generate font command. When the standard Save As dialog box appears, select Multiple Master format in the Save As type combo box: Press the OK button to save the font in Multiple Master format.
Making OpenType Fonts OpenType Fonts In this chapter we will discuss working with the OpenType fonts. The OpenType font format, jointly developed by Microsoft and Adobe, allows us to combine the best features of the TrueType and Type 1 font formats. For the end user there is little difference between OpenType and TrueType fonts: both are stored in a single font file, both are Unicode-encoded and Windows and Mac OS directly support both.
FontLab 4 Font Features The most important thing about OpenType technology is its ability to define font features – rules that change the standard behaviour of the font. Here are a few examples of such features (source text is on top): Small caps Ligature Old Style Numerals Probably the best thing about OT features is that they do not change the source string of characters. To explain this we need to again talk about the character-glyph model.
Making OpenType Fonts Please, remember this key OpenType principle: OpenType layout engine doesn’t know anything about characters! All the features that OpenType can have are defined for glyphs. This is the process of OpenType text processing: 0. As a source we have a sequence of characters. 1. Character codes are mapped to default glyphs using the Unicode mapping table. In FontLab this is what you see in the Font window when you select one of the codepages.
FontLab 4 Features and Lookups Every feature consists of one or more lookups. A Lookup is an elementary procedure performed on a glyph sequence or positioning data. For instance, “replace the sequence of ‘f’ and ‘l’ with the ‘fl’ ligature glyph” is a lookup. A combination of similar lookups forms a feature. The sequence of lookups is important. They are applied in the order they are defined.
Making OpenType Fonts Scripts and Languages The second great OpenType feature is support for multiple scripts and languages. With an OpenType font you can define different behaviors of the font when it is used to type text in different languages. For example, some ligatures that are necessary in English are not applicable to Turkish. Other features, like support for initial, medial and final forms of the characters are applicable only to Arabic script, and so on.
FontLab 4 OpenType Font Formats Another key feature of the OpenType format is the fact that from the user’s point of view there is only one font format for Mac, PC or any other platform. From the inside, there are two possible forms of OpenType fonts: so-called TrueType-flavoured (or TT-flavoured) and PostScript-flavoured (or CFFflavoured). The general structure of the font file is the same and both versions of the format provide the same functionality.
Making OpenType Fonts What Format to Prefer It is not easy to say which version is better. Both formats will work on both platforms. For Windows-centered office use we would recommend TTflavoured OpenType fonts, as they will provide better compatibility with the old versions of the OS. For cross-platform and DTP-oriented applications the CFF-flavoured version seems to have some advantage because it will provide better basic rendering quality.
FontLab 4 OpenType Tables OpenType fonts consist of multiple tables. Every table is identified by a tag, which is a combination of up to 4 characters. 3 tables are “responsible” for the OpenType features: GDEF Glyph definition table. Contains information about font glyphs, including their type (simple, mark or ligature), cursive-attachment points and position of the caret inside the ligature character.
Making OpenType Fonts Feature Definition Language Information about OpenType features is stored in a binary form inside the font file. This is not easy to modify and not easy to handle with visual tools (like the tools that FontLab provides to edit outlines that are also stored in a binary form). To define features in human-readable form Adobe has developed the feature-definition language. It is very easy to read and it is the most compact way to represent OpenType font features.
FontLab 4 Language Syntax Information in this section is partially taken from the official Feature File Format specification by Adobe with their permission. Only those parts of the language that are supported by FontLab are described. Comments The "#" character indicates the start of a comment; the comment extends until the end of the line.
Making OpenType Fonts Glyphs These are represented by the glyph name. A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 . (period) _ (underscore) and must not start with a digit or period. The only exception is the special character ".notdef". "twocents", "a1", and "_" are valid glyph names. "2cents" and ".twocents" are not.
FontLab 4 Glyph classes A feature file glyph class, , represents a single glyph position in a sequence and is denoted by a list of glyphs enclosed in square brackets. For example: [endash emdash figuredash] An example of a sequence that contains a glyph class is: space [endash emdash figuredash] space This would match any of the 3 sequences "space endash space", "space emdash space", or "space figuredash space" during OpenType layout.
Making OpenType Fonts Named glyph classes A glyph class can be named by assigning it to a glyph class name, which begins with the "@" character, and then referred to later on by the glyph class name. For example: @dash = [endash emdash figuredash]; space @dash space # Assignment # Usage The part of the glyph class name after the "@" is subject to the same name restrictions that apply to a glyph name, except that its maximum length is 30. Glyph class assignments can appear anywhere in the feature file.
FontLab 4 Including files Including files is accomplished by the directive: include() In this FontLab implementation an included file must be located in the Features directory. A maximum include depth of 5 ensures against infinite include loops (files that include each other). Specifying features Each feature is specified in a feature block: feature { # specifications go here } ; For example: feature liga { # ...
Making OpenType Fonts Language system In practice, most or all of the features in a font will be registered under the same set of language systems, and a particular feature's lookups will be identical across the language systems that the feature is registered under. The "languagesystem" statement takes advantage of this fact. It is the simplest way to specify a language system in the feature file. One or more such statements may be present in the feature file at global scope (i.e.
FontLab 4 Script and Language Occasionally you may need to specify a feature whose lookups vary across the language systems of the feature, or whose language systems vary from the set of language systems of the rest of the features in the file (specified by the "languagesystem" statements). In these cases, the "script" and "language" statements should be used within the feature block itself.
Making OpenType Fonts "language" statement: The language attribute stays the same until explicitly changed, until the script is changed, or until the end of the feature. To change the language attribute, use the "language" statement: language [excludeDFLT|includeDFLT] [required]; The script and lookupflag attributes stay the same as before.
FontLab 4 lookupflag The chapter "Common Table Formats" in the OpenType Font File Specification describes the LookupFlag field in the Lookup table. The lookupflag attribute defaults to 0 at the start of a feature block. The lookupflag attribute stays the same until explicitly changed, until a lookup reference statement is encountered that changes it, until the script is changed, or until the end of the feature.
Making OpenType Fonts lookupflag format B: lookupflag ; Here the entire lookup flag value is specified simply as a . The format A example above could equivalently be expressed as: lookupflag 6; Format A is clearly a superior choice for human readability when the lookupflag value is not 0. However, a lookupflag value of 0 can be set only with format B, not with format A: lookupflag 0; The base glyphs, ligatures, and marks are defined in the Glyph Properties dialog.
FontLab 4 lookup The font editor can label a set of rules and refer to it explicitly later on, in order to have different parts of the font tables refer to the same lookup. This decreases the size of the font in addition to freeing the editor from maintaining duplicate sets of rules. To define and label a lookup, use a named lookup block: lookup
Making OpenType Fonts OpenType and FontLab Implementation of OpenType features in FontLab is based on the technologies provided by Adobe – one of the two inventors and key supporters of the format. OpenType support may be separated into three stages: 1. Importing OpenType fonts and reading the features. In this stage FontLab tries to convert binary representation of the features into feature-definition file format. 2. Editing the features and previewing the results.
FontLab 4 Importing OpenType Fonts There is nothing special about importing OpenType fonts: use the File > Open command to open files with .ttf extension (which mean TrueTypeflavoured OpenType font) or .otf extension (CFF-flavoured version of the format). To read OpenType features make sure that this option is active in the Tools > Options > OpenType panel: The following option: Will import kerning defined in the “kern” positioning feature into a font pair kerning table.
Making OpenType Fonts OpenType Panels FontLab provides two panels that deal with OpenType features: the OpenType panel and the OpenType Features page of the Preview panel. OpenType Panel In FontLab you can see OpenType features in the special OpenType panel. To open the panel use the Window > OpenType panel command. Below is the illustration of the panel that appears if you open the Palatino Linotype font (pala.
FontLab 4 Buttons on the toolbar mean: Open the menu. The contents of the menu are described below Find the glyph or class. When the cursor in the feature-editing panel is on the glyph name you can click on this button to quickly find the glyph in the Font or Glyph windows. CTRL+Right-click on the glyph name does the same. If the cursor is on the class name FontLab will try to find the class in the bottom editing field or in the Class panel. Rename the glyph.
Making OpenType Fonts Adding and Removing Features To add a new feature click on the button below the features list. The new feature (named “xxxx”) will appear in the list and the generic feature definition text will be posted to the feature editor: feature xxxx { sub by ; } xxxx; When you change the xxxx name to something real the name in the list will be updated automatically. Do not forget to make the ending name the same as the beginning name or the feature definition will not compile.
FontLab 4 Reordering Features The order of features is sometimes important. For example, if you have the ligature feature and the small caps feature they must be applied in a predefined order: the small caps feature should come first and only after that may ligatures be applied.
Making OpenType Fonts Entering the Glyph and Class Names All features contain glyph names. You can enter them on the keyboard but it’s faster to use the drag-drop method: 1. Select the glyph (in the Font window or in the Collection or in the Class panel) whose name you want to enter. 2. Press the left mouse button and drag the cursor to the featuredefinition field. The position where the name will be inserted is highlighted with the editing caret. 3.
FontLab 4 Renaming Glyphs and Classes When a glyph name is entered into feature definition text the link with this glyph in the font is lost, so if you rename the glyph using the FontLab glyph rename command the feature definition will not be updated. To rename a glyph in the feature definitions, position the cursor on button on the the glyph name in the feature editing field and click the toolbar.
Making OpenType Fonts Compiling the Feature Definitions When you import or create OpenType features they exist as text-based definitions. To convert them to the usable binary format of the GSUB and GPOS OpenType tables they must undergo a process called “compilation”. During compilation the feature definition source code (text) is checked for errors and glyph reverences are verified. When is everything is confirmed OK the text is converted to binary form which you can preview or export.
FontLab 4 Compiling the Classes There are two set of classes: text-based class definitions made in the feature-definition language and located in the bottom field of the OpenType panel, and FontLab glyph classes that are represented in the Classes panel (for more information about the Classes panel please refer to page 429). It is natural to provide a link between these classes.
Making OpenType Fonts The Output Panel The Output panel opens automatically when there is something to show and looks very simple: Basically it is just a text-output window with a scroll bar. You can rightclick the panel to open the context menu: Use the commands in the menu to close the panel or clear or copy the selected text. You can manually open the output panel with the Window > Output panel command in the main FontLab menu.
FontLab 4 OpenType Features Preview Panel When OpenType features are compiled you can preview them with the OpenType Features page of the Preview panel. To open the Preview panel use the Window > Preview panel button located on the OpenType panel toolbar. command or click on the When there are OT features defined the OpenType Features preview panel looks like this: In the top part of the panel you find a command bar that contains script and language selection lists and some buttons.
Making OpenType Fonts To the right of the list there are 3 fields: source text, source preview panel and resulting preview panel. You must enter the text you want to use to preview in the source text field. Use FontLab notation to enter glyphs that are not directly accessible from the keyboard: ‘/’ followed by the glyph name and a space or ‘\’ followed by the Unicode index. You can also drag-drop glyphs from the Font window or from the Collection or Classes panels into the source text field.
FontLab 4 Converting the Kerning If you have defined a kern feature you can convert it into the plain pair kerning table at any time. Just click on the button on the OpenType Features preview panel. You will see a dialog box: There are two options that you can select in the list: Completely replace “plain” pair kerning data Use this option to remove existing kerning information and replace it with the result of the kern feature interpretation.
Making OpenType Fonts Feature Development Process When you want to create a feature we recommend you follow this sequence of operations: 1. Create a feature in the OpenType panel (click on the lower left corner). button in the 2. Name the feature. Enter the name at the beginning of the feature block and at the end by replacing the default “xxxx”. 3. Fill the feature body with lookups. Descriptions of all the types of lookups that FontLab can handle follows this section. 4. Click the 5.
FontLab 4 Substitution Lookups Substitution lookups deal with the replacement of the source glyph(s) with some other glyph(s). The simplest example of a substitution lookup is the replacement of lowercase characters by small-caps versions. Lookups may be context-dependent or context-independent. Contextindependent lookups are applied every time the source sequence of glyphs is present, like when you want to replace the ‘f’ and ‘l’ sequence with the ‘fl’ ligature.
Making OpenType Fonts Single Substitution This is the simplest substitution – it replaces a single glyph with another glyph or a class of glyphs with another class. The Class form of the substitution requires that the number of glyphs in the source and destination classes be the same.
FontLab 4 Sample applications of this rule: Replace different types of figures: sub @ordfigures by @propfigures; Replace lowercase glyphs by small-caps: sub @lowercase by @smallcaps; 664
Making OpenType Fonts Ligature Substitution The ligature substitution rule replaces several glyphs in sequence with a single glyph. A Ligature substitution rule is specified as: substitute by ; must contain two or more es.
FontLab 4 A contiguous set of ligature rules does not need to be ordered in any particular way by the font editor; the implementation software does the appropriate sorting.
Making OpenType Fonts Alternate Substitution Alternate substitution replaces a glyph with one of the glyphs in a predefined list of alternatives. The application that uses the font is expected to decide which glyph to choose. A good example of this lookup is to provide several versions of some glyph, like the ampersand. Another application is the selection of several different forms of ornaments.
FontLab 4 Context-Dependent Substitutions A context-dependent rule can be any of the rules described above with one important difference: it defines a context that must include a target sequence of glyphs (or glyph classes).
Making OpenType Fonts This sub-run represents the target sequences of the lookups called by this rule. The lookup type of the lookup called by this rule is auto-detected from their target and replacement sequences in the same way as in their corresponding stand-alone (i.e. non-contextual) statements. Example 1. This calls a lookup. The rule below means: in sequences "a d" or "e d" or "n d", substitute "d" by "d.alt". substitute [a e n] d' by d.alt; Example 2. This also calls a single substitution lookup.
FontLab 4 Specifying Exceptions to the Context Rule Exceptions to a chaining contextual substitution rule are expressed by inserting a statement of the following form anywhere before the chaining contextual rule and in the same lookup as it: ignore substitute (, )*; The keywords "ignore substitute" are followed by a comma-separated list of s.
Making OpenType Fonts Example 2. Matching a beginning-of-word boundary: ignore substitute @LETTER f' i'; substitute f' i' by f_i.begin; The example above shows how a ligature may be substituted at a word boundary. @LETTER must be defined to include all glyphs considered to be part of a word. The substitute statement will get applied only if the sequence doesn't match "@LETTER f i"; i.e. only at the beginning of a word. Example 3.
FontLab 4 Positioning Lookups The OpenType specification allows you to define many positioning lookups. The lookup types may be separated into three groups: 1. Basic lookups, single and pair positioning: 2. The Cursive attachment lookup that allows smooth connection of script and cursive glyphs: 3. Mark attachment lookups that define relative positions of glyphs and marks: FontLab 4 can support only the first group of lookups: single and pair positioning.
Making OpenType Fonts Glyph Geometry Positioning lookups may change one of the glyph positioning metrics: Placement X and Y Advance X and Y A single positioning lookup may tweak any of four values: placement_X, placement_Y, advance_Y and advance_Y. Modification of the origin point of the glyph will shift it and all following glyphs. Modification of the advance vector will shift the next glyph in the glyph string.
FontLab 4 Value Record A is used in positioning rules to define offsets to shift glyph origin or advance vector. It must be enclosed by angle brackets, except for format A, in which the angle brackets are optional. Note that the adjustments indicate values (in design units) to add to (positive values) or subtract from (negative values) the placement and advance values provided in the font (in the 'hmtx' and 'vmtx' tables).
Making OpenType Fonts Single Positioning A Single Pos rule is specified as: position ; Here, the is adjusted by the [§2.e.iv]. For example, to reduce the left and right sidebearings of a glyph each by 80 design units: position one <-80 0 -160 0>; To shift the glyph up by 100 units: position A <0 100 0 –100>; Note that we changed the placement by 100 units but compensated for that with a –100 change applied to advance.
FontLab 4 Pair Positioning Rules for this lookup type are usually used for kerning and must follow this format: position ; This format is provided since it closely parallels the way kerning is expressed in a plain pair kerning table. Here, the must be of value record format A only, and corresponds to the first . Kerning can most easily be expressed with this format.
Making OpenType Fonts Enumerating Pairs If some specific pairs are more conveniently represented as a class pair, but the editor does not want the pairs to be in a class kerning subtable, then the class pair must be preceded by the keyword "enumerate" (which can be abbreviated as "enum"). The implementation software will enumerate such pairs as specific pairs. Thus, these pairs can be thought of as "class exceptions" to class pairs.
FontLab 4 Subtable Breaks The implementation software will insert a subtable break within a run of class pair rules if a single subtable cannot be created due to class overlap. A warning will be given.
Making OpenType Fonts Known Features OpenType feature processing is an application-centric system. The application knows which features it needs to apply and then searches the font for these features. If a feature is present in the font, it is applied. To implement this system features must be standardized and registered so everybody will know what is done by a feature with a particular name. The Microsoft Typography group performs feature registration: http://www.microsoft.
FontLab 4 Latin Features cpsp Capital Spacing Globally adjusts inter-glyph spacing for all-capital text. feature cpsp { pos @uppercase <7 0 14 0>; } cpsp; pnum Proportional Figures Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths.
Making OpenType Fonts liga Standard Ligatures Replaces a sequence of glyphs with a single glyph, which is preferred for typographic purposes. This feature covers the ligatures that the designer/manufacturer judges should be used in normal conditions.
FontLab 4 682 c2sc Small Capitals From Capitals This feature replaces capital characters with small capitals numr Numerators Replaces all with numerator figures onum Oldstyle Figures This feature changes selected figures from the default lining style to oldstyle form. sups Superscript Replaces lining or oldstyle figures with superior figures and replaces lowercase letters with superior.
Making OpenType Fonts OpenType Glyph Properties The OpenType format allows you to define a glyph’s type. This can be one of the following values: Unassigned Glyph type is not defined Simple Single character Ligature Multiple characters Mark Non-spacing glyph used as a mark Component Part of a character Glyph type is used in a lookup when you need to limit it to the glyphs of a particular type using the lookupflag command (page 644). You define the glyph type using the glyph properties panel.
FontLab 4 Caret Positioning When several characters are replaced by a ligature glyph using the ligature substitution lookup, a text-layout application may keep the positioning cursor inside a ligature as if it still was a set of characters: With FontLab you can define caret positions inside the ligature. Do the following: 1. Open the ligature glyph in the Glyph window. 2. Open the properties panel with the Edit > Properties command. 3. In the properties panel select the ligature glyph type. 4.
Making OpenType Fonts Exporting OpenType Fonts When you have a font that contains feature definitions and you want them to be exported to an OpenType font file, the first thing you need to do is to compile and test your features using the tools in the OpenType panel. If feature definitions contain errors, they will not be exported and you will get a plain TrueType font file without any features.
FontLab 4 Generate “kern” feature if it is not defined If the font contains a pair kerning table but no “kern” feature and this option is switched on, FontLab will automatically generate the kern feature so programs that need this feature to make kerning will work correctly. Export GDEF table Turn on this feature to save information about the glyph types and caret positions to the font file. Note that this is a requirement if you have used the lookupflag operator in feature definitions.
Making OpenType Fonts FontLab and VOLT Microsoft VOLT (Visual OpenType Layout Tool) is an OpenType feature editor program developed and supported by the Microsoft Typography group. The big benefit of this program is that it can support all the features of OpenType including those that FontLab cannot handle. VOLT is based on a completely different user interface and provides visual tools to define substitution and positioning lookups. You can get more information about VOLT at this location: http://www.
FontLab 4 Another FontLab feature is its ability to save simple lookups and some glyph information in VOLT format so you can start working on a font in FontLab then continue in VOLT. You can save font features defined in FontLab in two ways: 1. Use the button in the OpenType panel to open a menu and then select the Save Features command to open a File Save dialog box. Select VOLT project files (*.vtp) as the destination format and FontLab will try to save the features in VOLT format. 2.
Macro Programming Macro Programming One of the unique features of FontLab 4 is an integrated macro programming language. With this feature you can program repeated tasks, define custom font transformations, create your own editing tools, integrate FontLab into a font development system which may include other tools, and use FontLab in many other powerful ways. Macro programs in FontLab are written in the well-known and welldocumented Python programming language.
FontLab 4 The Python Programming Language Python is a very high level object-oriented programming language. It combines a very clear and easy-to-understand syntax with great power, flexibility and extensibility. Python works on all known platforms and is intensively maintained and updated by many professionals around the world. It is not surprising that during the last few years Python has become a defacto standard for macro programming related to fonts.
Macro Programming Installing Python When you run FontLab 4 for the first time it will know nothing about macro programming and Python. All Python-related tools and interface components are hidden and disabled. This means that if you don’t want to use these tools you are not required to and FontLab will work smoothly without any Python integration. If you want to use macro programs or perhaps create some programs yourself, however, you have to install the Python interpreter.
FontLab 4 Macro Toolbar You can use macro programs without any programming. FontLab includes some sample programs in its basic installation and more programs are available from our web site and from other sources. The easiest way to run a macro program is to use the Macro toolbar. To open the toolbar click: View > Toolbars > Macro. If this command is disabled it means that the Python system is not installed. Exit FontLab; follow the instructions above to install Python 2.2.
Macro Programming Let’s try to run one of the sample programs supplied with FontLab: 1. Open the ‘B’ glyph in a Glyph Window. 2. Open the Macro toolbar. 3. Select Effects in the folders combo box and Drops in the macro list. 4. Click on the button to run the program.
FontLab 4 Assign to Keyboard Using the Macro toolbar you can assign up to 10 macro programs to the keyboard combinations SHIFT+ALT+0, SHIFT+ALT+1, and up to SHIFT+ALT+9. To do so: 1. Select the macro program using the two combo boxes on the toolbar. 2. Click on the button and select a combination in the popup menu: The next time you press the key combination FontLab will run the assigned macro program.
Macro Programming Integrating into Menus You can integrate macro programs (supplied with FontLab, written by you or downloaded from the Internet) into many context menus in FontLab. If a menu has macro programs assigned they appear in the Macro submenu at the bottom: Integration of macro programs into menus is done automatically when macro programs are stored in one of the folders in the FontLab/Macro/System folder. Note that Python macro programs must have a “.py” extension to be accepted by FontLab.
FontLab 4 Macro Tool With FontLab you can define special editing tools that are entirely written in Python. By default FontLab provides 3 sample tools: Curve, Line and Drops. To activate a tool: 1. Open a glyph for editing in the Glyph window. 2. Select the tool in the leftmost list of the Macro toolbar. 3. Click on the button on the toolbar to activate a tool. Activate one of the standard editing tools (on the Tools toolbar) to finish using the macro tool.
Macro Programming Edit Macro Panel If you feel ready to create your first macro program you can start by opening the Edit Macro panel. Use Window > Edit Macro panel to make it visible: This is basically a simple text editing control with a toolbar at the top. The buttons on the toolbar mean: Open the menu that contains New, Open and Save operations Run the currently edited program. Stop the program that is running Restart the Python system.
FontLab 4 Naming the Programs When you are saving a program and want it to be used in the Macro toolbar or to be integrated into one of the FontLab menus you need to name it. There are two ways to name a program: you can store the name in the file name (followed by the “.py” extension) or you can embed the name into the program code. The latter way is recommended – it allows you to keep the filename small but descriptive.
Macro Programming First Steps Lets write a few basic programs. The “Hello World!” program is a typical benchmark of the simplest useful program you can write. It is very easy to do in FontLab/Python: 1. Open the Edit Macro panel. 2. If there is something there, click on the button and select the New program command to clean the editing field. 3. Enter the following code: print “Hello World!” 4. Click on the button to run the program. 5.
FontLab 4 First, open the font that you want to check and open and clear the Edit Macro panel. Type in the following simple program: for g in fl.font.glyphs: if len(g) == 0 and len(g.components) == 0: print g.name Run the program and check the results in the output panel. Lets talk a little about the code above: for g in fl.font.glyphs: This line starts a loop that assigns the variable “g” to each of the glyphs contained in the current font (which is referenced as “fl.font”). if len(g) == 0 and len(g.
Macro Programming FontLab Python Classes In this section we will discuss a basic set of FontLab classes and variables. The full specification is available as a separate document for download from our site (www.fontlab.com) and most classes are also selfdocumented. For example, to print a short reference of the class Font, type in the Edit Macro panel: print Font().__doc__ And check the Output panel for the reference. Note the two underscore characters before and after the “doc”.
FontLab 4 FontLab The highest class in the FontLab hierarchy is a class named FontLab. You cannot create it explicitly, but the object of this class is always available and is named “fl”.
Macro Programming There are several important methods: Close(fontindex) Closes the current or 'fontindex' font Open(filename) Open(filename, addtolist) Opens the font from the file using the current opening options.
FontLab 4 Font The Font class contains all the data that is related to the font in FontLab internal data structures. The Font class by itself has no interaction with the user interface elements. You need to use other classes such as the fl object of the FontLab class to interact with the font.
Macro Programming The first line will print the number of glyphs in the font. The second line is a shorter version of the example described above. With the glyphs member you may perform several operations, like adding a new glyph: g = Glyph() fl.font.glyphs.append(g) This example will append a new glyph to the font. To remove all the glyphs in the font use this method: fl.font.glyphs.
FontLab 4 Glyph The Glyph class represents the glyph as a data structure in FontLab. The most important members are listed in the following table: parent Glyph's parent object, the Font index Index of the glyph in the font (it is –1 if the glyph is not connected to the font) nodes List of nodes. Each element of the list is an object of the Node type. customdata A string-type data that may be attached to the glyph.
Macro Programming You can replace “Glyph” with the name of any class mentioned above to get a description of its members and operations. Here are some examples: Marking all glyphs with a different color depending on the number of components. Non-composite glyphs are not marked. Glyphs that have exactly 2 components are marked green and glyphs that have some other number of components or have outline and components are marked red: for g in fl.font.glyphs: c_len = len(g.
Index Index 3 3D Extrusion, 465 3D Rotate, 466 A Actions Hints and Guidelines, 331 Actions, 296 Adjust Metrics, 461 Adjusting Metrics, 426 Adobe Illustrator, 280, 392 Adobe Standard Encoding, 71 AFM, 15, 137, 398, 416, 441, 443 AI, 392 Aliases Table, 345 Align, 524 AlignBottom, 522 Alignment zones, 228 Alignment Zones, 193, 347, 483, 521, 617 Family, 194, 486 AlignTop, 522 Alternate Substitution, 667 Anchors, 228, 335, 370, 387 Anchors Panel, 341 Anisotropic Interpolation, 592, 602 ANSI, 71, 405 Append, 9
FontLab 4 CFF-flavored, 132 CFF-flavoured, 632 character, 68 Character, 20 Character List, 470 Character mapping standard, 67 Character set OEM, 190 ShiftJIS, 190 Symbol, 190 Character Set, 190 Characters Deleting, 99 characters’ cells, 63 class Anchor, 706 Component, 706 Feature, 704 Font, 704 FontLab, 702 Glyph, 706 Hint, 706 Node, 706 TrueTypeTable, 704 Class-Based Kerning, 428 classes, 109 Classes Panel, 429 Codepages, 78, 189 Double-byte, 81 Codepages mode, 69 codes, 67 Collection, 103 Collection Panel
Index E Echo, 250 Edit, 226 Edit Macro Panel, 697 Edit mode, 224 Edit Mode, 226 Edit Window change a view in, 220 Editing Field, 214 Editing hints, 327 Editing Kerning, 417 EID, 168 embedded bitmaps, 59, 565 Embedding, 172 ENC, 73 Encoding, 21 encoding files custom, 72 Encoding Table, 70 Envelope, 371, 376, 467 EPS, 15, 392 Erase, 226 Eraser, 257 Exceptions, 670 Exchange, 316 Export Options, 135 Export Terminal, 140 Exporting Bitmaps, 569 Exporting Glyphs, 392 External Programs, 35 Extrapolation, 591, 601 e
FontLab 4 FontLab 2.0, 55 FontLab 2.
Index Intersection, 296 ISO Latin 1, 71 isol, 679 Italic angle, 183 J Join, 263, 355 K kern feature, 660 kerning, 660 Kerning Editing, 417 Kerning, 45, 396, 397 Automatic Generation, 423 Manual Editing, 418 Resetting, 425 Kerning mode, 46 Key Glyph, 433 Keyboard, 33 Knife, 226, 263 L Language, 642 Languages, 631 languagesystem, 641 License, 174 LID, 168 Ligature Substitution, 665 Ligatures, 343 Line Gap, 185 Links, 326, 527 Editing, 329 Local Toolbar, 214 lookup, 646 lookupflag, 644 Lookups, 630 LowestRe
FontLab 4 MyFonts.
Index red marks, 237 reencoding, 110 reference points, 372 Registry, 359 Remove Overlap, 454 rename, 108 Reordering Features, 652 Replacement Points, 497 Reverse all, 453 Right-to-Left, 406 rotate, 283 Rotate, 452 Rulers, 42, 216 S Sample String Navigating, 404 save current encoding, 65 Scale, 451 Script, 642 Scripts, 631 Searching, 106 selection scale, 283 selection move, 283 properties panel, 286 rotate, 283 skew, 283 slant, 284 Set Sidebearings, 460 Set Width, 459 Shadow, 465 Shift, 450 Show Connection
FontLab 4 TTF, 53, 55 Type 1, 15, 53, 132, 134, 175, 176, 325, 398, 443 Type 1 curves, 237 Type 1 Hinting Tool, 495 Type 1 Hints, 481 Type Manager, 176 Typo Ascender, 185 Typo Descender, 185 Typo Line Gap, 185 U Underline, 407 Unicode, 57, 67, 74, 143, 144, 405 Codepages, 78 Consortium, 74 duplicating, 98 generate, 113 ranges, 75 remove, 116 Unicode, 113 Unicode Ranges, 75, 191 Unicode Ranges mode, 69 Unique ID, 176 UPM, 182, 232 V Value Record, 674 VDMX, 203 VectorPaint Contour, 360 VectorPaint, 15, 224,