SlideShare a Scribd company logo
1 of 75
Download to read offline
Fontlab Ltd.
http://www.fontlab.com
Basics of
FontLab Studio 5
Ted Harrison
1
2
Opening a Font
File -> Open
2
3
The Font Table
3
4
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
4
5
The Font Table
Cell icons
H (LLQ) – character has hint replacement program or
overlapping T1 hints
Green = good
Red = bad
T (RLQ) – has TT hints
Blue = original
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
The Font Table
Encoding modes
Name
Unicode Ranges
Unicode Codepages
Index
Save encoding – saves .enc file
6
7
The Font Table
Selecting – click cell
Drag-and-drop
Range drag-and-drop
New glyph –dbl click
+<ctrl> - multiple windows
7
8
The Font Table
RMB/<ctrl>-click menu
Width – of table
Copy/Paste – all layers
Append – to end of table
Delete
Action
Add note
Rename
Mark – marks and unmarks cells
Open – open in new window
Properties – glyph properties
8
9
The Font Table
RMB/<ctrl>-click menu
Width
More
Select encoding
Select glyph as default
Remove Unicode
9
10
The font Table
Customizing the font table:
Size
Caption
Mode
Encoding
10
11
The Glyph Edit Window
11
12
Glyph Edit Window
Edit tool
Click = select
Click-drag = move
Dbl-click = select
contour
Erase tool
Knife tool
Meter
Drawing Pen
12
13
Glyph Edit Window
VectorPaint Tools
Lasso
Pencil
Brush
Line
Polygon
Text tool
Color
Empty
Auto
Black
White
Brush Options
Brush Style
13
14
Glyph Edit Window
Guidelines
Horizontal
Vertical
Diagonal
14
15
Metrics
15
16
Metrics and kerning window
Window->new metrics
window
Mode
Text
Preview
Metrics
Kerning
16
17
Metrics and kerning Window
Text size
Options
Tools
Text string
17
18
Metrics and kerning window
Metrics Mode
Sidebearings
Auto
18
19
Metrics and kerning window
Kerning Mode
Manual vs
digital
Auto
19
20
Font Info
20
21
Font Info
Names and copyright
Version and ID
Metrics and dimensions
Encoding and Unicode
Hinting settings
Type 1 settings
TrueType settings
21
22
Font Info
Names
Font name
Family name
Menu name
Copyright
22
23
Font Info
Version
Metrics
Encoding
23
24
Font Info
Font Note
24
25
Font Generation
25
26
Font generation
Saving - .vfb format
26
27
Font Generation
Windows
Type 1
TrueType/OpenType
Macintosh
Type 1
TrueType/OpenType
27 28
29 30
31 32
33 34
35 36
37 38
39
2
   1
PostScript Type 1
created 1
985–1
990 by Adobe Systems
declared obsolete in 1
999   
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
40
3
  
