0% found this document useful (0 votes)
283 views

Fontlab Training Slides Hand PDF

Uploaded by

Manhbeotot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
283 views

Fontlab Training Slides Hand PDF

Uploaded by

Manhbeotot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 75

1 2

Opening a Font
File -> Open

Basics of
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

3 4

The Font Table The Font Table


Cells
Labels
Colors
Yellow – encoded
Gray – unencoded
Red – marked
Green – selected
Types
Background colors
White w/ black glyph = character+glyph
White w/o glyph = character, no glyph
Gray w/ gray glyph = no char or glyph
Gray w/ no glyph = no char,glyph,template
Dark blue = selected
Red, green cyan,…= marked

3 4
5 6

The Font Table The Font Table


Cell icons Encoding modes
H (LLQ) – character has hint replacement program or Name
overlapping T1 hints Unicode Ranges
Green = good Unicode Codepages
Red = bad Index
T (RLQ) – has TT hints
Blue = original Save encoding – saves .enc file
Brown = manual
M (RUQ) – has mask layer
Ylw/grn = compatible
Ylw/rd = incompatible
Note – has note. RMB/<ctrl> click-hold to read it

5 6

7 8

The Font Table The Font Table


Selecting – click cell RMB/<ctrl>-click menu
Drag-and-drop Width – of table
Range drag-and-drop Copy/Paste – all layers
Append – to end of table
New glyph –dbl click Delete
+<ctrl> - multiple windows Action
Add note
Rename
Mark – marks and unmarks cells
Open – open in new window
Properties – glyph properties

7 8
9 10

The Font Table The font Table


RMB/<ctrl>-click menu Customizing the font table:
Width Size
More Caption
Select encoding Mode
Select glyph as default Encoding
Remove Unicode

9 10

11 12

Glyph Edit Window


The Glyph Edit Window Edit tool
Click = select
Click-drag = move
Dbl-click = select
contour

Erase tool

Knife tool

Meter

Drawing Pen

11 12
13 14

Glyph Edit Window Glyph Edit Window


VectorPaint Tools Guidelines
Lasso Horizontal
Pencil Vertical
Brush Diagonal
Line
Polygon
Text tool
Color
Empty
Auto
Black
White
Brush Options
Brush Style

13 14

15 16

Metrics and kerning window


Window->new metrics
Metrics window

Mode
Text
Preview
Metrics
Kerning

15 16
17 18

Metrics and kerning Window Metrics and kerning window


Text size Metrics Mode

Options Sidebearings

Tools Auto

Text string

17 18

19 20

Metrics and kerning window


Kerning Mode

Manual vs
digital
Font Info
Auto

19 20
21 22

Font Info Font Info


Names and copyright Names
Font name
Version and ID Family name
Menu name
Metrics and dimensions
Copyright
Encoding and Unicode

Hinting settings

Type 1 settings

TrueType settings

21 22

23 24

Font Info Font Info


Version Font Note

Metrics

Encoding

23 24
25 26

Font generation
Saving - .vfb format

Font Generation

25 26

27 28

Font Generation
Windows
Type 1
TrueType/OpenType

Macintosh
Type 1
TrueType/OpenType

27
29 30

31 32
33 34

35 36
37 38

39 40

   1

PostScript Type 1
created 1985–1990 by Adobe Systems
declared obsolete in 1999   
exists in two platform variants:

  *
resource-fork suitcase + “LWFN” printer file(s)
works on   and   
doesn’t work on Windows

  
2 4 data-fork files (.pfb, .pfm + possibly .afm, .inf)
works on  and some Unix/Linux systems
doesn’t work on MacOS 8/9 or Mac OS X

* only supported in FontLab for Mac


2
41 42

  


OpenType / TrueType
created 1987 by Apple and Microsoft
extended 1996–1999 by Microsoft and Adobe
exists in two flavors:

    


one data-fork file per style, extension .ttf
works on  and   , Unix
doesn’t work on MacOS 8/9

  (PostScript/CFF)
one data-fork file per style, extension .otf
works on       Unix
doesn’t work on MacOS 8
support limitations on other systems
3

43 44

OpenType OpenType – What is it?


the
Easy Way
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

2
45 46

OpenType – What is it? Readings on OpenType


TrueType with more tables. OpenType: The Next Level of Digital Typography (Mark
Eastman, Communication Arts)
Uses one file (the same file) for both Mac and PC http://store.adobe.com/type/opentype/CA-Aug02.pdf
Allows very sophisticated typography through the use of OpenType OpenType ushers in new era of typography (Edward
features (in applications that support OpenType) Mendelson, Creativepro.com)
http://www.creativepro.com/story/feature/6503.html
Can use either TT or T1 glyphs.
Will Adobe Finally Push OpenType into the Big Time? (Terri
Stone, Macworld)
http://www.macworld.com/2001/08/bc/20adobe_opentype/

3 4

47 48

