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
|
<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="ffanvil16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<P ALIGN=CENTER>
<IMG SRC="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="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="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="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>
|