OpenType / TrueType
created 1
987 by Apple and Microsoft
extended 1
996–1
999 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
41 42
Fontlab Ltd.
http://www.fontlab.com
OpenType
the
Easy Way
Ted Harrison
43
2
OpenType – What is it?
44
3
OpenType – What is it?
TrueType with more tables.
Uses one file (the same file) for both Mac and PC
Allows very sophisticated typography through the use of OpenType
features (in applications that support OpenType)
Can use either TT or T1 glyphs.
45
4
Readings on OpenType
OpenType: The Next Level of Digital Typography (Mark
Eastman, Communication Arts)
http://store.adobe.com/type/opentype/CA-Aug02.pdf
OpenType ushers in new era of typography (Edward
Mendelson, Creativepro.com)
http://www.creativepro.com/story/feature/6503.html
Will Adobe Finally Push OpenType into the Big Time? (Terri
Stone, Macworld)
http://www.macworld.com/2001/08/bc/20adobe_opentype/
46
5
OpenType References
Specifications
Microsoft:
http://www.microsoft.com/typography/tt/tt.htm
Adobe:
http://partners.adobe.com/asn/tech/type/opentype/otover.jsp
47
6
The Hard Way
48
7
OpenType the Hard Way
Design Glyphs
Do metrics and kerning
Hint glyphs
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.
49
8
The Easy Way
50
9
OpenType the Easy Way
Design Glyphs
Do metrics and kerning
Hint glyphs
Copy/paste characters into FreeFontPro template (or make
your own)
Name, ID, and generate the font - Voila! You’re done.
51
10
opentype the Easy Way
Design Glyphs
Do metrics and kerning
Hint glyphs
52
11
opentype the Easy Way
Copy/paste (special) glyphs into FreeFontPro template (or
make your own)
53
12
opentype - Easy Way
Name, ID, and Generate the
font
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
54
13
OpenType the Easy Way
Advantages:
Avoid tedious re-entry of Font Info data
Use a template of known quality to eliminate encoding
errors
Eliminate debugging and testing by re-using OT feature
scripts that have already been debugged and tested
55
14
The Really Easy Way
56
15
OpenType the Really Easy Way
Check the „Add OTF features“ checkbox
Import a Type 1 font
Name, ID, and Generate the font
57
16
OpenType the Really Easy Way
Check the „Add OTF features“ checkbox
Tools->Options->T1 Import
58
17
OpenType the Really Easy Way
Import a Type 1
font
FL automatically
creates:
cpsp
frac
ordn
liga
If the
appropriate
glyphs are
available
59
18
Other OT Shortcuts
60
19
Other OpenType shortcuts
Use Python Macros to create characters
Tim Ahrens’ Auto SmallCap
http://www.fontlab.com/html/python.html
Write your own!
61
Fontlab Ltd.
http://www.fontlab.com
Ted Harrison
Drawing Power
in
FontLab Studio 5
62
2
The Glyph Window
Scale,zoom
Control marks
Note icon
Rulers and scroll bars
Window options
Glyphs bar
Undo/redo
63
3
Glyph Window controlbar
Scale
Zoom
Meter panel
Control marks (T, R, M)
Note icon
64
4
Glyphs bar & window options
Lock/unlock
Toggle meter panel
Zoom
Expand/close
Selecting a glyph for editing
65
5
User interface
Meter tool
Meter panel
66
6
User interface - Glyph toolbox
Edit tool
Eraser
Knife
Meter
Pen
Add corner, curve,
tangent
Rectangle, ellipse
Transform
TT and T1 hinting
67
7
User interface - Contour toolbox
Flip: Horizontal and vertical
Interpolate nodes
Envelope
Move node
Simplify segment
Set contour direction (PS,TT)
Merge contours: Get
intersection
68
8
User interface - Editing layers
Editing layer groups window
69
9
User interface - Editing layers
View -> Show
layers
Dockable toolbar
70
10
User Interface
Lock Layers
71
11
User Interface
Snap to Layers
72
12
User interface - Rulers and Guidelines
Scrollbars
Rulers
Units per eM (UPM)
Guidelines
Horizontal & vertical
Angled
3 degree constraint
<shift>
Parallel
Remove
73
13
User interface - Guidelines
Guidelines menu
RMB/<ctrl>click
Convert to global
Align
Delete
Create orthogonal
Properties
Coordinate
Angle
74
14
User Interface Exercise
Open FontLab; Open a font; Open the glyph window;
Select the space character.
Make the grid and guidelines layers visible. Remove all
other layers. Lock the outline layer.
Place a horizontal guide at a level of 402 eM units. Turn it
into a global guide.
Place a 42 degree angle guide at –28. Create another
parallel to it at –20.
Remove all guidelines.
75
15
Edit mode – the edit tool
Node select <shift>
Segment select <shift>
Contour select <x2>
Node properties <ctrl>
Node menu
<RMB>/<cntrl>click
Node insertion <cmd+opt>
Convert to curve <alt>
76
16
Edit mode
The Nodes properties panel <ctrl><click>
77
17
Edit mode
Edit mode
The Node menu (RMB/<ctrl>click)
The Node menu
The Node menu
78
18
Edit mode
Eraser
Standard
Marquee <cmd>
Knife
Add node
Cut stem
Delete line <opt>
79
19
Edit Exercise
Open the A glyph cell
Select an apex node and delete it.
Cut one of the legs; select the lower contour; drag it 10
units to the right.
Add a node in the middle of the top of the crossbar; select
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.
80
20
Edit mode
Bezier drawing tool (pen)
81
21
Edit mode
New contour tools
Add corner
Add curve
Add tangent
82
22
Edit mode
Transform tools
Rotate
Scale
Slant
Transform Box
83
23
Edit Exercise 2
Open a blank glyph window.
Draw a D using the contour tools.
Select the inner contour and scale it up by 10%.
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).
84
24
Contours
Open and closed
Filled and unfilled
Startpoint and closepath
85
25
Contours
Type 1 (cubic b-spline)
TrueType (quadratic b-
splines)
86
26
Contours
Connections: sharp vs. smooth
Changing connection type
Double-click
RMB/<ctrl>click ->menu
87
27
Contours – node commands
Make node first
Convert
Delete
Duplicate
Retract BCPs
Add anchor
88
28
Contours – contour commands
Reverse
Contour
Make contour first
Delete
Subtract
Select
Make parallel path
Break contour
Make corner
Fixed BCP direction
89
29
Contour Exercise
Open the 5 glyph
Change the extremum node of the bowl to a sharp
connection and make it the first node.
Break the contour at the node in the upper right corner.
Select the top segment and make a parallel path.
90
30
Nodes
Moving nodes and segments
Selection
Click
Marquee
Magic wand
Click-drag
Copy-paste
91
31
Nodes
Inserting nodes
Edit tool
Win: Hold RMB then click LMB
Mac: <cmd><opt>click
Knife tool – click-drag across outline
Add corner, curve, tangent
92
32
Nodes
Removing nodes
Edit tool
Win: Hold LMB then click RMB
Mac: click-drag node then
<ctrl>click
Eraser
Click
Marquee select
Node menu
Edit menu
93
33
Nodes
Non-node editing
94
34
Selection
Edit tool
<shift>click selects node
Double-click selects contour
Marquee selects segment
Magic wand - <ctrl>+Edit tool
Selects nearest contour
+<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
95
35
Glyph popup menu
RMB/<ctrl>click in blank
area
Outline
commands
96
36
Glyph popup menu
Hinting commands
Template
commands
97
37
Glyph popup menu
Actions - transformation
Add note
Add anchor
Add component
Decompose
Open font window
98
38
Glyph properties window
Edit->Properties from Font table
Name & Unicode
# nodes, #contours, #components
Metrics
Standard
Measured at red line
Bounding box
Classes
99
39
Contour Toolbox
100
40
Contour toolbox
Also available from the menu
Flip glyph
Horizontal
Vertical
101
41
Contour toolbox
Interpolate Nodes
102
42
Contour Toolbox
Envelope
Move Node (Set)
Simplify Segment (Curve)
Click tool button
Click each end of segment
103
43
Contour Toolbox
Contour direction
Set PS direction
Set TT direction
Also available from menu
104
44
Contour Toolbox
Merge Contours
Get Intersection
Delete Intersection (in
menu)
105
Fontlab Ltd.
http://www.fontlab.com
Masks &
Templates in
FontLab Studio 5
Ted Harrison
106
2
Masks & Templates – what are they?
Mask – a layer of a glyph that can contain a contour that is not
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
107
3
Masks & Templates – where are they?
Tools -> Mask/ & Template
108
4
Masks
109
5
Masks
Copy to Mask – copies the selected contour (or part) to the
mask layer.
110
6
Masks
Paste Mask – copies the mask layer into the outline layer.
Note that it does not replace what was in the outline layer,
nor is the mask removed.
111
7
Masks
Clear Mask – removes all contours from the mask layer
112
8
Masks
Exchange with Mask – moves the outline layer to the
mask layer and the mask layer to the outline layer. All
contours are replaced.
113
9
Masks
Assign Font Mask – makes one font a mask for another
114
10
Masks
Editing the Mask Layer
View->Show Layers->Edit mask
115
11
Exercise 1
Open the H glyph. Select the left half and put it on the
mask layer.
Exchange the mask and outline layers.
Paste the mask layer into the outline layer.
Clear the mask layer.
116
12
Templates
117
13
Templates
Copy to Template – copies the contour (or selected part) from
the outline layer to the template layer.
118
14
Templates
Copy Mask to Template – copies the active glyph’s mask
layer contents into the template layer.
119
15
Templates
Paste Template to Mask – copies the contents of the template
layer into the active glyph’s mask layer.
120
16
Templates
Clear Template – removes the contents of the template layer.
121
17
Exercise 2
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.
122
18
The Background Layer
123
19
Background
Tools -> Background
Create – rasterizes the outline and puts
the resulting bitmap into the bitmap layer.
124
20
Background
Remove – clears the bitmap layer
125
21
Background
Copy – copies the bitmap to the clipboard
Edit->Paste – copies a bitmap from the clipboard to the
background layer
126
22
Background
Move and Scale – allows you to move and adjust the size and
shape of the bitmap.
127
23
Exercise 3
Open the Z glyph and create a bitmap background from it.
Scale down the bitmap by about half and move it over to
one side.
Clear the background.
128
Fontlab Ltd.
http://www.fontlab.com
VectorPaint &
sketch mode in
FontLab Studio 5
Ted Harrison
129
2
VectorPaint – Painting in a vector mode
Bitmap paint tools
Vector contours
Stroke-based contours
130
3
Tools - Lasso
Lasso select – selects enclosed contour
LMB – straight line
RMB – close contour
Edit Tool – move selection
131
4
Tools - Pencil
Freehand line drawing
132
5
Tools - Brush
Brush tips
Brush options
Strokes
Widths
Angle
Caps
Joins
133
6
Tools - Brush
Brush Options
134
7
Exercise 1
Open a new glyph
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.
135
8
Tools - Line
Straight lines
136
9
Tools - Polygon
Draws polygons
RMB to close
Normal contour mode
Brush trace mode
137
10
Tools - Text
Adds text to a glyph
Edit tool – moves text
Font – choose from
any
installed TT font
138
11
Tools - Color
Black
White
Empty – the brush takes
the foreground color
Auto – the brush takes
the color where the
stroke begins
139
12
Exercise 2
Create a new glyph design in a blank cell using the
VectorPaint tools.
Add text to make a logo glyph.
140
13
Sketch Mode
141
14
Sketch Toolbar
Show outline – creates a template layer copy of the
contour. This copy remains unchanged while the
contour is edited.
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
142
15
Sketch tools
All the usual toolbox tools work in sketch mode.
The main difference between sketch mode and
normal outline mode is that the sketch is not
WYSIWYG. I.e the character contour does not change
as you edit it in the sketch layer.
Only when you click Replace Outline or Add to Outline
does the sketch get transferred to the real character
contour layer.
143
16
Exercise 3
Open the B glyph. Go into sketch mode and put the glyph
outline into the sketch layer.
Make a copy on the template layer and then scale the
glyph 90%.
Use the edit tool to enlarge the upper bowl.
Put the new contour back into the glyph window,
replacing the old contour.
144
17
Expand Strokes & Parallel
Paths
145
18
Expand Strokes
Draw and or select a line
segment
Choose stroke width,
Caps,
Joins,
And shape
146
19
Parallel Paths
Draw and/or select a
segment
Choose relative position,
Replace or add,
Close contour?,
And offset
147
Fontlab Ltd.
http://www.fontlab.com
Transformations
in
FontLab Studio 5
Ted Harrison
148
2
Transformations
Glyph edit transform tool
Range transformation
Transformation programs
149
3
Glyph transform tools
Scale
Skew
Rotate
150
4
Glyph transform - scale
Select segment or contour
Click scale tool
Position cursor
Click and drag
151
5
Glyph transform - skew
Select segment or
contour
Click skew tool
Position cursor
Click and drag
152
6
Glyph edit transform - rotate
Select segment or contour
Click rotate tool
Position cursor
Click and drag
153
7
Glyph transform – free transform
Select segment or contour
Click free transform tool
Click on handles for scale,
skew or rotate
Drag to position
154
8
Transform Panel
Window->Transform panel
Enables digital precision transforms
155
9
Exercise 1
Open the S character
Scale it down to about 90%
Slant it left about 15
degrees
Rotate it about 30 degrees
156
10
Range Transformation
157
11
Range Transformation
Tools -> Transform
(Action)
158
12
Range Transformation
Select a range or character
Select an action
Click OK to apply
159
13
Exercise 2
Open a sample font
Widen all the caps by 10%.
Make all the lower case characters 20% bolder.
160
14
Transformation Programs
161
15
Transformation Programs
Select a range or character (or
leave blank to do the whole
font)
Tools -> Action set
162
16
Transformation Programs
Setup
Transformation
program
Choose range
Retrieve or create
an action set
Edit the actions
163
17
Transformation Programs
The Preview Panel
Run the Action Set
164
18
Exercise 3
Create a transformation program that makes the font
10% bolder, slanted by 6 degrees left, and applies a
shadow.
165



 
 