OpenType References
Specifications

Microsoft:
http://www.microsoft.com/typography/tt/tt.htm
The Hard Way
Adobe:
http://partners.adobe.com/asn/tech/type/opentype/otover.jsp

5 6
49 50

OpenType the Hard Way


Design Glyphs

Do metrics and kerning

Hint glyphs The Easy Way


Name and encode glyphs

Write OT feature scripts

Test and debug OT feature scripts

Name, ID, and generate the font

Test fonts in OT-compatible apps

Debug and retest, etc.

7 8

51 52

OpenType the Easy Way opentype the Easy Way


Design Glyphs Design Glyphs

Do metrics and kerning Do metrics and kerning

Hint glyphs Hint glyphs

Copy/paste characters into FreeFontPro template (or make


your own)

Name, ID, and generate the font - Voila! You’re done.

9 10
53 54

opentype the Easy Way opentype - Easy Way


Copy/paste (special) glyphs into FreeFontPro template (or Name, ID, and Generate the
font
make your own)
FFPro already has built in:
Alt forms
Small caps
Lining figures
Tab figures
Old style numerals
Superiors
Inferiors
Ligatures
Diphthongs
Currencies
Ordinals
Cap spacing
Fractions
as standard OT features

11 12

55 56

OpenType the Easy Way


Advantages:

Avoid tedious re-entry of Font Info data

Use a template of known quality to eliminate encoding The Really Easy Way
errors

Eliminate debugging and testing by re-using OT feature


scripts that have already been debugged and tested

13 14
57 58

OpenType the Really Easy Way OpenType the Really Easy Way
Check the „Add OTF features“ checkbox Check the „Add OTF features“ checkbox
Tools->Options->T1 Import
Import a Type 1 font

Name, ID, and Generate the font

15 16

59 60

OpenType the Really Easy Way


Import a Type 1
font

FL automatically
creates: Other OT Shortcuts
cpsp
frac
ordn
liga
If the
appropriate
glyphs are
available

17 18
61 62

Other OpenType shortcuts


Use Python Macros to create characters

Tim Ahrens’ Auto SmallCap


http://www.fontlab.com/html/python.html
Drawing Power
Write your own! in
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

19

63 64

The Glyph Window Glyph Window controlbar


Scale,zoom Scale

Control marks Zoom

Note icon Meter panel

Rulers and scroll bars Control marks (T, R, M)

Window options Note icon

Glyphs bar

Undo/redo

2 3
65 66

Glyphs bar & window options User interface


Lock/unlock Meter tool

Toggle meter panel

Zoom Meter panel

Expand/close

Selecting a glyph for editing

4 5

67 68

User interface - Glyph toolbox User interface - Contour toolbox


Edit tool Flip: Horizontal and vertical
Eraser Interpolate nodes
Knife
Envelope
Meter
Move node
Pen
Simplify segment
Add corner, curve,
tangent Set contour direction (PS,TT)

Rectangle, ellipse Merge contours: Get


intersection
Transform

TT and T1 hinting
6 7
69 70

User interface - Editing layers User interface - Editing layers


Editing layer groups window View -> Show
layers

Dockable toolbar

8 9

71 72

User Interface User Interface


Lock Layers Snap to Layers

10 11
73 74

User interface - Rulers and Guidelines User interface - Guidelines


Scrollbars Guidelines menu
RMB/<ctrl>click
Rulers Convert to global
Units per eM (UPM) Align
Delete
Guidelines
Create orthogonal
Horizontal & vertical
Properties
Angled
Coordinate
3 degree constraint
Angle
<shift>
Parallel
Remove

12 13

75 76

User Interface Exercise Edit mode – the edit tool


Open FontLab; Open a font; Open the glyph window; Node select <shift>
Select the space character.
Segment select <shift>
Make the grid and guidelines layers visible. Remove all
other layers. Lock the outline layer. Contour select <x2>

Place a horizontal guide at a level of 402 eM units. Turn it Node properties <ctrl>
into a global guide.
Node menu
Place a 42 degree angle guide at –28. Create another <RMB>/<cntrl>click
parallel to it at –20.
Node insertion <cmd+opt>
Remove all guidelines.
Convert to curve <alt>

14 15
77 78

Edit mode Edit mode


The Nodes properties panel <ctrl><click> The Node menu (RMB/<ctrl>click)

The
TheNode
Nodemenu
menu

16 17

79 80

Edit mode Edit Exercise


Eraser Open the A glyph cell
Standard
Marquee <cmd> Select an apex node and delete it.

Knife Cut one of the legs; select the lower contour; drag it 10
Add node units to the right.
Cut stem
Add a node in the middle of the top of the crossbar; select
Delete line <opt>
the segment to the right; delete it to leave an open
contour.

Select the bottom right node and move it 11 units to the


right and two units up.

18 19
81 82

Edit mode Edit mode


