forked from fontforge/fontforge.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheditexample7.html
More file actions
222 lines (222 loc) · 10.2 KB
/
editexample7.html
File metadata and controls
222 lines (222 loc) · 10.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<HTML>
<HEAD>
<!-- Created with AOLpress/2.0 -->
<!-- AP: Created on: 27-Jan-2003 -->
<!-- AP: Last modified: 7-Feb-2010 -->
<TITLE>Final cleanup</TITLE>
<LINK REL="icon" href="fftype16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="/assets/css/old/FontForge.css">
</HEAD>
>
<div style="margin:0; height: 4 em; padding: 0.5em; background: red; color:yellow; text-align:center; font-size:1em; font-family: sans-serif;">
<p><a href="http://fontforge.github.io" style="padding: 0.5em; color: yellow; font-weight: bold; text-decoration: none;" onmouseover="this.style.background='black';" onmouseout="this.style.background='red';" >This is part of the old website. New website begins at fontforge.github.io</a></p>
<p><a href="https://github.com/fontforge/fontforge.github.io" style="padding: 0.5em; color: yellow; font-weight: bold; text-decoration: none;" onmouseover="this.style.background='black';" onmouseout="this.style.background='red';" >Are you a web developer? Help us migrate this page on Github</a></p>
</div>
<P ALIGN=CENTER>
<IMG SRC="/assets/img/old/fontforge-banner-420.jpeg" WIDTH=420 HEIGHT=80>
<DIV id="in">
<H1 ALIGN=Center>
Tutorial #8
</H1>
<UL>
<LI>
<A HREF="editexample.html#FontCreate">Font Creation</A>
<LI>
<A HREF="editexample.html#CharCreate">Creating a glyph (tracing outlines)</A>
<LI>
<A HREF="editspiro.html">Create glyph outlines using spiro points</A>
<LI>
<A HREF="importexample.html">Importing a glyph from Inkscape (or Illustrator,
or some other vector editor)</A>
<LI>
<A HREF="editexample2.html#Navigating">Navigating to other glyphs</A>
<LI>
<A HREF="editexample2.html#Creating-o">On to the next glyph (consistent
directions)</A>
<LI>
<A HREF="editexample3.html#consistent-stems">Consistent serifs and stem
widths</A>
<LI>
<A HREF="editexample4.html#accents">Building accented glyphs</A>
<LI>
<A HREF="editexample4.html#ligature">Building a ligature</A>
<LI>
<A HREF="editexample5.html#metrics">Examining metrics</A>
<LI>
<A HREF="editexample5.html#Kerning">Kerning</A>
<LI>
<A HREF="editexample6.html#Variants">Glyph variants</A>
<LI>
<A HREF="editexample6.html#Marks">Anchoring marks</A>
<LI>
<A HREF="editexample6-5.html#Conditional">Conditional features</A>
<LI>
<A HREF="editexample7.html#checking">Checking your font</A>
<LI>
<A HREF="#Bitmaps">Bitmaps</A>
<LI>
<A HREF="editexample7.html#generating">Generating it</A>
<LI>
<A HREF="editexample7.html#Families">Font Families</A>
<LI>
<A HREF="editexample7.html#summary">Final Summary</A>
<LI>
<A HREF="editexample8.html">Bitmap strikes</A>
<LI>
<A HREF="scripting-tutorial.html">Scripting Tutorial</A>
<LI>
<A HREF="scriptnotes.html#Special">Notes on various scripts</A>
<LI>
<FORM method=GET action="http://www.google.com/search">
Searching the documentation:
<INPUT type=hidden name="as_sitesearch" value="fontforge.sourceforge.net">
<INPUT type=text name="as_q">
<INPUT type=submit name="btnG" value="Search">(Powered by
<A HREF="http://www.google.com/">Google</A>)
</FORM>
</UL>
<H2>
<A NAME="checking">Checking</A> a font
</H2>
<P>
After you have finished making all the glyphs in your font you should check
it for inconsistencies. FontForge has a command,
<A HREF="problems.html">Element->Find Problems</A> which is designed to
find many common problems.
<P>
Simply select all the glyphs in the font and then bring up the Find Problems
dialog. Be warned though: Not everything it reports as a problem is a real
problem, some may be an element of the font's design that FontForge does
not expect.
<P>
The dialog can search for problems like:
<UL>
<LI>
Stems which are close to but not exactly some standard value.
<LI>
Points which are close to but not exactly some standard height
<LI>
Paths which are almost but not quite vertical or horizontal
<LI>
Control points which are in unlikely places
<LI>
Points which are almost but not quite on a hint
<LI>
...
</UL>
<P>
I find it best just to check for a similar problems at a time, otherwise
switching between different kinds of problems can be distracting.
<H2>
<A NAME="Bitmaps">Bitmaps</A>
</H2>
<P>
At this point you might want some bitmaps to go with the outline font (this
is not compulsory). Go to <CODE>Element->Bitmap Strikes Available</CODE>
and select the pixel sizes you want bitmaps in (Note, that on X and MS windows
pixel sizes often do not correspond exactly to point sizes. You can then
use the bitmap editor (<CODE><A HREF="bitmapview.html">Window->Open
Bitmap</A></CODE>) to clean up the bitmaps, or you can generate your bitmap
fonts and then <A HREF="http://clr.nmsu.edu/~mleisher/download.html">use
someone else's bitmap editor to clean them up</A>.
<P>
<IMG SRC="/assets/img/old/BitmapView.png" WIDTH="254" HEIGHT="273">
<P>
Bitmaps are discussed in more detail in the <A HREF="editexample8.html">next
section.</A>
<H2>
<A NAME="generating">Generating</A> a font
</H2>
<P>
If you save your file it will be saved in a format that only FontForge
understands (as far as I know anyway). This is not very helpful if you want
to use the font.
<P>
<IMG SRC="/assets/img/old/generate.png" WIDTH="406" HEIGHT="411" ALIGN="Right">Instead you
must use <A HREF="generate.html">File->Generate</A> to convert your font
into one of the standard font formats. FontForge presents what looks like
a vast array of font formats, but in reality there are just several variants
on a few basic font formats: PostScript Type 1, TrueType, OpenType (and for
CJK fonts, also CID-keyed fonts).
<P>
You also have a choice of bitmap formats. FontForge supports bdf (used by
X), mac NFNT (used by the Mac), Windows FNT (used by Windows 2.0 I think)
and storing bitmaps inside true (or open) type wrappers.<BR CLEAR=RIGHT>
<H2>
Font <A NAME="Families">Families</A>
</H2>
<P>
After you have generated a font, you probably want to generate a sequence
of similar fonts. In Latin, Greek and Cyrillic fonts italic (or oblique),
bold, condensed, expanded styles are fairly common.
<P>
Fonts with different styles in the same family should share the same Family
Name (in the <A HREF="fontinfo.html">Element->Font Info->Names</A>
dialog). The Font Name should be the Family Name with the style name(s) appended
to the end, often preceded by a hyphen. So in the font family "Helvetica"
all fonts should have the Family Name set to "Helvetica". The plain style
could be called simply "Helvetica" or "Helvetica-Regular", the bold style
"Helvetica-Bold", the oblique (Helvetica doesn't have a true italic)
"Helvetica-Oblique", etc.
<P>
FontForge has a menu
<A HREF="elementmenu.html#Style">Element->Style</A> which is designed
to help you create different styles (bold, italic, oblique, condensed, extended,
smallcaps,...) of a font a plain face. None of these transformations is perfect,
be sure to check the results.
<P>
The
<A HREF="transform.html">Element->Transform->Transform->Skew</A>
command can turn a plain font into an Oblique one. Creating a true italic
font is generally a bit more complex, the shape of the "a" changes dramatically
to "<I>a</I>", the "f" gains a descender as "<I>f</I>", the serifs on "ilm"
etc. become rounded as "<I>ilm</I>" and there will probably be other subtle
differences. Also, after having skewed a font you should
<A HREF="elementmenu.html#Add-Extrema">Element->Add Extrema</A>.
<P>
If you already have a "Bold" and a "Plain" style of a font (and each glyph
has the same number of points in the same order), you can use the
<A HREF="elementmenu.html#Interpolate">Element->Interpolate Font </A>command
to generate a "DemiBold" style.
<P>
TrueType fonts (and Windows) support a very fine gradation of stem thicknesses
(the Mac really only understands Plain and Bold). If you go to
<A HREF="fontinfo.html#TTF-Values">Element->Font Info->OS/2</A> you
can set the weight to be any value between 0 and 999 (with plain generally
being at 400 or 500, and Bold at 700). TrueType fonts also support a range
of widths (while the Mac only supports condensed, plain and expanded).
<P>
<IMG SRC="/assets/img/old/GenerateFamily.png" WIDTH="414" HEIGHT="552" ALT="Dialog for Generate Mac Family"
ALIGN="Right">On Windows machines, as long as you get the names right, the
system should be able to figure out what fonts go into what families. But
on the Mac the situation is (or was, it is changing and I don't understand
all the new extensions yet) more complicated. The Mac supports a limited
range of styles (plain, italic, bold, outline, condensed, expanded and
combinations of these) anything outside these must go into a separate family.
Then a special table needs to be constructed (called the FOND) which holds
pointers to the various fonts in the family. If you open all the fonts you
want to be in a given family (and if they have been given the proper names)
and then from the plain font select
<A HREF="filemenu.html#GenerateMac">File->Generate Family</A>. This will
list all the fonts that FontForge thinks belong to the same family as the
current font and will allow you to generate a FOND structure as well as font
files for all family members (sometimes all the fonts live in one file, sometimes
they don't, it depends on the font format chosen).
<H2>
<A NAME="summary">Final</A> Summary
</H2>
<P>
So you have made a new font. But it does you no good just sitting on your
disk, you must install it on your machine. On some systems this is as simple
as just dragging the new font into your system Fonts folder, but on other
systems there is a fair amount work involved still. See the
<A HREF="faq.html#font-install">Installing fonts FAQ</A>.
<P>
For a tutorial about <A HREF="scripting-tutorial.html">FontForge's scripting
mechanism click here</A>.
<P>
<P ALIGN=Center>
-- <A HREF="editexample6-5.html">Prev</A> -- <A HREF="overview.html">TOC</A>
-- <A HREF="scriptnotes.html">Next</A> --
</DIV>
</BODY></HTML>