166
2
 
   
Making a PostScript language implementation of a typeface design
involves two essential considerations:
The character paths must accurately express the true analog
shapes of the original design.
Certain conventions must be observed to help the interpreter
accurately scale for all sizes.
Failure to observe either of these conventions can result in uneven
stems, unwanted pixels, poor curve shapes, and poor transitions
from straight to curved sections.
167
3
 
  
An endpoint (first or last point of a
lineto or curveto) should be placed at
most horizontal or vertical extremes.
This implies that most curves should
not include more than 90 degrees of
arc. The placement of extreme points
aids the rendering algorithms in
properly reproducing the major
features of characters. Of course,
points may be placed anywhere else
on the character outline, as long as
the important extremes are defined as
well. It is not necessary to place an
endpoint at extremes of very small
curves such as the tips of curved
serifs.
168
4
 
 
Whenever one path element should
make a smooth transition to the next
element (for example, straight line to
curve, curve to straight line, or curve
to curve) the endpoint joining the two
elements and the Bézier control
points (the off-curve points)
associated with that endpoint (for
curves) or the other endpoint (for
lines) should all be collinear. This is
especially important at horizontal and
vertical extremes, where slight
deviations tend to be magnified by
interaction with the pixel grid.
169
5
 

Be as concise as possible, without breaking the
other rules. This achieves minimum memory
usage and maximum speed in the rendering
system, and simplifies the task of adding hints.
Use the fewest Bézier curve segments
that accurately represent a shape.
Do not use consecutive collinear straight
line segments.
Do not draw straight lines by using
collinear curveto definitions
Whenever possible, use the closepath
command to draw one of the straight
line segments, rather than closing a
character with a closepath that results in
a zero-length line segment.
In general, find the smallest sequence of
commands that accurately describe the
character shape.
170
6
 
 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.
171
7
 
172
8
 
173
9

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.
174
Fontlab Ltd.
http://www.fontlab.com
Metrics
in
FontLab Studio 5
Ted Harrison
175
2
The Metrics Window
Window ->New Metrics Window
176
3
Interface
Mode
Text
Preview
Metrics
Kerning
Size
Options
Tools
String
177
4
Interface
Header bar
Size
String
select
Load text
Open/close
178
5
Metrics button bar
179
6
Metrics button bar
Open Metrics – opens a
metrics file from disk
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
180
7
Metrics button bar
Auto
Metrics
kerning
181
8
Metrics button bar
Reset kerning
Assistance
Add pairs
182
9
Metrics button bar
Right-to-
left
Flip glyphs
183
10
Metrics button bar
Measurement line
Class kerning
184
11
Metrics button bar
Expand
panel
Open
Kerning
Table
Ruler
185
12
Metrics Modes
186
13
Metrics Modes
Text
187
14
Metrics Modes
Preview
188
15
Metrics Modes
Metrics
189
16
Metrics Modes
Kerning
190
17
Working with Strings
191
18
String Field
String selections
Entering 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
192
19
String Field
Loading text
strings
List comes from
preview.txt in
data subdirectory
of fontlab
directory. ASCII
editable.
Make your own
list(s) and use the
OPEN button to
load them.
Second preview
allows comparison
193
20
Editing Metrics
194
21
Editing Metrics
Select Metrics Mode
Select or enter string
Select character
Adjust sidebearings
Manually
Drag sidebearing
line
Drag glyph
Digitally
Use spin buttons
Enter numbers in
spinbox or table
195
22
Editing Metrics
Or just click the Auto button:
And select appropriate
parameters:
196
23
Editing Kerning
197
24
Editing Kerning
Select Kerning Mode
Select or enter string
Select character
Adjust kerning
Manually
Drag kerning line
Drag glyph
Digitally
Enter numbers in table
198
25
Editing Kerning
Or just click the Auto button:
And select appropriate parameters:
199
26
The Measurement Line
On/Off button in Metrics toolbar
Useful for kerning italics
200
Advanced
Metrics an
Class Kerning
 
 
201
2
  
FontLab 4.6
202
3
  
FontLab Studio 5
203
4
  
New: “Text Mode” that allows live multiline text editing
204
5
  
New: Permanent Metrics/Kerning table (Metrics mode)
205
6
  
New: Permanent Metrics/Kerning table (Kerning mode)
206
7
   
Glyph class
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
207
8
   
FontLab classes vs. OpenType classes
208
9
   
Converting OpenType classes FontLab classes
automatic, upon opening an OpenType font (4.6)
manual, “Import FontLab classes” in OpenType panel (5.0)
Converting FontLab classes OpenType classes
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.
209
10
 
FontLab kerning classes
special FontLab classes used for class kerning
name must start with underscore (e.g. “_A”)
one glyph in the class must be a “key glyph”:
its glyph name in class definition is followed by quotesingle (')
210
11
 
1. Create  
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
211
12
 
1. Create kerning classes by dragging glyph groups
into classes panel or writing class definition file.
212
13
2. Define the kerning scope of each class
using Kerning Assistance (Save changes):
1st glyph class, 2nd glyph class, both-side class
213
14
 
3. Define kerning pairs for individual glyphs.
For glyphs in classes, you only need to define
kerning pairs with key glyphs.
214
15
  
New: Live class kerning
215
16
 
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
216
17
  
Improved: Expanding class kerning into plain kerning
217
18
  
Improved: Expanding class kerning into plain kerning
218
19
  
New: Compressing kerning into class kerning
219
20
  
New: Metrics window options
220
Mysteries
of the
Font Heade
 
Fontlab Ltd.
221
5
 
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.
Control font naming and identification, metrics and
dimensions, glyph naming and encoding, screen display
settings, other font format-dependant settings.
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.
Also control certain aspects of font naming, encoding, screen
display settings etc. of fonts that are being generated.
222
7
  
Font Settings
Font Info (“Info”): File | Font Info...,
May override format-specific application settings
Application Settings
Preferences (“Pref”):
FontLab | Preferences (Mac) or Tools | Options (Win)
Customize: Tools | Customize...
File Dialogs: File | Open... | Options... or File | Generate
Font... | Options..., Temporarily override Preferences
223
8
   
User interface
Font Window, Glyph Window, colors, fonts, smoothing,
keyboard shortcuts, toolbar and menu items*, UI icons*...
Behavior of certain functions
Optimize, FontAudit, Trace, T1/TT Autohinting, copy-paste,
tracking, snapping, selecting, node moving...
Importing (opening) and exporting (generating) fonts
Decompose composites on import, autohint unhinted glyphs,
re-encode glyphs...
Read/export: original hinting, complete “name” table,
OpenType Layout tables, embedded bitmaps...
* only available in FontLab for Windows
224
9
   
Unicode compatibility:
yes: Win TrueType / OpenType TT, OpenType PS,
FontLab VFB, Mac TrueType,
no: Mac / PC Type 1, Mac / PC MultipleMaster
Terminology:
The terms OpenType TT and Win TrueType are interchangeable
OpenType PS (CFF) is often misnamed as just “OpenType”
Settings:
OpenType settings apply both to
Win TrueType / OpenType TT and to OpenType PS fonts
TrueType settings apply to
Win TrueType / OpenType TT and to Mac TrueType fonts
Type 1 settings apply to Mac Type 1 and Win Type 1 fonts
225
13
  
Preferences | Type 1
Type 1 import: leave default settings
Type 1 export
Disable Use WinAscent and WinDescent...
Encoding options: Select encoding automatically
(more discussion when we will speak of font formats)
Preferences | TrueType
TrueType import
For round-tripping, enable Store custom TrueType tables
TrueType export
Disable Autohint unhinted glyphs
Note: “Type 1 settings apply to Mac & Win. “TrueType” settings
apply to Mac TrueType, Win TrueType and OpenType TT (.ttf).
226
14
  
Preferences | OpenType
OpenType import
Disable Interpret “mort” table.
Set Read all OpenType name records...
OpenType export
Set Append OpenType name records for Roman fonts or in
development mode. For shipping, set Export only OpenType
name records and verify all naming in detail.
Enable Use OpenType names as menu names on Macintosh.
Enable Add all glyph classes to OpenType feature definition...
Note: Settings apply to Win TrueType, OpenType TT (.ttf) and
OpenType PS (.otf) fonts. Naming settings also apply to Mac
TrueType.
227
16
   
Font names and identification
Font names, design credits, vendor information,
copyrights and licenses, version numbers, creation date
Metrics and dimensions
UPM, ascenders / descenders, superscript / subscript
Glyph naming and encoding
Glyph names, Unicode values, codepages
Screen display settings
PostScript and TrueType hinting, auto-aliasing
Other settings
Settings specific to given font format
228
17
   
Info | Names and Copyright
Names of font family and style
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
229
18
     
“Brief” families on Windows
(no more than 4 styles)
“Long” families on MacOS
and in Adobe applications
230
19
     
“Brief” families on Windows
(no more than four styles)
“Long” families on MacOS
and in Adobe applications
Solution: give each family two
sorts of family naming: “brief
family naming” and “long family
naming”.
231
20
  
Brief family naming
FontLab 4.6
Long family naming (“OT”)
Alt. view in FL Studio 5
To switch the views:
Improved Fonts panel in FontLab Studio 5 displays both types of naming
232
21
     
Brief family naming
Long family naming
233
22
   
Start by giving an identical Family
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
“Light” instead.
If your style is italic or oblique,
check the “Font is italic” mark,
but leave “Font is bold”
unchecked at this stage.
234
23
   
Click on the “Build Style Name”
button to automatically build a
style name.
Abbreviate excessively long style
names (e.g. replace “Condensed”
with “Cond”). The style name
must be unique within the
family, so if FontLab builds the
same style name for two different
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!)
235
24
   