Bezier drawing tool (pen) New contour tools
Add corner
Add curve
Add tangent

20 21

83 84

Edit mode Edit Exercise 2


Transform tools Open a blank glyph window.
Rotate
Scale Draw a D using the contour tools.
Slant
Select the inner contour and scale it up by 10%.
Transform Box
Draw a dot in the counter of the D using the Bezier Pen.

Select the D but not the dot and slant it 12 degrees to the
left (hint: use a guideline).

22 23
85 86

Contours Contours
Open and closed

Filled and unfilled Type 1 (cubic b-spline)

Startpoint and closepath

TrueType (quadratic b-
splines)

24 25

87 88

Contours Contours – node commands


Connections: sharp vs. smooth Make node first

Changing connection type Convert


Double-click
RMB/<ctrl>click ->menu Delete

Duplicate

Retract BCPs

Add anchor

26 27
89 90

Contours – contour commands Contour Exercise


Reverse Open the 5 glyph

Contour Change the extremum node of the bowl to a sharp


Make contour first connection and make it the first node.
Delete
Subtract Break the contour at the node in the upper right corner.
Select Select the top segment and make a parallel path.
Make parallel path

Break contour

Make corner

Fixed BCP direction

28 29

91 92

Nodes Nodes
Moving nodes and segments Inserting nodes

Selection Edit tool


Win: Hold RMB then click LMB
Click Mac: <cmd><opt>click
Marquee
Magic wand Knife tool – click-drag across outline

Click-drag Add corner, curve, tangent

Copy-paste

30 31
93 94

Nodes Nodes
Removing nodes Non-node editing

Edit tool
Win: Hold LMB then click RMB
Mac: click-drag node then
<ctrl>click

Eraser
Click
Marquee select

Node menu

Edit menu

32 33

95 96

Selection Glyph popup menu


Edit tool
<shift>click selects node RMB/<ctrl>click in blank
Double-click selects contour area
Marquee selects segment
Outline
Magic wand - <ctrl>+Edit tool
Selects nearest contour
commands
+<alt>/<optn> selects nearest contour & all contours inside it

Lasso – in VP toolbar

Segment
<Shift>click both ends
Marquee select all nodes in segment

Edit menu
Select All
Invert
Deselect

34 35
97 98

Glyph popup menu Glyph popup menu


Hinting commands Actions - transformation

Template Add note


commands
Add anchor

Add component

Decompose

Open font window

36 37

99 100

Glyph properties window


Edit->Properties from Font table

Name & Unicode Contour Toolbox


# nodes, #contours, #components

Metrics
Standard
Measured at red line

Bounding box

Classes

38 39
101 102

Contour toolbox Contour toolbox


Also available from the menu Interpolate Nodes

Flip glyph
Horizontal
Vertical

40 41

103 104

Contour Toolbox Contour Toolbox


Envelope Contour direction

Move Node (Set) Set PS direction

Simplify Segment (Curve) Set TT direction


Click tool button
Click each end of segment Also available from menu

42 43
105 106

Contour Toolbox
Merge Contours

Get Intersection

Delete Intersection (in


Masks &
menu) Templates in
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

44

107 108

Masks & Templates – what are they? Masks & Templates – where are they?
Mask – a layer of a glyph that can contain a contour that is not Tools -> Mask/ & Template
affected by editing the outline layer

Template – a global mask layer

Bitmap layer – a layer in which a bitmap pattern can be imported


or created

2 3
109 110

Masks
Copy to Mask – copies the selected contour (or part) to the
mask layer.

Masks

4 5

111 112

Masks Masks
Paste Mask – copies the mask layer into the outline layer. Clear Mask – removes all contours from the mask layer
Note that it does not replace what was in the outline layer,
nor is the mask removed.

6 7
113 114

Masks Masks
Exchange with Mask – moves the outline layer to the Assign Font Mask – makes one font a mask for another
mask layer and the mask layer to the outline layer. All
contours are replaced.

8 9

115 116

Masks Exercise 1
Editing the Mask Layer Open the H glyph. Select the left half and put it on the
mask layer.
View->Show Layers->Edit mask
Exchange the mask and outline layers.

Paste the mask layer into the outline layer.

Clear the mask layer.

10 11
117 118

Templates
Copy to Template – copies the contour (or selected part) from
the outline layer to the template layer.

Templates

12 13

119 120

Templates Templates
Copy Mask to Template – copies the active glyph’s mask Paste Template to Mask – copies the contents of the template
layer contents into the template layer. layer into the active glyph’s mask layer.

14 15
121 122

Templates Exercise 2
Clear Template – removes the contents of the template layer. Open the T glyph. Copy it to the template layer.

Open the a glyph and copy it to the mask layer. Copy its
mask layer to the template layer.

Open the space character and copy the template to the


mask layer. Then copy the mask layer to the outline layer.

Clear the template layer.

16 17

123 124

Background
Tools -> Background

The Background Layer

