Fontlab Training Slides Hand PDF
Fontlab Training Slides Hand PDF
Opening a Font
File -> Open
Basics of
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com
3 4
3 4
5 6
5 6
7 8
7 8
9 10
9 10
11 12
Erase tool
Knife tool
Meter
Drawing Pen
11 12
13 14
13 14
15 16
Mode
Text
Preview
Metrics
Kerning
15 16
17 18
Options Sidebearings
Tools Auto
Text string
17 18
19 20
Manual vs
digital
Font Info
Auto
19 20
21 22
Hinting settings
Type 1 settings
TrueType settings
21 22
23 24
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
PostScript Type 1
created 19851990 by Adobe Systems
declared obsolete in 1999
exists in two platform variants:
*
resource-fork suitcase + LWFN printer file(s)
works on and
doesnt work on Windows
2 4 data-fork files (.pfb, .pfm + possibly .afm, .inf)
works on and some Unix/Linux systems
doesnt work on MacOS 8/9 or Mac OS X
(PostScript/CFF)
one data-fork file per style, extension .otf
works on Unix
doesnt work on MacOS 8
support limitations on other systems
3
43 44
2
45 46
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
7 8
51 52
9 10
53 54
11 12
55 56
Use a template of known quality to eliminate encoding The Really Easy Way
errors
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
15 16
59 60
FL automatically
creates: Other OT Shortcuts
cpsp
frac
ordn
liga
If the
appropriate
glyphs are
available
17 18
61 62
19
63 64
Glyphs bar
Undo/redo
2 3
65 66
Expand/close
4 5
67 68
TT and T1 hinting
6 7
69 70
Dockable toolbar
8 9
71 72
10 11
73 74
12 13
75 76
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
The
TheNode
Nodemenu
menu
16 17
79 80
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.
18 19
81 82
20 21
83 84
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
TrueType (quadratic b-
splines)
24 25
87 88
Duplicate
Retract BCPs
Add anchor
26 27
89 90
Break contour
Make corner
28 29
91 92
Nodes Nodes
Moving nodes and segments Inserting nodes
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
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
Add component
Decompose
36 37
99 100
Metrics
Standard
Measured at red line
Bounding box
Classes
38 39
101 102
Flip glyph
Horizontal
Vertical
40 41
103 104
42 43
105 106
Contour Toolbox
Merge Contours
Get Intersection
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
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.
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 glyphs mask Paste Template to Mask copies the contents of the template
layer contents into the template layer. layer into the active glyphs 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.
16 17
123 124
Background
Tools -> Background
18 19
125 126
Background Background
Remove clears the bitmap layer Copy copies the bitmap to the clipboard
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.
22 23
129 130
Vector contours
VectorPaint & Stroke-based contours
sketch mode in
FontLab Studio 5
Ted Harrison
Fontlab Ltd.
http://www.fontlab.com
131 132
3 4
133 134
Brush options
Strokes
Widths
Angle
Caps
Joins
5 6
135 136
7 8
137 138
9 10
139 140
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
13 14
143 144
15 16
145 146
Expand Strokes
Expand Strokes & Parallel
Draw and or select a line
Paths segment
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
2 3
151 152
4 5
153 154
6 7
155 156
8 9
157 158
Range Transformation
Tools -> Transform
(Action)
Range Transformation
10 11
159 160
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
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
2 3
169 170
4 5
171 172
6 7
173 174
8 9
175 176
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
5 6
181 182
Add pairs
kerning
7 8
183 184
9 10
185 186
Open
Kerning
Metrics Modes
Table
Ruler
11 12
187 188
13 14
189 190
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
Second preview
allows comparison 19 20
195 196
21 22
197 198
Editing Kerning
Select Kerning Mode
Adjust kerning
Manually
Drag kerning line
Drag glyph
Digitally
Enter numbers in table
23 24
199 200
25 26
201 202
Advanced
Metrics an
Class Kerning
203 204
3 4
205 206
5 6
207 208
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
9 10
211 212
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
15 16
217 218
17 18
219 220
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.
223 224
227 228
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
17 18
231 232
19 20
233 234
21 22
235 236
23 24
237 238
25 29
239 240
31 33
241 242
34 35
243 244
36 37
245 246
38 39
247 248
Font Info
Hinting Settings / Auto zones
Standard stems (T1 hinting) / Auto stems
40 41
249 250
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
271 272
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
Statement:
7 8
275 276
9 10
277 278
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
Blending Blending
Takes two fonts and creates an intermediate version. Open two fonts
2 3
283 284
Blending Blending
Specify fonts Building a single-axis Multiple Master font
Destination
Glyphs
Blend amount
Uniform?
Interpolate
4 5
285 286
6 7
287 288
8 9
289 290
10 11
291 292
12 13
293 294
14 15
295 296
16 17
297 298
But its 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
20 21