Switch between styles and
repeat the previous steps
analogically for all styles in your
family.
Go to the “OpenType-specific
font names” page and click on
“Build OpenType Names”.
Repeat for all styles in the family.
236
25
   
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.
237
29
   
238
31
   
239
33
   
240
34
   
241
35
   
242
36
  
243
37
  
244
38
   
245
39
   
246
40
  
Format-specific hinting settings:
Pref | Type 1
Pref | TrueType
Info | Hinting Settings
Info | TrueType-specific settings | Font smoothing
Tool: TrueType Hinting | Stems Options
247
41
  
Finalizing a PostScript design (Type 1 or OpenType PS/CFF)
Tools / Transform Range / range: All characters in the font
Add actions:
Contour / Decompose
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
248
42
  
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
249

 

 
 
250

   
        
251

     
 
252

     
 
253

     
 
254

      
255

256

      
257

258

      
259

260

      
261

262

      
263

264

      
265

266

      
267

268
Python
Scripting
in FontLab
 
 
269
4
  
Python is an open source object-oriented
programming language
Python is cross-platform, one code can be executed on
Mac, Windows, Unix etc.
It is easy to learn, very flexible and extremely powerful
Why write code?
simplify batch processing
cut down on repetitive tasks
FontLab has extensive Python implementation
270
5
     
First version of Python was written by Guido van Rossum. Guido van
Rossum is the older brother of Just van Rossum, who is type designer
(Letterror) and ATypI member.
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.
A few years ago, Just van Rossum wrote TTX, a package that allows you to
convert TrueType and OpenType fonts to XML and back. In Python, of
course.
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.
271
6
   
Python 2.3.x must be installed on your system
For Mac:

Download and install MacPython-OS9 even if you’re on OS X!
After installation, click on “Configure Python”
For Windows:

272
7
   
Macro Edit Panel
Output Panel
Fonts Panel
Context Menus
273
8
  
Python programs are text files,
usually with extension .py
Python is case-sensitive
Literals:
String:   or  
Integer value: 
Floating value: 
List:    
Comment:  
Statement: 
274
9
 
 
  
 
275
10
 
  
 
   
 
    
 
 
 
 
276
11
  
Condition:  ...  statement
Iteration:  statement
   
 
 
   
  
 
 
277
12
   
FontLab’s objects (fonts, glyphs, nodes) represented
as Python objects
FontLab objects overview
278
13
 
Go through the macros that come with FontLab
and read over them to see how they work.
The Python website has some great tutorials for learning basic
Python:
http://www.python.org
The documentation of the FontLab/Python API is available at:
http://dev.fontlab.net/flpydoc/
There is a mailing list dedicated to Python in FontLab:
http://mail.letterror.com/mailman/listinfo/fontlab-scripting
Almost any introductory book on Python will be helpful
Write macros in an external editor (UltraEdit, BBEdit)
279
Fontlab Ltd.
http://www.fontlab.com
Blending &
Multiple Masters
in
FontLab Studio 5
Ted Harrison
280
2
Blending
Takes two fonts and creates an intermediate version.
281
3
Blending
Open two fonts
Tools -> Blend Fonts
282
4
Blending
Specify fonts
Blend vs. Build MM
Destination
Glyphs
Blend amount
Uniform?
Interpolate
283
5
Blending
Building a single-axis Multiple Master font
284
6
Multiple Master Fonts
285
7
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
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.
286
8
Multiple Masters Theory
Standard Axes
Weight
Width
Optical size
Style (could be Serif or some other style attribute)
287
9
Multiple Masters Technique
1. Select/create Master
2. Define Axes
3. Create subsequent
Masters
288
10
Multiple Masters Technique
Open the selected Master font
Define an axis
Name
Short name
Axis type
Hints to links
289
11
Multiple Masters Technique
Create a second Master
Select an active Master
Edit
Transform
Blend
Assign
Mask to Master
290
12
Multiple Masters Technique
Assign a second Master
Tools->MultipleMaster->Assign Master
291
13
Multiple Masters Technique
Mask to Master
Assign mask
Tools->Mask&Template->Assign Font mask
Mask to Master
Tools->MM->Mask to Master
292
14
Multiple Masters Technique
The Axis Panel
Window->Axis Panel
The Preview Panel
Window->Preview Panel
293
15
Multiple Masters Technique
MM Metrics
Open Metrics window
Select Master to work on
Edit metrics as in regular font
Save metrics in MMM or AFM files
294
16
Multiple Masters Technique
Working with Axes
Axis settings
Tools->MM->Modify Axis Names
Removing an axis
Tools->MM->Remove Axis
295
17
Multiple Masters Technique
Editing the Axis Graph
Tools->MM->Edit axis
Graph
Choose axis
Position ends of dynamic
range
RMB+LMB(<cmd><opt>)
on the line to add a point
Drag point to new position
296
18
Multiple Masters Technique
Anisotropic Interpolation
Button in Axis panel
Choose axis
Position ends of dynamic
range
RMB+LMB(<cmd><opt>)
on the line to add a point
Drag point to new position
297
19
Multiple Masters Technique
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
to hints for each master.
298
20
Multiple Masters Technique
Generating a MM font
File->Generate font
Select MM format
299
21
Multiple Masters Technique
Generating Instances
Tools->MM->Generate
Instance
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
300

More Related Content

Similar to fontlab tutorial en inglés.pdf

Similar to fontlab tutorial en inglés.pdf (20)

Cadence tutorial lab_2_f16
Cadence tutorial lab_2_f16Cadence tutorial lab_2_f16
Cadence tutorial lab_2_f16
 
Cadence tutorial lab_2_f16
Cadence tutorial lab_2_f16Cadence tutorial lab_2_f16
Cadence tutorial lab_2_f16
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to Programming
 
Unit 1 c - all topics
Unit 1   c - all topicsUnit 1   c - all topics
Unit 1 c - all topics
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
Programming in C by SONU KUMAR.pptx
Programming in C by SONU KUMAR.pptxProgramming in C by SONU KUMAR.pptx
Programming in C by SONU KUMAR.pptx
 
C++ lecture 01
C++   lecture 01C++   lecture 01
C++ lecture 01
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
GDSC Intro (2).pdf
GDSC Intro (2).pdfGDSC Intro (2).pdf
GDSC Intro (2).pdf
 
Csphtp1 03
Csphtp1 03Csphtp1 03
Csphtp1 03
 
Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features Android Studio - Tips, Tricks & little known features
Android Studio - Tips, Tricks & little known features
 