Create – rasterizes the outline and puts


the resulting bitmap into the bitmap layer.

18 19
125 126

Background Background
Remove – clears the bitmap layer Copy – copies the bitmap to the clipboard

Edit->Paste – copies a bitmap from the clipboard to the


background layer

20 21

127 128

Background Exercise 3
Move and Scale – allows you to move and adjust the size and Open the Z glyph and create a bitmap background from it.
shape of the bitmap.
Scale down the bitmap by about half and move it over to
one side.

Clear the background.

22 23
129 130

VectorPaint – Painting in a vector mode


Bitmap paint tools

Vector contours
VectorPaint & Stroke-based contours
sketch mode in
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

131 132

Tools - Lasso Tools - Pencil


Lasso select – selects enclosed contour Freehand line drawing
LMB – straight line
RMB – close contour
Edit Tool – move selection

3 4
133 134

Tools - Brush Tools - Brush


Brush tips Brush Options

Brush options

Strokes
Widths
Angle
Caps
Joins

5 6

135 136

Exercise 1 Tools - Line


Open a new glyph Straight lines
window and draw a
swash R that looks
something like this. The
stem width should be
60 units.

Draw a grave accent.


Lasso it and drag it over
the R.

7 8
137 138

Tools - Polygon Tools - Text


Draws polygons Adds text to a glyph

RMB to close Edit tool – moves text

Normal contour mode Font – choose from


any
Brush trace mode installed TT font

9 10

139 140

Tools - Color Exercise 2


Black Create a new glyph design in a blank cell using the
VectorPaint tools.
White
Add text to make a logo glyph.
Empty – the brush takes
the foreground color

Auto – the brush takes


the color where the
stroke begins

11 12
141 142

Sketch Toolbar
Show outline – creates a template layer copy of the
contour. This copy remains unchanged while the
contour is edited.
Sketch Mode Show marks

New sketch

Import sketch – copies the contour to the sketch layer

Replace outline – replaces the existing contour with


the sketch

Add to outline – adds the sketch to the existing


contour

13 14

143 144

Sketch tools Exercise 3


All the usual toolbox tools work in sketch mode. Open the B glyph. Go into sketch mode and put the glyph
outline into the sketch layer.
The main difference between sketch mode and
normal outline mode is that the sketch is not Make a copy on the template layer and then scale the
WYSIWYG. I.e the character contour does not change glyph 90%.
as you edit it in the sketch layer.
Use the edit tool to enlarge the upper bowl.
Only when you click Replace Outline or Add to Outline
does the sketch get transferred to the real character Put the new contour back into the glyph window,
contour layer. replacing the old contour.

15 16
145 146

Expand Strokes
Expand Strokes & Parallel
Draw and or select a line
Paths segment

Choose stroke width,

Caps,

Joins,

And shape

17 18

147 148

Parallel Paths
Draw and/or select a
segment
Transformations
Choose relative position,
in
Replace or add,
FontLab Studio 5
Close contour?,

And offset

Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

19
149 150

Transformations Glyph transform tools

Glyph edit transform tool Scale

Range transformation Skew

Transformation programs Rotate

2 3

151 152

Glyph transform - scale Glyph transform - skew


Select segment or contour Select segment or
contour
Click scale tool
Click skew tool
Position cursor
Position cursor
Click and drag
Click and drag

4 5
153 154

Glyph edit transform - rotate Glyph transform – free transform


Select segment or contour Select segment or contour

Click rotate tool Click free transform tool

Position cursor Click on handles for scale,


skew or rotate
Click and drag
Drag to position

6 7

155 156

Transform Panel Exercise 1


Window->Transform panel Open the S character

Enables digital precision transforms Scale it down to about 90%

Slant it left about 15


degrees

Rotate it about 30 degrees

8 9
157 158

Range Transformation
Tools -> Transform
(Action)

Range Transformation

10 11

159 160

Range Transformation Exercise 2


Select a range or character Open a sample font

Select an action Widen all the caps by 10%.

Click OK to apply Make all the lower case characters 20% bolder.

12 13
161 162

Transformation Programs
Select a range or character (or
leave blank to do the whole
font)
Transformation Programs Tools -> Action set

14 15

163 164

Transformation Programs Transformation Programs


Setup The Preview Panel
Transformation
program
Choose range
Retrieve or create
an action set
Edit the actions

Run the Action Set

16 17
165 166

Exercise 3
Create a transformation program that makes the font
10% bolder, slanted by 6 degrees left, and applies a
shadow.



 
 

18

167 168

   


      