Wordnotes
WordnotesWordnotes
Wordnotes
 
Intake 37 6
Intake 37 6Intake 37 6
Intake 37 6
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
 
Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6Cis 355 i lab 4 of 6
Cis 355 i lab 4 of 6
 
C notes
C notesC notes
C notes
 
Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6Cis 355 ilab 4 of 6
Cis 355 ilab 4 of 6
 

More from AnaliaAlcain

1-CAV_Géneros Cinematográficos.pdf
1-CAV_Géneros Cinematográficos.pdf1-CAV_Géneros Cinematográficos.pdf
1-CAV_Géneros Cinematográficos.pdfAnaliaAlcain
 
S-045 - El círculo del arte.pdf
S-045 - El círculo del arte.pdfS-045 - El círculo del arte.pdf
S-045 - El círculo del arte.pdfAnaliaAlcain
 
UNLP_El color en la industria gráfica.pdf
UNLP_El color en la industria gráfica.pdfUNLP_El color en la industria gráfica.pdf
UNLP_El color en la industria gráfica.pdfAnaliaAlcain
 
UNLP_Mammini_tintas gráficas.pdf
UNLP_Mammini_tintas gráficas.pdfUNLP_Mammini_tintas gráficas.pdf
UNLP_Mammini_tintas gráficas.pdfAnaliaAlcain
 
Apunte_Introducción a la producción gráfica.pdf
Apunte_Introducción a la producción gráfica.pdfApunte_Introducción a la producción gráfica.pdf
Apunte_Introducción a la producción gráfica.pdfAnaliaAlcain
 
09-Principios_de_Impresion.pdf
09-Principios_de_Impresion.pdf09-Principios_de_Impresion.pdf
09-Principios_de_Impresion.pdfAnaliaAlcain
 

More from AnaliaAlcain (6)

1-CAV_Géneros Cinematográficos.pdf
1-CAV_Géneros Cinematográficos.pdf1-CAV_Géneros Cinematográficos.pdf
1-CAV_Géneros Cinematográficos.pdf
 
S-045 - El círculo del arte.pdf
S-045 - El círculo del arte.pdfS-045 - El círculo del arte.pdf
S-045 - El círculo del arte.pdf
 
UNLP_El color en la industria gráfica.pdf
UNLP_El color en la industria gráfica.pdfUNLP_El color en la industria gráfica.pdf
UNLP_El color en la industria gráfica.pdf
 
UNLP_Mammini_tintas gráficas.pdf
UNLP_Mammini_tintas gráficas.pdfUNLP_Mammini_tintas gráficas.pdf
UNLP_Mammini_tintas gráficas.pdf
 
Apunte_Introducción a la producción gráfica.pdf
Apunte_Introducción a la producción gráfica.pdfApunte_Introducción a la producción gráfica.pdf
Apunte_Introducción a la producción gráfica.pdf
 
09-Principios_de_Impresion.pdf
09-Principios_de_Impresion.pdf09-Principios_de_Impresion.pdf
09-Principios_de_Impresion.pdf
 

Recently uploaded

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 

Recently uploaded (20)

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 