An endpoint (first or last point of a


Making a PostScript language implementation of a typeface design lineto or curveto) should be placed at
involves two essential considerations: most horizontal or vertical extremes.
This implies that most curves should
The character paths must accurately express the true analog
not include more than 90 degrees of
shapes of the original design. arc. The placement of extreme points
Certain conventions must be observed to help the interpreter aids the rendering algorithms in
properly reproducing the major
accurately scale for all sizes. features of characters. Of course,
points may be placed anywhere else
Failure to observe either of these conventions can result in uneven on the character outline, as long as
stems, unwanted pixels, poor curve shapes, and poor transitions the important extremes are defined as
well. It is not necessary to place an
from straight to curved sections. endpoint at extremes of very small
curves such as the tips of curved
serifs.

2 3
169 170

   


  

Be as concise as possible, without breaking the


Whenever one path element should
other rules. This achieves minimum memory
make a smooth transition to the next usage and maximum speed in the rendering
element (for example, straight line to system, and simplifies the task of adding hints.
curve, curve to straight line, or curve Use the fewest Bézier curve segments
that accurately represent a shape.
to curve) the endpoint joining the two
Do not use consecutive collinear straight
elements and the Bézier control line segments.
points (the off-curve points) Do not draw straight lines by using
associated with that endpoint (for collinear curveto definitions
curves) or the other endpoint (for Whenever possible, use the closepath
command to draw one of the straight
lines) should all be collinear. This is line segments, rather than closing a
especially important at horizontal and character with a closepath that results in
vertical extremes, where slight a zero-length line segment.
deviations tend to be magnified by In general, find the smallest sequence of
commands that accurately describe the
interaction with the pixel grid. character shape.

4 5

171 172

   


 set of algorithms that analyses a glyph’s outline to find
errors that may decrease glyph rasterization quality.

To activate, press the ying-yang button on the Show Layers


toolbar. To see a description of a possible error, click on the red
arrow mark.

6 7
173 174

  


Tools / Outline / : FontLab tries to automatically adjust
the outline to remove unnecessary elements and correct others.
Remove unnecessary curve and line segments.
Align imprecisely directed vertical and horizontal lines.
Correct the connection types of lines and curves.

: Preferences / Font Audit / Optimized


Outline Simplification level: The bigger value, the more curves
FontLab will try to remove.
Auto-alignment level: The bigger value, the stronger FontLab
will align curves.

8 9

175 176

The Metrics Window


Window ->New Metrics Window

Metrics
in
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com

2
177 178

Interface Interface
Mode Header bar
Text
Preview Size
Metrics
String
Kerning
select
Size
Load text
Options
Open/close
Tools

String

3 4

179 180

Metrics button bar


Open Metrics – opens a
metrics file from disk

Metrics button bar Save metrics – saves a metrics


file to disk

Quick Save – saves a metrics


file to RAM (not disk)

Quick Open – opens a metrics


file from RAM

5 6
181 182

Metrics button bar Metrics button bar


Auto Reset kerning
Metrics
Assistance

Add pairs

kerning

7 8

183 184

Metrics button bar Metrics button bar


Right-to- Measurement line
left
Class kerning
Flip glyphs

9 10
185 186

Metrics button bar


Expand
panel

Open
Kerning
Metrics Modes
Table

Ruler

11 12

187 188

Metrics Modes Metrics Modes


Text Preview

13 14
189 190

Metrics Modes Metrics Modes


Metrics Kerning

15 16

191 192

String Field
String selections

Entering strings
Working with Strings Type one in
By name: /A.small/
By decimal code: /44
By Unicode: \0445
For slashes use double
slashes: \\ //
Select from dropdown list
Cycle through list using spin
buttons

17 18
193 194

String Field
Loading text
strings

List comes from


preview.txt in
Editing Metrics
data subdirectory
of fontlab
directory. ASCII
editable.

Make your own


list(s) and use the
OPEN button to
load them.

Second preview
allows comparison 19 20

195 196

Editing Metrics Editing Metrics


Select Metrics Mode Or just click the Auto button:

Select or enter string

Select character And select appropriate


parameters:
Adjust sidebearings
Manually
Drag sidebearing
line
Drag glyph
Digitally
Use spin buttons
Enter numbers in
spinbox or table

21 22
197 198

Editing Kerning
Select Kerning Mode

Select or enter string


Editing Kerning Select character

Adjust kerning
Manually
Drag kerning line
Drag glyph
Digitally
Enter numbers in table

23 24

199 200

Editing Kerning The Measurement Line


Or just click the Auto button: On/Off button in Metrics toolbar

Useful for kerning italics

And select appropriate parameters:

25 26
201 202

  


FontLab 4.6

Advanced
Metrics an
Class Kerning
 
 

203 204

     


FontLab Studio 5 New: “Text Mode” that allows live multiline text editing

3 4
205 206

     


New: Permanent Metrics/Kerning table (Metrics mode) New: Permanent Metrics/Kerning table (Kerning mode)

5 6

207 208

       


Glyph class FontLab classes vs. OpenType classes
A named group of glyphs associated together
Used for advanced metrics editing, class kerning and for
OpenType Layout features
“FontLab classes” and “OpenType classes”