fontlab tutorial en inglés.pdf

  • 1. Fontlab Ltd. http://www.fontlab.com Basics of FontLab Studio 5 Ted Harrison 1 2 Opening a Font File -> Open 2 3 The Font Table 3 4 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 4
  • 2. 5 The Font Table Cell icons H (LLQ) – character has hint replacement program or overlapping T1 hints Green = good Red = bad T (RLQ) – has TT hints Blue = original 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 The Font Table Encoding modes Name Unicode Ranges Unicode Codepages Index Save encoding – saves .enc file 6 7 The Font Table Selecting – click cell Drag-and-drop Range drag-and-drop New glyph –dbl click +<ctrl> - multiple windows 7 8 The Font Table RMB/<ctrl>-click menu Width – of table Copy/Paste – all layers Append – to end of table Delete Action Add note Rename Mark – marks and unmarks cells Open – open in new window Properties – glyph properties 8
  • 3. 9 The Font Table RMB/<ctrl>-click menu Width More Select encoding Select glyph as default Remove Unicode 9 10 The font Table Customizing the font table: Size Caption Mode Encoding 10 11 The Glyph Edit Window 11 12 Glyph Edit Window Edit tool Click = select Click-drag = move Dbl-click = select contour Erase tool Knife tool Meter Drawing Pen 12
  • 4. 13 Glyph Edit Window VectorPaint Tools Lasso Pencil Brush Line Polygon Text tool Color Empty Auto Black White Brush Options Brush Style 13 14 Glyph Edit Window Guidelines Horizontal Vertical Diagonal 14 15 Metrics 15 16 Metrics and kerning window Window->new metrics window Mode Text Preview Metrics Kerning 16
  • 5. 17 Metrics and kerning Window Text size Options Tools Text string 17 18 Metrics and kerning window Metrics Mode Sidebearings Auto 18 19 Metrics and kerning window Kerning Mode Manual vs digital Auto 19 20 Font Info 20
  • 6. 21 Font Info Names and copyright Version and ID Metrics and dimensions Encoding and Unicode Hinting settings Type 1 settings TrueType settings 21 22 Font Info Names Font name Family name Menu name Copyright 22 23 Font Info Version Metrics Encoding 23 24 Font Info Font Note 24
  • 7. 25 Font Generation 25 26 Font generation Saving - .vfb format 26 27 Font Generation Windows Type 1 TrueType/OpenType Macintosh Type 1 TrueType/OpenType 27 28
  • 10. 37 38 39 2    1 PostScript Type 1 created 1 985–1 990 by Adobe Systems declared obsolete in 1 999    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 40
  • 11. 3    OpenType / TrueType created 1 987 by Apple and Microsoft extended 1 996–1 999 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 41 42 Fontlab Ltd. http://www.fontlab.com OpenType the Easy Way Ted Harrison 43 2 OpenType – What is it? 44
  • 12. 3 OpenType – What is it? TrueType with more tables. Uses one file (the same file) for both Mac and PC Allows very sophisticated typography through the use of OpenType features (in applications that support OpenType) Can use either TT or T1 glyphs. 45 4 Readings on OpenType OpenType: The Next Level of Digital Typography (Mark Eastman, Communication Arts) http://store.adobe.com/type/opentype/CA-Aug02.pdf OpenType ushers in new era of typography (Edward Mendelson, Creativepro.com) http://www.creativepro.com/story/feature/6503.html Will Adobe Finally Push OpenType into the Big Time? (Terri Stone, Macworld) http://www.macworld.com/2001/08/bc/20adobe_opentype/ 46 5 OpenType References Specifications Microsoft: http://www.microsoft.com/typography/tt/tt.htm Adobe: http://partners.adobe.com/asn/tech/type/opentype/otover.jsp 47 6 The Hard Way 48
  • 13. 7 OpenType the Hard Way Design Glyphs Do metrics and kerning Hint glyphs 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. 49 8 The Easy Way 50 9 OpenType the Easy Way Design Glyphs Do metrics and kerning Hint glyphs Copy/paste characters into FreeFontPro template (or make your own) Name, ID, and generate the font - Voila! You’re done. 51 10 opentype the Easy Way Design Glyphs Do metrics and kerning Hint glyphs 52
  • 14. 11 opentype the Easy Way Copy/paste (special) glyphs into FreeFontPro template (or make your own) 53 12 opentype - Easy Way Name, ID, and Generate the font 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 54 13 OpenType the Easy Way Advantages: Avoid tedious re-entry of Font Info data Use a template of known quality to eliminate encoding errors Eliminate debugging and testing by re-using OT feature scripts that have already been debugged and tested 55 14 The Really Easy Way 56
  • 15. 15 OpenType the Really Easy Way Check the „Add OTF features“ checkbox Import a Type 1 font Name, ID, and Generate the font 57 16 OpenType the Really Easy Way Check the „Add OTF features“ checkbox Tools->Options->T1 Import 58 17 OpenType the Really Easy Way Import a Type 1 font FL automatically creates: cpsp frac ordn liga If the appropriate glyphs are available 59 18 Other OT Shortcuts 60
  • 16. 19 Other OpenType shortcuts Use Python Macros to create characters Tim Ahrens’ Auto SmallCap http://www.fontlab.com/html/python.html Write your own! 61 Fontlab Ltd. http://www.fontlab.com Ted Harrison Drawing Power in FontLab Studio 5 62 2 The Glyph Window Scale,zoom Control marks Note icon Rulers and scroll bars Window options Glyphs bar Undo/redo 63 3 Glyph Window controlbar Scale Zoom Meter panel Control marks (T, R, M) Note icon 64
  • 17. 4 Glyphs bar & window options Lock/unlock Toggle meter panel Zoom Expand/close Selecting a glyph for editing 65 5 User interface Meter tool Meter panel 66 6 User interface - Glyph toolbox Edit tool Eraser Knife Meter Pen Add corner, curve, tangent Rectangle, ellipse Transform TT and T1 hinting 67 7 User interface - Contour toolbox Flip: Horizontal and vertical Interpolate nodes Envelope Move node Simplify segment Set contour direction (PS,TT) Merge contours: Get intersection 68
  • 18. 8 User interface - Editing layers Editing layer groups window 69 9 User interface - Editing layers View -> Show layers Dockable toolbar 70 10 User Interface Lock Layers 71 11 User Interface Snap to Layers 72
  • 19. 12 User interface - Rulers and Guidelines Scrollbars Rulers Units per eM (UPM) Guidelines Horizontal & vertical Angled 3 degree constraint <shift> Parallel Remove 73 13 User interface - Guidelines Guidelines menu RMB/<ctrl>click Convert to global Align Delete Create orthogonal Properties Coordinate Angle 74 14 User Interface Exercise Open FontLab; Open a font; Open the glyph window; Select the space character. Make the grid and guidelines layers visible. Remove all other layers. Lock the outline layer. Place a horizontal guide at a level of 402 eM units. Turn it into a global guide. Place a 42 degree angle guide at –28. Create another parallel to it at –20. Remove all guidelines. 75 15 Edit mode – the edit tool Node select <shift> Segment select <shift> Contour select <x2> Node properties <ctrl> Node menu <RMB>/<cntrl>click Node insertion <cmd+opt> Convert to curve <alt> 76
  • 20. 16 Edit mode The Nodes properties panel <ctrl><click> 77 17 Edit mode Edit mode The Node menu (RMB/<ctrl>click) The Node menu The Node menu 78 18 Edit mode Eraser Standard Marquee <cmd> Knife Add node Cut stem Delete line <opt> 79 19 Edit Exercise Open the A glyph cell Select an apex node and delete it. Cut one of the legs; select the lower contour; drag it 10 units to the right. Add a node in the middle of the top of the crossbar; select 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. 80
  • 21. 20 Edit mode Bezier drawing tool (pen) 81 21 Edit mode New contour tools Add corner Add curve Add tangent 82 22 Edit mode Transform tools Rotate Scale Slant Transform Box 83 23 Edit Exercise 2 Open a blank glyph window. Draw a D using the contour tools. Select the inner contour and scale it up by 10%. 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). 84
  • 22. 24 Contours Open and closed Filled and unfilled Startpoint and closepath 85 25 Contours Type 1 (cubic b-spline) TrueType (quadratic b- splines) 86 26 Contours Connections: sharp vs. smooth Changing connection type Double-click RMB/<ctrl>click ->menu 87 27 Contours – node commands Make node first Convert Delete Duplicate Retract BCPs Add anchor 88
  • 23. 28 Contours – contour commands Reverse Contour Make contour first Delete Subtract Select Make parallel path Break contour Make corner Fixed BCP direction 89 29 Contour Exercise Open the 5 glyph Change the extremum node of the bowl to a sharp connection and make it the first node. Break the contour at the node in the upper right corner. Select the top segment and make a parallel path. 90 30 Nodes Moving nodes and segments Selection Click Marquee Magic wand Click-drag Copy-paste 91 31 Nodes Inserting nodes Edit tool Win: Hold RMB then click LMB Mac: <cmd><opt>click Knife tool – click-drag across outline Add corner, curve, tangent 92
  • 24. 32 Nodes Removing nodes Edit tool Win: Hold LMB then click RMB Mac: click-drag node then <ctrl>click Eraser Click Marquee select Node menu Edit menu 93 33 Nodes Non-node editing 94 34 Selection Edit tool <shift>click selects node Double-click selects contour Marquee selects segment Magic wand - <ctrl>+Edit tool Selects nearest contour +<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 95 35 Glyph popup menu RMB/<ctrl>click in blank area Outline commands 96
  • 25. 36 Glyph popup menu Hinting commands Template commands 97 37 Glyph popup menu Actions - transformation Add note Add anchor Add component Decompose Open font window 98 38 Glyph properties window Edit->Properties from Font table Name & Unicode # nodes, #contours, #components Metrics Standard Measured at red line Bounding box Classes 99 39 Contour Toolbox 100
  • 26. 40 Contour toolbox Also available from the menu Flip glyph Horizontal Vertical 101 41 Contour toolbox Interpolate Nodes 102 42 Contour Toolbox Envelope Move Node (Set) Simplify Segment (Curve) Click tool button Click each end of segment 103 43 Contour Toolbox Contour direction Set PS direction Set TT direction Also available from menu 104
  • 27. 44 Contour Toolbox Merge Contours Get Intersection Delete Intersection (in menu) 105 Fontlab Ltd. http://www.fontlab.com Masks & Templates in FontLab Studio 5 Ted Harrison 106 2 Masks & Templates – what are they? Mask – a layer of a glyph that can contain a contour that is not 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 107 3 Masks & Templates – where are they? Tools -> Mask/ & Template 108
  • 28. 4 Masks 109 5 Masks Copy to Mask – copies the selected contour (or part) to the mask layer. 110 6 Masks Paste Mask – copies the mask layer into the outline layer. Note that it does not replace what was in the outline layer, nor is the mask removed. 111 7 Masks Clear Mask – removes all contours from the mask layer 112
  • 29. 8 Masks Exchange with Mask – moves the outline layer to the mask layer and the mask layer to the outline layer. All contours are replaced. 113 9 Masks Assign Font Mask – makes one font a mask for another 114 10 Masks Editing the Mask Layer View->Show Layers->Edit mask 115 11 Exercise 1 Open the H glyph. Select the left half and put it on the mask layer. Exchange the mask and outline layers. Paste the mask layer into the outline layer. Clear the mask layer. 116
  • 30. 12 Templates 117 13 Templates Copy to Template – copies the contour (or selected part) from the outline layer to the template layer. 118 14 Templates Copy Mask to Template – copies the active glyph’s mask layer contents into the template layer. 119 15 Templates Paste Template to Mask – copies the contents of the template layer into the active glyph’s mask layer. 120
  • 31. 16 Templates Clear Template – removes the contents of the template layer. 121 17 Exercise 2 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. 122 18 The Background Layer 123 19 Background Tools -> Background Create – rasterizes the outline and puts the resulting bitmap into the bitmap layer. 124
  • 32. 20 Background Remove – clears the bitmap layer 125 21 Background Copy – copies the bitmap to the clipboard Edit->Paste – copies a bitmap from the clipboard to the background layer 126 22 Background Move and Scale – allows you to move and adjust the size and shape of the bitmap. 127 23 Exercise 3 Open the Z glyph and create a bitmap background from it. Scale down the bitmap by about half and move it over to one side. Clear the background. 128
  • 33. Fontlab Ltd. http://www.fontlab.com VectorPaint & sketch mode in FontLab Studio 5 Ted Harrison 129 2 VectorPaint – Painting in a vector mode Bitmap paint tools Vector contours Stroke-based contours 130 3 Tools - Lasso Lasso select – selects enclosed contour LMB – straight line RMB – close contour Edit Tool – move selection 131 4 Tools - Pencil Freehand line drawing 132
  • 34. 5 Tools - Brush Brush tips Brush options Strokes Widths Angle Caps Joins 133 6 Tools - Brush Brush Options 134 7 Exercise 1 Open a new glyph 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. 135 8 Tools - Line Straight lines 136
  • 35. 9 Tools - Polygon Draws polygons RMB to close Normal contour mode Brush trace mode 137 10 Tools - Text Adds text to a glyph Edit tool – moves text Font – choose from any installed TT font 138 11 Tools - Color Black White Empty – the brush takes the foreground color Auto – the brush takes the color where the stroke begins 139 12 Exercise 2 Create a new glyph design in a blank cell using the VectorPaint tools. Add text to make a logo glyph. 140
  • 36. 13 Sketch Mode 141 14 Sketch Toolbar Show outline – creates a template layer copy of the contour. This copy remains unchanged while the contour is edited. 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 142 15 Sketch tools All the usual toolbox tools work in sketch mode. The main difference between sketch mode and normal outline mode is that the sketch is not WYSIWYG. I.e the character contour does not change as you edit it in the sketch layer. Only when you click Replace Outline or Add to Outline does the sketch get transferred to the real character contour layer. 143 16 Exercise 3 Open the B glyph. Go into sketch mode and put the glyph outline into the sketch layer. Make a copy on the template layer and then scale the glyph 90%. Use the edit tool to enlarge the upper bowl. Put the new contour back into the glyph window, replacing the old contour. 144
  • 37. 17 Expand Strokes & Parallel Paths 145 18 Expand Strokes Draw and or select a line segment Choose stroke width, Caps, Joins, And shape 146 19 Parallel Paths Draw and/or select a segment Choose relative position, Replace or add, Close contour?, And offset 147 Fontlab Ltd. http://www.fontlab.com Transformations in FontLab Studio 5 Ted Harrison 148
  • 38. 2 Transformations Glyph edit transform tool Range transformation Transformation programs 149 3 Glyph transform tools Scale Skew Rotate 150 4 Glyph transform - scale Select segment or contour Click scale tool Position cursor Click and drag 151 5 Glyph transform - skew Select segment or contour Click skew tool Position cursor Click and drag 152
  • 39. 6 Glyph edit transform - rotate Select segment or contour Click rotate tool Position cursor Click and drag 153 7 Glyph transform – free transform Select segment or contour Click free transform tool Click on handles for scale, skew or rotate Drag to position 154 8 Transform Panel Window->Transform panel Enables digital precision transforms 155 9 Exercise 1 Open the S character Scale it down to about 90% Slant it left about 15 degrees Rotate it about 30 degrees 156
  • 40. 10 Range Transformation 157 11 Range Transformation Tools -> Transform (Action) 158 12 Range Transformation Select a range or character Select an action Click OK to apply 159 13 Exercise 2 Open a sample font Widen all the caps by 10%. Make all the lower case characters 20% bolder. 160
  • 41. 14 Transformation Programs 161 15 Transformation Programs Select a range or character (or leave blank to do the whole font) Tools -> Action set 162 16 Transformation Programs Setup Transformation program Choose range Retrieve or create an action set Edit the actions 163 17 Transformation Programs The Preview Panel Run the Action Set 164
  • 42. 18 Exercise 3 Create a transformation program that makes the font 10% bolder, slanted by 6 degrees left, and applies a shadow. 165        166 2       Making a PostScript language implementation of a typeface design involves two essential considerations: The character paths must accurately express the true analog shapes of the original design. Certain conventions must be observed to help the interpreter accurately scale for all sizes. Failure to observe either of these conventions can result in uneven stems, unwanted pixels, poor curve shapes, and poor transitions from straight to curved sections. 167 3      An endpoint (first or last point of a lineto or curveto) should be placed at most horizontal or vertical extremes. This implies that most curves should not include more than 90 degrees of arc. The placement of extreme points aids the rendering algorithms in properly reproducing the major features of characters. Of course, points may be placed anywhere else on the character outline, as long as the important extremes are defined as well. It is not necessary to place an endpoint at extremes of very small curves such as the tips of curved serifs. 168
  • 43. 4     Whenever one path element should make a smooth transition to the next element (for example, straight line to curve, curve to straight line, or curve to curve) the endpoint joining the two elements and the Bézier control points (the off-curve points) associated with that endpoint (for curves) or the other endpoint (for lines) should all be collinear. This is especially important at horizontal and vertical extremes, where slight deviations tend to be magnified by interaction with the pixel grid. 169 5    Be as concise as possible, without breaking the other rules. This achieves minimum memory usage and maximum speed in the rendering system, and simplifies the task of adding hints. Use the fewest Bézier curve segments that accurately represent a shape. Do not use consecutive collinear straight line segments. Do not draw straight lines by using collinear curveto definitions Whenever possible, use the closepath command to draw one of the straight line segments, rather than closing a character with a closepath that results in a zero-length line segment. In general, find the smallest sequence of commands that accurately describe the character shape. 170 6    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. 171 7   172
  • 44. 8   173 9  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. 174 Fontlab Ltd. http://www.fontlab.com Metrics in FontLab Studio 5 Ted Harrison 175 2 The Metrics Window Window ->New Metrics Window 176
  • 45. 3 Interface Mode Text Preview Metrics Kerning Size Options Tools String 177 4 Interface Header bar Size String select Load text Open/close 178 5 Metrics button bar 179 6 Metrics button bar Open Metrics – opens a metrics file from disk 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 180
  • 46. 7 Metrics button bar Auto Metrics kerning 181 8 Metrics button bar Reset kerning Assistance Add pairs 182 9 Metrics button bar Right-to- left Flip glyphs 183 10 Metrics button bar Measurement line Class kerning 184
  • 47. 11 Metrics button bar Expand panel Open Kerning Table Ruler 185 12 Metrics Modes 186 13 Metrics Modes Text 187 14 Metrics Modes Preview 188
  • 48. 15 Metrics Modes Metrics 189 16 Metrics Modes Kerning 190 17 Working with Strings 191 18 String Field String selections Entering 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 192
  • 49. 19 String Field Loading text strings List comes from preview.txt in data subdirectory of fontlab directory. ASCII editable. Make your own list(s) and use the OPEN button to load them. Second preview allows comparison 193 20 Editing Metrics 194 21 Editing Metrics Select Metrics Mode Select or enter string Select character Adjust sidebearings Manually Drag sidebearing line Drag glyph Digitally Use spin buttons Enter numbers in spinbox or table 195 22 Editing Metrics Or just click the Auto button: And select appropriate parameters: 196
  • 50. 23 Editing Kerning 197 24 Editing Kerning Select Kerning Mode Select or enter string Select character Adjust kerning Manually Drag kerning line Drag glyph Digitally Enter numbers in table 198 25 Editing Kerning Or just click the Auto button: And select appropriate parameters: 199 26 The Measurement Line On/Off button in Metrics toolbar Useful for kerning italics 200
  • 51. Advanced Metrics an Class Kerning     201 2    FontLab 4.6 202 3    FontLab Studio 5 203 4    New: “Text Mode” that allows live multiline text editing 204
  • 52. 5    New: Permanent Metrics/Kerning table (Metrics mode) 205 6    New: Permanent Metrics/Kerning table (Kerning mode) 206 7     Glyph class 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 207 8     FontLab classes vs. OpenType classes 208
  • 53. 9     Converting OpenType classes FontLab classes automatic, upon opening an OpenType font (4.6) manual, “Import FontLab classes” in OpenType panel (5.0) Converting FontLab classes OpenType classes 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. 209 10   FontLab kerning classes special FontLab classes used for class kerning name must start with underscore (e.g. “_A”) one glyph in the class must be a “key glyph”: its glyph name in class definition is followed by quotesingle (') 210 11   1. Create   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 211 12   1. Create kerning classes by dragging glyph groups into classes panel or writing class definition file. 212
  • 54. 13 2. Define the kerning scope of each class using Kerning Assistance (Save changes): 1st glyph class, 2nd glyph class, both-side class 213 14   3. Define kerning pairs for individual glyphs. For glyphs in classes, you only need to define kerning pairs with key glyphs. 214 15    New: Live class kerning 215 16   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 216
  • 55. 17    Improved: Expanding class kerning into plain kerning 217 18    Improved: Expanding class kerning into plain kerning 218 19    New: Compressing kerning into class kerning 219 20    New: Metrics window options 220
  • 56. Mysteries of the Font Heade   Fontlab Ltd. 221 5   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. Control font naming and identification, metrics and dimensions, glyph naming and encoding, screen display settings, other font format-dependant settings. 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. Also control certain aspects of font naming, encoding, screen display settings etc. of fonts that are being generated. 222 7    Font Settings Font Info (“Info”): File | Font Info..., May override format-specific application settings Application Settings Preferences (“Pref”): FontLab | Preferences (Mac) or Tools | Options (Win) Customize: Tools | Customize... File Dialogs: File | Open... | Options... or File | Generate Font... | Options..., Temporarily override Preferences 223 8     User interface Font Window, Glyph Window, colors, fonts, smoothing, keyboard shortcuts, toolbar and menu items*, UI icons*... Behavior of certain functions Optimize, FontAudit, Trace, T1/TT Autohinting, copy-paste, tracking, snapping, selecting, node moving... Importing (opening) and exporting (generating) fonts Decompose composites on import, autohint unhinted glyphs, re-encode glyphs... Read/export: original hinting, complete “name” table, OpenType Layout tables, embedded bitmaps... * only available in FontLab for Windows 224
  • 57. 9     Unicode compatibility: yes: Win TrueType / OpenType TT, OpenType PS, FontLab VFB, Mac TrueType, no: Mac / PC Type 1, Mac / PC MultipleMaster Terminology: The terms OpenType TT and Win TrueType are interchangeable OpenType PS (CFF) is often misnamed as just “OpenType” Settings: OpenType settings apply both to Win TrueType / OpenType TT and to OpenType PS fonts TrueType settings apply to Win TrueType / OpenType TT and to Mac TrueType fonts Type 1 settings apply to Mac Type 1 and Win Type 1 fonts 225 13    Preferences | Type 1 Type 1 import: leave default settings Type 1 export Disable Use WinAscent and WinDescent... Encoding options: Select encoding automatically (more discussion when we will speak of font formats) Preferences | TrueType TrueType import For round-tripping, enable Store custom TrueType tables TrueType export Disable Autohint unhinted glyphs Note: “Type 1 settings apply to Mac & Win. “TrueType” settings apply to Mac TrueType, Win TrueType and OpenType TT (.ttf). 226 14    Preferences | OpenType OpenType import Disable Interpret “mort” table. Set Read all OpenType name records... OpenType export Set Append OpenType name records for Roman fonts or in development mode. For shipping, set Export only OpenType name records and verify all naming in detail. Enable Use OpenType names as menu names on Macintosh. Enable Add all glyph classes to OpenType feature definition... Note: Settings apply to Win TrueType, OpenType TT (.ttf) and OpenType PS (.otf) fonts. Naming settings also apply to Mac TrueType. 227 16     Font names and identification Font names, design credits, vendor information, copyrights and licenses, version numbers, creation date Metrics and dimensions UPM, ascenders / descenders, superscript / subscript Glyph naming and encoding Glyph names, Unicode values, codepages Screen display settings PostScript and TrueType hinting, auto-aliasing Other settings Settings specific to given font format 228
  • 58. 17     Info | Names and Copyright Names of font family and style 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 229 18       “Brief” families on Windows (no more than 4 styles) “Long” families on MacOS and in Adobe applications 230 19       “Brief” families on Windows (no more than four styles) “Long” families on MacOS and in Adobe applications Solution: give each family two sorts of family naming: “brief family naming” and “long family naming”. 231 20    Brief family naming FontLab 4.6 Long family naming (“OT”) Alt. view in FL Studio 5 To switch the views: Improved Fonts panel in FontLab Studio 5 displays both types of naming 232
  • 59. 21       Brief family naming Long family naming 233 22     Start by giving an identical Family 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 “Light” instead. If your style is italic or oblique, check the “Font is italic” mark, but leave “Font is bold” unchecked at this stage. 234 23     Click on the “Build Style Name” button to automatically build a style name. Abbreviate excessively long style names (e.g. replace “Condensed” with “Cond”). The style name must be unique within the family, so if FontLab builds the same style name for two different 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!) 235 24     Switch between styles and repeat the previous steps analogically for all styles in your family. Go to the “OpenType-specific font names” page and click on “Build OpenType Names”. Repeat for all styles in the family. 236
  • 60. 25     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. 237 29     238 31     239 33     240
  • 61. 34     241 35     242 36    243 37    244
  • 62. 38     245 39     246 40    Format-specific hinting settings: Pref | Type 1 Pref | TrueType Info | Hinting Settings Info | TrueType-specific settings | Font smoothing Tool: TrueType Hinting | Stems Options 247 41    Finalizing a PostScript design (Type 1 or OpenType PS/CFF) Tools / Transform Range / range: All characters in the font Add actions: Contour / Decompose 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 248
  • 63. 42    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 249         250               251          252
  • 64.          253          254         255  256
  • 65.         257  258         259  260
  • 66.         261  262         263  264
  • 67.         265  266         267  268
  • 68. Python Scripting in FontLab     269 4    Python is an open source object-oriented programming language Python is cross-platform, one code can be executed on Mac, Windows, Unix etc. It is easy to learn, very flexible and extremely powerful Why write code? simplify batch processing cut down on repetitive tasks FontLab has extensive Python implementation 270 5       First version of Python was written by Guido van Rossum. Guido van Rossum is the older brother of Just van Rossum, who is type designer (Letterror) and ATypI member. 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. A few years ago, Just van Rossum wrote TTX, a package that allows you to convert TrueType and OpenType fonts to XML and back. In Python, of course. 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. 271 6     Python 2.3.x must be installed on your system For Mac:  Download and install MacPython-OS9 even if you’re on OS X! After installation, click on “Configure Python” For Windows:  272
  • 69. 7     Macro Edit Panel Output Panel Fonts Panel Context Menus 273 8    Python programs are text files, usually with extension .py Python is case-sensitive Literals: String:   or   Integer value:  Floating value:  List:     Comment:   Statement:  274 9          275 10                           276
  • 70. 11    Condition:  ...  statement Iteration:  statement                    277 12     FontLab’s objects (fonts, glyphs, nodes) represented as Python objects FontLab objects overview 278 13   Go through the macros that come with FontLab and read over them to see how they work. The Python website has some great tutorials for learning basic Python: http://www.python.org The documentation of the FontLab/Python API is available at: http://dev.fontlab.net/flpydoc/ There is a mailing list dedicated to Python in FontLab: http://mail.letterror.com/mailman/listinfo/fontlab-scripting Almost any introductory book on Python will be helpful Write macros in an external editor (UltraEdit, BBEdit) 279 Fontlab Ltd. http://www.fontlab.com Blending & Multiple Masters in FontLab Studio 5 Ted Harrison 280
  • 71. 2 Blending Takes two fonts and creates an intermediate version. 281 3 Blending Open two fonts Tools -> Blend Fonts 282 4 Blending Specify fonts Blend vs. Build MM Destination Glyphs Blend amount Uniform? Interpolate 283 5 Blending Building a single-axis Multiple Master font 284
  • 72. 6 Multiple Master Fonts 285 7 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 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. 286 8 Multiple Masters Theory Standard Axes Weight Width Optical size Style (could be Serif or some other style attribute) 287 9 Multiple Masters Technique 1. Select/create Master 2. Define Axes 3. Create subsequent Masters 288
  • 73. 10 Multiple Masters Technique Open the selected Master font Define an axis Name Short name Axis type Hints to links 289 11 Multiple Masters Technique Create a second Master Select an active Master Edit Transform Blend Assign Mask to Master 290 12 Multiple Masters Technique Assign a second Master Tools->MultipleMaster->Assign Master 291 13 Multiple Masters Technique Mask to Master Assign mask Tools->Mask&Template->Assign Font mask Mask to Master Tools->MM->Mask to Master 292
  • 74. 14 Multiple Masters Technique The Axis Panel Window->Axis Panel The Preview Panel Window->Preview Panel 293 15 Multiple Masters Technique MM Metrics Open Metrics window Select Master to work on Edit metrics as in regular font Save metrics in MMM or AFM files 294 16 Multiple Masters Technique Working with Axes Axis settings Tools->MM->Modify Axis Names Removing an axis Tools->MM->Remove Axis 295 17 Multiple Masters Technique Editing the Axis Graph Tools->MM->Edit axis Graph Choose axis Position ends of dynamic range RMB+LMB(<cmd><opt>) on the line to add a point Drag point to new position 296
  • 75. 18 Multiple Masters Technique Anisotropic Interpolation Button in Axis panel Choose axis Position ends of dynamic range RMB+LMB(<cmd><opt>) on the line to add a point Drag point to new position 297 19 Multiple Masters Technique 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 to hints for each master. 298 20 Multiple Masters Technique Generating a MM font File->Generate font Select MM format 299 21 Multiple Masters Technique Generating Instances Tools->MM->Generate Instance 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 300