FontLab classes
Editable in the Collection/Classes panel & in Kerning Assistance
Usable in Metrics Window, Classes panel, other UI elements

OpenType classes
Editable in the OpenType panel or an external .FEA OpenType
feature definition file
Only usable within the OpenType panel, optional

7 8
209 210

     


Converting OpenType classes FontLab classes FontLab kerning classes
automatic, upon opening an OpenType font (4.6) special FontLab classes used for class kerning
manual, “Import FontLab classes” in OpenType panel (5.0) name must start with underscore (e.g. “_A”)
one glyph in the class must be a “key glyph”:
Converting FontLab classes OpenType classes its glyph name in class definition is followed by quotesingle (')
automatic, upon compiling features or generating an
OpenType font, if option enabled in Preferences (4.6):

manual, “Import features from binary tables” (5.0)


Most users only need to deal with FontLab classes!
A font creator may use OpenType classes when he/she wants
to create a complete .FEA feature definition file – all in one
file. Otherwise, always use FontLab classes.

9 10

211 212

   


1. Create   1. Create kerning classes by dragging glyph groups
into classes panel or writing class definition file.
2. Define the   of each kerning class

3. Define   for individual glyphs


(for classes, only key glyphs need to be kerned)

4. Use   to copy kerning values


from pairs with key glyphs to pairs with dependant glyphs

  are made by kerning dependant glyphs explicitly

11 12
213 214

 
2. Define the kerning scope of each class 3. Define kerning pairs for individual glyphs.
using Kerning Assistance (Save changes): For glyphs in classes, you only need to define
1st glyph class, 2nd glyph class, both-side class kerning pairs with key glyphs.

13 14

215 216

    


New: Live class kerning 4. Use Kerning Assistance to apply changes:
Apply and Save
build OpenType “kern” feature with class kerning,
for OpenType PS and OpenType TT fonts
Expand Kerning
physically copy kerning values to dependant glyphs,
for Type 1 and TrueType fonts to be used in
non-OpenType applications

15 16
217 218

     


Improved: Expanding class kerning into plain kerning Improved: Expanding class kerning into plain kerning

17 18

219 220

     


New: Compressing kerning into class kerning New: Metrics window options

19 20
221 222

 
Font Settings
Font-centric. Affect a given font regardless of which user and
machine it is edited on. They “travel” with the .VFB font file.
Mysteries Control font naming and identification, metrics and
dimensions, glyph naming and encoding, screen display
of the settings, other font format-dependant settings.

Font Heade Application Settings


User-centric. Affect all fonts edited by the current user on the
current machine. Do not “travel” with the .VFB font file.
  Control FontLab’s behavior, opening and saving, user interface
elements, keyboard shortcuts etc.
Fontlab Ltd. Also control certain aspects of font naming, encoding, screen
display settings etc. of fonts that are being generated.

223 224

      


Font Settings User interface
Font Info (“Info”): File | Font Info..., Font Window, Glyph Window, colors, fonts, smoothing,
May override format-specific application settings keyboard shortcuts, toolbar and menu items*, UI icons*...

Application Settings Behavior of certain functions


Optimize, FontAudit, Trace, T1/TT Autohinting, copy-paste,
Preferences (“Pref”): tracking, snapping, selecting, node moving...
FontLab | Preferences (Mac) or Tools | Options (Win)
Importing (opening) and exporting (generating) fonts
Customize: Tools | Customize...
Decompose composites on import, autohint unhinted glyphs,
File Dialogs: File | Open... | Options... or File | Generate re-encode glyphs...
Font... | Options..., Temporarily override Preferences Read/export: original hinting, complete “name” table,
OpenType Layout tables, embedded bitmaps...

* only available in FontLab for Windows


7 8
225 226

      


Unicode compatibility: Preferences | Type 1
yes: Win TrueType / OpenType TT, OpenType PS, Type 1 import: leave default settings
FontLab VFB, Mac TrueType, Type 1 export
no: Mac / PC Type 1, Mac / PC MultipleMaster Disable Use WinAscent and WinDescent...
Encoding options: Select encoding automatically
Terminology:
(more discussion when we will speak of font formats)
The terms OpenType TT and Win TrueType are interchangeable
OpenType PS (CFF) is often misnamed as just “OpenType”
Preferences | TrueType
Settings: TrueType import
OpenType settings apply both to For round-tripping, enable Store custom TrueType tables
Win TrueType / OpenType TT and to OpenType PS fonts TrueType export
TrueType settings apply to Disable Autohint unhinted glyphs
Win TrueType / OpenType TT and to Mac TrueType fonts
Type 1 settings apply to Mac Type 1 and Win Type 1 fonts Note: “Type 1 settings apply to Mac & Win. “TrueType” settings
apply to Mac TrueType, Win TrueType and OpenType TT (.ttf).
9 13

227 228

      


Preferences | OpenType Font names and identification
OpenType import Font names, design credits, vendor information,
Disable Interpret “mort” table. copyrights and licenses, version numbers, creation date
Set Read all OpenType name records...
OpenType export Metrics and dimensions
Set Append OpenType name records for Roman fonts or in UPM, ascenders / descenders, superscript / subscript
development mode. For shipping, set Export only OpenType
Glyph naming and encoding
name records and verify all naming in detail.
Glyph names, Unicode values, codepages
Enable Use OpenType names as menu names on Macintosh.
Enable Add all glyph classes to OpenType feature definition... Screen display settings
PostScript and TrueType hinting, auto-aliasing
Note: Settings apply to Win TrueType, OpenType TT (.ttf) and
OpenType PS (.otf) fonts. Naming settings also apply to Mac Other settings
TrueType. Settings specific to given font format

14 16
229 230

         
Info | Names and Copyright “Brief” families on Windows “Long” families on MacOS
Names of font family and style (no more than 4 styles) and in Adobe applications
Font family relations
Typographic parameters (width, weight, inclination)
Design credits, copyrights, trademark information
Licensing information and embedding rights

Info | Version and Identification


Version information
Typeface classification parameters

17 18

231 232

        


“Brief” families on Windows “Long” families on MacOS Improved Fonts panel in FontLab Studio 5 displays both types of naming
(no more than four styles) and in Adobe applications Brief family naming Long family naming (“OT”)
FontLab 4.6 Alt. view in FL Studio 5

To switch the views:


Solution: give each family two
sorts of family naming: “brief
family naming” and “long family
naming”.

19 20
233 234

         


Start by giving an identical Family
Brief family naming Name (here: LabFont Pro) to all
styles in your family.

Select a Weight and a Width that


best matches the true design of
each style. For light fonts, avoid
the “Thin”, “UltraLight” and
“ExtraLight” settings and choose
Long family naming
“Light” instead.

If your style is italic or oblique,


check the “Font is italic” mark,
but leave “Font is bold”
unchecked at this stage.

21 22

235 236

       


Click on the “Build Style Name” Switch between styles and
button to automatically build a repeat the previous steps
style name. analogically for all styles in your
Abbreviate excessively long style family.
names (e.g. replace “Condensed”
with “Cond”). The style name Go to the “OpenType-specific
must be unique within the font names” page and click on
family, so if FontLab builds the “Build OpenType Names”.
same style name for two different Repeat for all styles in the family.
fonts, revise one of them.
Click on the “Build Names”
button to automatically build the
remaining names.
Click on the “Verify names”
button (new in FL Studio 5!)

23 24
237 238

       


Go back to the “Basic set of font
names” page and apply the
brief family naming:
Enter the brief family name into
the Family Name field and into
the Menu Name field.
Enable “Font is bold” whenever
a font is supposed to be “bold
style” within the brief family.
Revise the “Style Name” field so
it only contains one of the
following: “Regular”, “Italic”,
“Bold” or “Bold Italic”.
Leave other settings unchanged.

25 29

239 240

       

31 33
241 242

       

34 35

243 244

     

36 37
245 246

       

38 39

247 248

     


Format-specific hinting settings: Finalizing a PostScript design (Type 1 or OpenType PS/CFF)
Pref | Type 1
Pref | TrueType Tools / Transform Range / range: All characters in the font
Info | Hinting Settings Add actions:
Info | TrueType-specific settings | Font smoothing Contour / Decompose
Tool: TrueType Hinting | Stems Options Contour / Reverse all / Set counterclockwise (Type 1) direction
Hints and Guidelines / Remove hints/guides
Hints and Guidelines / Autohint
Hints and Guidelines / Autoreplace
Run the program

Font Info
Hinting Settings / Auto zones
Standard stems (T1 hinting) / Auto stems

40 41
249 250

  


Finalizing a TrueType design (OpenType TT)

Complete steps on previous page

Font Info

Metrics and Dimensions: Change UPM if required or leave
1000, enable “Scale all glyphs according to UPM change”
 
TrueType-specific settings / Font smoothing / “Auto” (green) 
Tools / Transform Range / range: All characters in the font
Add actions:
Contour / Convert to TrueType  
Contour / Reverse all / Set clockwise (TrueType) direction  
Hints and Guidelines / Convert to instructions
Run the program

42

251 252

         


          

 
253 254

           
   

 

255 256

      

 
257 258

      

 

259 260

      

 
261 262

      

 

263 264

      

 
265 266

      

 

267 268

      

 
269 270

  
Python is an open source object-oriented
programming language

Python Python is cross-platform, one code can be executed on


Mac, Windows, Unix etc.
Scripting It is easy to learn, very flexible and extremely powerful
in FontLab Why write code?
simplify batch processing
cut down on repetitive tasks
 
  FontLab has extensive Python implementation

271 272

         


First version of Python was written by Guido van Rossum. Guido van Python 2.3 .x must be installed on your system
Rossum is the older brother of Just van Rossum, who is type designer
(Letterror) and ATypI member. For Mac:
Many years ago, Just van Rossum, Erik van Blokland and 
Petr van Blokland wrote RoboFog – a scriptable version
of Fontographer 3.5. It was written in Python.
Download and install MacPython-OS9 even if you’re on OS X!

A few years ago, Just van Rossum wrote TTX, a package that allows you to After installation, click on “Configure Python”
convert TrueType and OpenType fonts to XML and back. In Python, of
course. For Windows:
This year, Just van Rossum, Erik van Blokland and Tal Leming wrote 
RoboFab – an extension package that uses FontLab. Again, RoboFab was
written in Python.
Large parts of the Adobe SDK for OpenType (ASDKO,
f.k.a. Adobe OTFDK) are written in Python.

5 6
273 274

      


Macro Edit Panel Python programs are text files,
usually with extension .py
Output Panel
Python is case-sensitive
Fonts Panel
Literals:
Context Menus String:   or  
Integer value: 
Floating value: 
List:    

Comment:  

Statement: 

7 8

275 276

   
  
 
   
 
    
 
 
 
 
 
  

 

9 10
277 278

      


Condition:  ...  statement FontLab’s objects (fonts, glyphs, nodes) represented
as Python objects
Iteration:  statement
FontLab objects overview
   
 
 

   
  
 
 

11 12

279 280

 
Go through the macros that come with FontLab

Blending &
and read over them to see how they work.

Multiple Masters
The Python website has some great tutorials for learning basic
Python:
http://www.python.org
in
The documentation of the FontLab/Python API is available at:
http://dev.fontlab.net/flpydoc/
FontLab Studio 5
There is a mailing list dedicated to Python in FontLab: Ted Harrison
http://mail.letterror.com/mailman/listinfo/fontlab-scripting Fontlab Ltd.
Almost any introductory book on Python will be helpful http://www.fontlab.com

Write macros in an external editor (UltraEdit, BBEdit)


13
281 282

Blending Blending
Takes two fonts and creates an intermediate version. Open two fonts

Tools -> Blend Fonts

2 3

283 284

Blending Blending
Specify fonts Building a single-axis Multiple Master font

Blend vs. Build MM

Destination

Glyphs

Blend amount
Uniform?

Interpolate

4 5
285 286

Multiple Masters Theory


Masters – the designer creates Master fonts to define the
extremes of the design. A single-axis font requires two masters. A
two-axis font requires four Masters. A three-axis font needs 8
Multiple Master Fonts Masters and a four axis font (the limit of current technology) needs
16 Masters.

Axes – FontLab interpolates between the Masters to produce all


the intermediate designs (instances). It can also extrapolate beyond
the Masters to produce extraneous designs.

6 7

287 288

Multiple Masters Theory Multiple Masters Technique


Standard Axes 1. Select/create Master
Weight
Width 2. Define Axes
Optical size
3. Create subsequent
Style (could be Serif or some other style attribute)
Masters

8 9
289 290

Multiple Masters Technique Multiple Masters Technique


Open the selected Master font Create a second Master
Select an active Master
Define an axis Edit
Name Transform
Short name Blend
Axis type Assign
Hints to links Mask to Master

10 11

291 292

Multiple Masters Technique Multiple Masters Technique


Assign a second Master Mask to Master
Assign mask
Tools->Mask&Template->Assign Font mask
Mask to Master
Tools->MM->Mask to Master
Tools->MultipleMaster->Assign Master

12 13
293 294

Multiple Masters Technique Multiple Masters Technique


The Axis Panel MM Metrics
Window->Axis Panel
Open Metrics window
The Preview Panel
Window->Preview Panel Select Master to work on

Edit metrics as in regular font

Save metrics in MMM or AFM files

14 15

295 296

Multiple Masters Technique Multiple Masters Technique


Working with Axes Editing the Axis Graph
Tools->MM->Edit axis
Axis settings Graph
Tools->MM->Modify Axis Names Choose axis
Position ends of dynamic
range
RMB+LMB(<cmd><opt>)
on the line to add a point
Drag point to new position
Removing an axis
Tools->MM->Remove Axis

16 17
297 298

Multiple Masters Technique Multiple Masters Technique


Anisotropic Interpolation Hinting MM fonts

You could hint each master separately.

But it’s easier to use links instead. Links are not dependent on the
number of masters. On export links will automatically be converted
Button in Axis panel to hints for each master.
Choose axis
Position ends of dynamic
range
RMB+LMB(<cmd><opt>)
on the line to add a point
Drag point to new position

18 19

299 300

Multiple Masters Technique Multiple Masters Technique


Generating a MM font Generating Instances

File->Generate font Tools->MM->Generate


Instance
Select MM format
Select from known instances, or

Choose a design position for a


new instance.

OK-> creates new font and opens


it in a window in FontLab

20 21

You might also like