Download Type 3.2 font editor - CR8 Software Solutions

Transcript
usermanual
version3.2
©2006-2012
CR8SoftwareSolutions
cr8software.net
Contents
Introduction
Technicalsupportandupdates
Navigation
3
Actions
23
Kerning
24
25
OpenTypeFeatures
OpenTypeLayoutfeatures
ApplyingOpenTypefeatures
Example
27
AppendixI. FontOptions
29
AppendixII. FontBasics
30
AppendixIII.
PostScript,TrueTypeandOpenType
32
AppendixIV.
KeyboardShortcuts
34
4
GettingStarted
Creatinganewfont
Commonissues
Definitions
5
ViewModes TrueTypepointsview
Nodesview
8
TheToolbox Select
Pen
Nodesandpoints
Freehanddrawing
Knife
Glue
Ruler
Rotationsandothertransformations
Linesandshapes
Touch-uptools
9
TheMappingWindow
Mappingmenu
14
AppendixV.
StandardKerningPairs
35
GlyphData-.gfsfiles
Copyingglyphsbetweenfonts
Savingeverythingas.gfs
16
AppendixVI.
ActionCommandReference
36
38
FontParameters
Names
Fontmetrics
Fontdescription
AppendixVII.
OpenTypefeatureFileReference
AppendixVIII
CompositeWizardFileReference
41
Copyright
42
17
CompositeGlyphs Copyandpastefunctions
Automaticcompositeglyphcreation
19
ImportingandTracingGraphics
Autotracing
Manualtracing
Importingvectorgraphics
21
Hinting
Alignmentzones
Auto-hinting
Gasp(grayscalehinting)
2.
Introduction
TheartofTypefacedesignhasbeenaroundforcenturies,andmanyofthefontsinusetoday
werefirstdesignedhundredsofyearsago(Garamondtypeface,forexamplewascreatedinthe
1500’sbyagentlemanbythenameofClaudeGaramond).Backthenfontswerecutintosteel-
todayyouhavetheconvenienceandeaseofmoderncomputersoftware.
Type3.2hasbeendesignedtomakeitrelativelyeasyforabeginnertogetstartedmakingfonts
withouthavingtoworryaboutcomplexities.Thisversion,forexample,integratesanautotracing
feature(seepage21),makingiteasytocreatefontsfromscannedimagesandgraphics.
Advancedfeaturesareavailableifrequired:kerning,automatedactionscripts,hintingand
OpenTypefeatures.Ifyouareagraphicartistthenyoushouldalsofindthatthedrawingtools
arenottoodissimilarfromthosefoundinthelikesofAdobeIllustratorandCorelDRAW.
ThismanualisintendedtobeaninstructionmanualforType3.2ratherthanatutorialor
introductiontofontdesign.IfyouarenewtomakingfontsthenIrecommendthatyouread
AppendixII&IIIofthismanualfirst,andalsocheckoutthelinksbelow.
AllanMurray
SeniorDeveloper
CR8SoftwareSolutions
Formoreinformation:
Visithttp://cr8software.net/truetype.html fortutorials,articlesandlinksaboutmakingfonts
(generalaswellasspecialisedType3.2articles).
Thereisapublicdiscussionforumhere:http://cr8.proboards.com whereyoucanpostquestions
orsuggestions,orjusttoseeifsomeonehasalreadyaskedyourquestion.
Forfreesupportpostyourprivatequeryhere:http://cr8software.net/support.html orsendan
emailto:[email protected].
Updates:
Freeupdatesareissuedfromtimetotimewithminorfeatureadditions,improvementsandbug
fixes.ThemostcurrentversionnumberisalwaysdisplayedontheType3.2webpage:
http://cr8software.net/type.html.
Toobtainanupdate,reinstallthesoftwareusingthedownloadlinkthatyoureceivedwithyour
originalpurchase.Youwillnotnormallyhavetore-enteryourregistrationdetails.
3.
Navigation
Toolbox
Progress
Glyph number
Status
Current tool
Mapping window
Navigatearoundtheeditwindow(maindisplayarea),byusing
thescrollbarsorbyrightclickingonaclearareatograband
dragthewindow.
Zoominandout,usingthemagnifyandreducebuttons,
the+keyand-key,orthemousescrollwheel. Themagenta(p1)andgreen(p2)verticallinesmarkthewidthoftheglyph(seeAppendixII).
Movethesebydraggingatthetopofeachline,orselectglyphmetricsfromtheglyphmenu.
Thedashedhorizontallinesare:ascent,descent,caps-heightandx-height.Anythingthatisnot
betweentheascentanddescentlinewillbe‘clipped’.Thevaluesoftheseparameterscanbeset
using metrics from the font menu (WinAscent, WinDescent, Caps height and x-height).Donot
confuseascentanddescentwithtypographicascenderanddescendermentionedinAppendixII).
4.
GettingStarted
CreatingaNewFont
Selectnewfromthefilemenu.Youwillbe
promptedforthenamesofyournewfont.
Allfieldsarerequired.Theseare:
Familyname: Arialforexample
Subfamily:
Regular,Bold,Italicetc.
Fullname:
Familyname+Subfamily
(egArialBold).ForaRegular
font,justputtheFamily
name(Arial)
Copyright:
Yourcopyrightdetails.
Thefirstfourglyphswillbeautomaticallycreatedandmapped(seeAppendixIIformoredetails).
Thefirstglyphalwaysrepresentstheundefinedcharacter–normallyanemptybox-likesymbol.
Youcaneditthesymbol,butyoucannotmapthisglyphtoanything(mappingtotheundefined
characterisequivalenttounmapping).
Thenexttwoglyphsaremappedtocertaincontrolcharacters,andthelastismappedtothe
spacecharacter.Thisglyphmustbeleftblank,butyoucanchangeitswidthtomatchthespacing
ofyourfont.
Pressthenewglyphbuttontostartcreatinganewfont.
or
Doubleclickononeofthecharactersinthemappingwindowandsayyestotheprompt–anew
glyphmappedtothatcharacterwillbecreated.
Youmaynowproceedtocreateglyphsusingtherangeoftoolsavailableinthetoolbox.
5.
GettingStarted(continued)
CommonIssues
Thefollowingarealistoftipstohelpyouavoidsomecommonissuesthatcanoccurwhen
creatingoreditingfonts.
•
DonotopenfontfilesforeditingfromtheWindowsfontfolder.Copythemtoanotherfolder
beforeopeningthem.
•
Don’tsavefontfilesdirectlyintotheWindowsfontsfolder(theywillnotbeinstalledcorrectly).
•
Thecorrectwaytoinstallfontsistodragthefontfile(saveitsomewhereelsefirst)intothe
Windowsfontfolder.
•
Ifyouareeditinganinstalledfont,thenyouwillneedtouninstalltheoriginalorgivethenew
fontadifferentfontfamilynamebeforeyoucaninstallthenewfont.
•
Makefrequentbackups(alwaysgoodpractice)ofyourfontfiles,preferablyas.gfsfiles,during
thefontdevelopmentprocess.
•
Whenafontdoesnotworkasexpected,itisoftenanaming(conflictingfontnames)or
encodingissue:makesurecodepageLatin1252ismarkedactive,andmarkanyunicode
scriptsthatcontainglyphsasactive.
•
Youshouldonlyhaveuptofourdifferentfontsthathavethesamefontfamilyname–regular,
bold,italicandbolditalic.
•
Ifyouchangethenameofafont,makesurethatyouchangetheadvancednamesalso.Some
programswilluseadvancednames(eguniquefontname)todistinguishfonts,sotheyneedto
beunique.
•
Ifyouchangethenameofafont,makesurethatyouchangethenamesforMacintosh
(Roman)(otherwisethefontmaynotworkifinstalledonanAppleMac)andforotheractive
languages.
•
Avoid creating glyphs with overlapping contours. The glyph will display correctly on a
TrueType(.ttf)font(butisnotrecommended)butwillhaveawhitespaceintheoverlapping
regiononaPostScript(.otf)font.
•
Whencreatingglyphswhereonecontourisenclosedbyanother(eg.theinnerandouter
contoursofan’o’),theinnercontourmustbeintheoppositedirection(clockwiseor
anticlockwise)totheoutercontour(seeappendixII).
6.
GettingStarted(continued)
Definitions
Glyph–Glyphsaretheshapesandsymbolsthatyoudesign.Theynormallyrepresentcharacters
orcomponentsofcharacters.AfontcontainsalistofglyphsindexedbyaglyphID.Theycan
beinanarbitraryorder,butcreatingthemincharactersetorderisnormalpractice,andhas
someadvantages.
Character–Charactersarethebasicsymbolsthatareusedtorepresentalanguage.Theletter
AisacharacterintheLatinAlphabetforexample.
Mapping–Mappingistheprocessofconnectingglyphstocharacters.GlyphID#36maybe
assignedtorepresenttheletterAcharacterinacertainfontforexample.Asingleglyphcanbe
mappedtomorethanonecharacter,and(usingOpenTypefeatures)severalglyphscanalsobe
usedtorepresentthesamecharacter.
Unicodecharacters–Unicodeisaninternationalcharacterencodingsystemthatassignsa
codetoeverycharacterformostoftheworldslanguagesystems.AUnicodescriptisarange
containingrelatedcharacters.ForexampletheBasicLatinscriptistheunicoderange0000
to007F.
Character set – A Character set is the group of characters used to represent a particular
language. Single byte character sets (Code pages) can contain up to 256 characters. The
characterscanrepresentdifferentlanguagesdependingontheencodingused.Fontscancontain
more than one Code page, which can be selected from the font selection menu on most
programs.(Western=Latin1252).
7.
ViewModes
TrueTypePointsView
SelectTTpointsfromtheviewmenu.ThisisthenativeTrueTypeformatandcanonlybeused
withTrueTypecurves(seeAppendixIII).ATrueTypefontstoresglyphsasaseriesofcontours
madeofpoints–eitheroff-curve(darkbluedot/lightbluedotwhenselected)oron-curve(white
circle/lightbluesquarewhenselected).
Thegrayarrowbetweenpointoneandpointtwooneach
contourindicatesthecontourdirection(seeAppendixII
regardingcorrectcontourdirection).
Pointonemustalwaysbeanon-curvepoint.
Usingon-curveandoff-curvepointsisthecorrect
representationofaTrueTypeglyph,butitisnot
necessarilytheeasiestwaytodesignglyphs.
Off-curve points
On-curve points
NodesView
Selectnodesfromtheviewmenu.Anotherwaytorepresentaglyphisbyusingnodes(white
circle/lightbluesquarewhenselected)whicharealwayson-curve,andcontrolpoints(lightblue
dot)whicharealwaysoff-curve.Thelightbluelinebetweenthecontrolpointandthenodeisat
tangenttothecurve.Movethepositionofthecontrolpointstochangetheshapeofthecurve.*
Corner curve
Smooth curve
Symmetric curve
Straight corner
Cornercurveshavecontrolpointsthatcanbemovedindependantly(unlinked).Smoothand
symmetriccurveshavelinkedcontolpointsthatarealwaysinlinewiththenode.Straightlinesdo
nothaveanycontrolpoints.
Usethepointmenu(orrightclick)tochangethetypeofcurve.
* Other font editors only allow this type of editing with PostScript curves – Type 3.2 also allows you to
edit TrueType curves in this manner, but limits are imposed to restrict the outline to a TrueType curve.
Becauseoftheselimits,thecontrolsmaynotbehaveasyoumayexpectwheneditingTrueTypecurves
inthismode-nodesotherthantheoneyouaremoving,mayalsomove,forexample.
8.
TheToolbox
Selecttool(F1)*
Pen(F2)
Cornercurve(F3)
Smoothcurve(F4)
Straightcorner/
On-curve(F5)
Off-curve(F6)
Freehand(F7)
Knife(F8)
*The keyboard shortcut keys for the Toolbox
arethefunctionkeysF1-F10.
Glue(Shift-F1)
Line(Shift-F2)
Rectangle(Shift-F3)
Ellipse(Shift-F4)
Ruler(Shift-F5)
Rotate(Shift-F6)
Stretch(Shift-F7)
Skew(Shift-F8)
Touch-up(Shift-F9)
Stroke(Shift-F10)
Thetoolboxcontainsthetoolsthatyou
willneedforcreatinganddrawingglyphs.
Usingdifferenttools,youcanmovepoints
andcontours,drawandmanipulatelines
andcurves,createshapes,andmeasure
distances.
TheSelectTool
Youcanusetheselecttooltohighlightandmovepointsaround.
Dragarectangleoverpointsornodestoselectmultiplepoints.
Pressingshiftatthesametimeallowsyoutoselectmorepoints,
eitherbydrawinganotherrectangle,orbyclickingonindividual
points.Pressingctrlatthesametimeasselectingpointswill
selecttheentirecontour.
Multiplepointselectionallowsyoutomovemanypoints
(moveoneoftheselectedsquarestomoveallofthem,orusethecursorkeys),perform
transformations(seebelow)andallowsothercontouroperationsusingthecontourmenu.
Selectingapointbyclickingonitallowsyoutomoveasinglepoint,andgivesyouaccesstothe
optionsonthepointsmenu–eitherfromthemainmenuorbyclickingtherightmousebutton.
Ifyouareinnodesviewmodethenwhenyouselectanode,thecontrolpointsbelongingtothat
nodewillbedisplayed.Thecontrolpoints(lightbluedots)controlthecurve-clickanddragthem
toaltertheshapeofthecurve.Controlpointscanberemovedbydraggingthemintothenode,
andthenreleasingthemousebutton(PostScriptcurvesonly).Clickingonanodewhilepressing
shiftallowsanewcontrolpointtobedraggedoutofthenode(PostScriptcurvesonly).
When editing a glyph with TrueType curves, moving a conrol point may also affect neighboring
nodes.PostScriptcurvesdonothavethislimitation.
9.
TheToolbox(continued)
ThePenTool
Thepentoolwilldrawsmoothcurves.Leftmouseclicktoaddanode,anddragthemouse
beforeyoureleasethebuttontoextendthecontrolpoints.Thecurveswillbesymmetricabout
thenode.Iftheshiftkeyispressedthenthecontrolpointswillnolongerbelinked,andyouwill
beabletoformsmoothorcornercurves.
IfyouareeditingaglyphwithTrueTypecurves,thenwhenyoureleasethebuttonthecurvewill
converttoaTrueTypecurve(withadditionalnodes).
TheNodeandPointsTools
Thesefourtoolsworkasfollows:
•
Ifnopointornodeiscurrentlyselected,clickingwillstarta
newcontour.
•
Ifthelastpointornodeonacontourisselected,thenclicking
willaddanodeorpointtothecurrentcontour.
•
Clickingonthefirstpointornodeofacontourwillclose
thecontour.
•
Ifthemousepointerisoveracurveorline,thenasmallbox
willappearnexttothemousepointerindicatingthatclicking
willinsertanewpointornodeinthemiddleofthecontour.
Thecornertoolandcurvetoolallowyoutoadjustthedegreeof
curve.Ifyoumovethemousebeforeyoureleasethebutton,you
canchangethepositionofthecontrolpoints.
Theoff-curvetoolfunctionsonlywheneditingaglyphwith
TrueTypecurves.
Pointsandnodescanbepreciselypositionedbyusing
propertiesfromthepointsmenu(orrightclick,proporties).
FreehandDrawingTool
Youcandrawfreehandusingthefreehandtool.Whenthemousebuttonisreleased,theshape
drawnwillbeconvertedtonodesandcontours.Drawslowlyforbestresults.Youcanalsopair
thiswiththestroketooltoadd‘thickness’tounclosedcontoursthatyoudraw.
10.
TheToolbox(continued)
TheKnifeTool
Theknifetoolcanbeusedto‘chop’contoursinhalf–draw
alinethroughthecontourswhereyouwanttomakethecut.
Pressingthectrlbuttonatthesametimewillinsertnodes,
butwillnotcutthecontour.
Thistoolisusefulforremovingoverlappingcontoursthatmay
occurwhenaglyphhasbeenover-thickenedwiththestroking
tool.Cuttheoverlapwiththeknifetool,thenjointheremaining
endswiththetouch-up:connecttool:
TheGlueTool
Usethegluetooltojoincontourstogether.Clickonanode,thendragtoanodeonanother
contour.Releasethemousebutton,andthetwocontourswillbejoined.Bewarethatcontour
directionisimportanthere,andthatthedirectionofthecontoursremainsunaltered.
(Tochangethedirectionofacontour,usereversefromthecontourmenu).
1
2
3
Pressingthectrlbuttonatthesametimewillallowyoutogluethelastnodeofanopencontour
tothefirstnodeofanotheropencountourusingaconnectingline,withoutmoving
eithercontour.
11.
TheToolbox(continued)
TheRuler
Therulertoolcanbeusedtomeasuredistances.Clickatthestartposition(ornode)anddragto
theendposition(ornode).Variousmeasurementswillappearinthestatusbar:
(1627,665)
r
dy
(481,201)
dx
Rotation,TransformationandStrokeTools
Thethreeoftransformationtoolsandthestroketoolallworkinasimilarway.
Therearetwooptions:
1.Visuallytransformusingmousecontrol
Leftclickattheorigin*forthetransformation,movethe
mouseuntiltheselectedpointsareinthecorrectposition,
thenreleasethemousebutton.
2.Precisekeyboardinput
Rightclickattheorigin,thenentertheexactparameters.
Inbothcases,theoriginwillbemarkedbyayellowcross.
• Onlyselectedpoints(orselectedcontoursforthestroketool)willbealtered.
• Ifnopointsareselected,thenthewholeglyphwillbetransformed.
• Thereisalimittohowmuchacompositeglyphscanbetransformedandthestroketool
cannotbeusedoncompositeglyphs(usethedecomposebuttonfirst).
• AfterusingthestroketooltheglyphwillbeconvertedtoPostScriptcurves.
*Nooriginisrequiredforthestroketool,soitdoesnotmatterwhereyouclick.
12.
TheToolbox(continued)
DrawingLinesandShapes
Lines, rectangles and ellipses (or circles) are easy to draw by using the line tool, the rectangle
tool and the ellipse tool. Click on the start position and release the mouse button at the end
position.
•
If a line starts at the end ofacontour,itwillbejoinedtothatcontour,andifitendsatthe
beginningofacontour,thecontourwillclose.
TheTouch-upTools
Thetouch-uptoolsareone-offoperationsperformedonagroup,or
groupsofselectedpointsornodes.Thecurrenttoolcanbechanged
byrightclickingonthetouch-uptoolbuttonandselectinganewtool.
Smoothtool
Thistoolcanbeusedtocreatesmoothcurvesbetweenpoints.Itis
usefulforsmoothingcurvescreatedusingthefreehandtoolor
graphicsthathavebeenautotraced.
• AfterusingthesmoothtooltheglyphwillbeconvertedtoPostScriptcurves.
Straightentool
Thistoolwillremovecurvesfromtheselectedpoints:
• Ifinnodesviewmode,thenthecontrolpointswillberemovedfromselectednodes.
• IfinTTpointsmode,thenthisoperationwillconvertanyselectedoff-curvepointstoon-
curvepoints.
Connecttool
Thistoolwillconnectselectedpointsiftheyareincloseproximitytoeachother.Itisusedto
closeorconnectcontours–similartothegluetool–butallowsjoiningwithoutmovingcontours
orinsertingextrapaths.
• Oneofthepointsmustbethefirstnodeofacontourandtheotherpointmustbethelast
nodeofthesameoradifferentcontour.
Thepointstobejoinedmustbeincloseproximity(severalpixels).
13.
TheMappingWindow
Menu button
MappingWindowModes
Themappingwindowmodebuttonwillsequence
throughthedifferentmodesavailable.Youcanalso
changethemappingmodeusingpreferencesfrom
theviewmenu.Themodesavailableare:
1-CodePages(charactersets)
2-UnicodeScripts(arangeofunicodevalues)
3-GlyphList(allmappedandunmappedglyphs)
ortheglyphscontainedinanexternalfont
Userangeselecttoselectwhichcharactersaredisplayed,
andtherangeactiveboxtoindicatewhichrangesare
usedinyourfont.TomakeaWesterncharactersetfont,
forexample,selectthe1252Latin1pagerange,and
mapglyphstothesecharacters,thenchecktherange
activebox.
Range select
Range active
Mapped
characters
Unmapped
characters
MappingGlyphs
Modes1and2allowglyphstobemappedtounicodecharacters(uni0000touniFFFF).Ifthe
newglyphbuttonwasusedtocreatetheglyph,thenitwillneedtobemapped:
Tomapthecurrentglyph(theglyphintheeditwindow)toacharacter,selectthecharacterinthe
mappingwindow(itwillbecomehighlightedblue),thenpressthemapbutton.Asingleglyphis
normallymappedtoasinglecharacter,butmaybemappedtomultiplecharacters.
Multipleglyphscanbemappedtomultiplecharactersinoneoperation.Selectthefirstcharacter
tobemapped,then,whilepressingshiftorctrl,selectthelastcharacter.Thewholerangeof
characterswillbehighlightedblue.If,forexample,glyph#10isthecurrentglyph,thenitwillbe
mappedtothefirstcharacter,glyph#11willbemappedtothesecondcharacter,etc,whenthe
mapbuttonispressed.
Modes3(glyphlist)allowglyphstobemappedtoallunicodecharacters,includingcharactersin
thesupplementaryplanes(uni10000touni10FFFF).Selectaglyphorrangeofglyphsinthe
mappingwindow,thenpressthemapbutton.Apromptwillappear.Entertheunicodecode
point(inhexadecimalformat)thatyouwanttomaptheglyph(orfirstglyphintherange)to.
14.
TheMappingWindow(continued)
MappingMenu-Bookmarks
Pressthemenubuttonwillaccesstothemappingmenu.Hereyoucanaddor
removebookmarkbuttons.Abookmarkwillallowyoutoeasilyreturntoaspecific
positioninascript,codepageorglyphlist.Bookmarkbuttonswillbedisplayedin
themaintoolbar.Toremoveabookmarkbutton,pressthebookmarkbutton,then
selectremovebookmarkfromthemappingmenu.
MappingMenu-ExternalFonts
Useaddexternalfontfromthemappingmenutolistan
external.gfsfontfile(partialorcomplete-seenextsection)
inthemappingwindow.Selectaglyphorrangeofglyphs,then
rightclickontheselectiontotransferthemtotheworkingfont.
Thenextsection(GlyphData-.gfsfiles)explainstheoptions
availablefortransfer.
Resizing
Someglyphs(compositeglyphsorglyphsofsomenonlatin
alphabets)maynotfitintothedefaultrowsizeofthemapping
window.Toresizetherows:
1-Makesureenablerowresizingischeckedinpreferences.
2-Selectarowinthemappingwindow(highlightedblue).
3-Widenthecharacterspacebyclickinganddraggingwhere
thetextmarginislocated.
4-Increasetheheightofthecharacterspacingbydraggingthe
baseofthehighlightedcell.
SymbolFonts
Asymbolfontisaspecialtypeoffontnormallycontainingpictorialtypeglyphs.Symbolfont
glyphsaremappedtounicodeF020toF0FF(correspondingtoASCIIcharacters20toFF).
Tocreateasymbolfont,mapglyphstothecharactersintheSymbolCharacterSetCodePage
andsettoactive.NOTE:SettingtheSymbolCharacterSettoactivewilloverideanyotheractive
CodePages,andonlycharactersF020-F0FFwillbemappedintheoutputfont.
15.
GlyphData-.gfsFiles
Type3.2supportsit’sownfontdatafile(.gfs).A.gfsfilecancontainarangeofglyphs(apartial
fontfile)ortheentirefontincludingallsupportingtablesandinformation(completefontfile).
SavingEverythingasa.gfsFont
Youcanusesave.gfsdatafromthefilemenutosaveeverythingas.gfsfont.Theentirefont
willbesaved,includingmapping,metrics,composites,kerningandothertables.Thisfilecanbe
re-openedatalatertimeusingopen.gfsdatafromthefilemenu.Thisisthebestwaytosavea
fontduringdevelopmentandasabackup-especiallywithverylargefonts.
•
Keepaworkingcopyofyourentirefontin.gfsformat,thenexportyourfinalfontto.ttfor
.otfwhenrequired.
CopyingGlyphsBetweenFonts
Youcanusesave.gfsdatafromthefilemenutosavearangeofglyphstoa.gfsfile.Youcan
thenaddtheseglyphstoanotherfontusingtheadd.gfsdataoption.Theglyphswillbeadded
attheendoftheworkingfont.
•
Whenaddingglyphsfromapartialfontfile,compositeglyphsandmappinginformationwill
notbetransferred.
Theadd.gfsdata/open.gfsdataoptionworksasfollows:
•
Ifafontisopen,thenType3.2willappendapartialfontfiletotheendofyourfont.
•
Ifthereisnofontcurrentlyopen,thenType3.2willallowyoutoopenacompletefontfile.
TransferringGlyphsfromanExternalFont
Externalfontsthathavebeenloadedintothemappingwindowforviewing(seeprevioussection)
canbetransferredtotheworkingfont.Mappingcanalsobetransferred.Theoptionsare:
copytoclipboard:Thefirstselectedglyphwillbecopiedtotheclipboard.
transfer:Therangeofglyphsselectedwillbeaddedtotheendoftheworkingfont.
transferandmap*:Glyphswillbetransferredandmapped.Iftheworkingfonthasaglyph
alreadymappedtothesamecharacter,thenthatglyphwillbereplacedwithaglyphfromthe
externalfont,otherwisethetransferredglyphswillbeaddedtotheendoftheworkingfont.
transferandmerge*:Sameastransferandmap-butexistingglyphsaremerged,notreplaced.
Anactionscriptmayberequiredtoscaletransferredglyphstoasizetomatchtheworkingfont.
*Theseoptionsareonlyavailablewhenusing.gfsfilesthathavebeencreatedusingType3.1orlater.
16.
FontParameters
AnOpenTypefontcontainsawholelotofinformation–names,fontdescriptions,parametersand
metricsspecifictoyourfont.Type3.2allowsyoutosetandchangemostofthese.
Ifyouarenewtofontdesign,andarecreatingabasicfont,thenyoucankeepthedefaultvalues
andusetheautomaticsettings.SeeAppendixIIforabetterunderstandingofvarious
parameters.
Names
Whenyoucreateanewfont,youarepromptedforcertainnameinformation.Thisinformationis
forthedefaultlanguage–English(US).Yourfontcancontainnameinformationforother
languagestoo.Usethenamesfromthefontmenutoaddmoreentriestothenamestable.
Selectthelanguageatthebottomofthewindowandchecktheboxtothelefttomakethe
languageactive.Blankfieldswillnotbelistedinthenamestable.IfaEnglish(US)boxis
checked,thentheEnglish(US)stringwillbeduplicatedinthatnamestablelisting.
Theadvancedbuttonallowsyoutoentervariousothernames.Themostimportantonesare:
UniqueID[3]andPostScriptname[6].Ifyouchangethenameofyourfontthenyoumust
changethesealso–orblankthemout.Ifthesefieldsareinvalidorblank,thenType3.2will
generatevalidnameswhenyousavethefont.
ForanordinaryLatinfont,nameinformation
wouldnormallyonlyenteredforEnglish(US)
andMacintosh(Roman)languages(thesetwo
mustalwaysbepresent).*
Namestringssupportunicode,soyoucanpaste
unicodecharactersintothenamingwindow
inputboxes.
*MostnonLatinfontsactuallyonlyhaveenteries
forEnglish(US)andMacintosh(Roman).
17.
FontParameters(continued)
FontMetrics
Usemetricsfromthefontmenutosetyourfont’smetrics.Theseparametersarecertain
measurementsspecifictoyourfont.Someoftheseareselfexplanatorylikeunderlinethickness
anditalicangle.Themostimportantonestounderstandare:
EMUnitsize:
WinAscent:
WinDescent:
Capsheight:
‘x’height:
Usuallysetto2048(TrueTypeorOpenTypeTT),or1000(OpenTypePS).
Thisisusedtocalculatethepointsizewhenthefontisdisplayed.
top(anythingabovethismaybeclipped)
bottom(anythingbelowthismaybeclipped)
uppercasecharacterheight
lowercasecharacterheight(heightofalowercase‘x’)
Ifyouhavecheckedtheoptionshowhorizontalmarkers(usingparametersfromtheview
menu)thenthelastfourparametersabovewillbevisibleinthemaineditwindowas
horizontallines.
FontDescription
Usedescriptionfromthefontmenutosettheparametersthatdescribethefont:weight,width,
versionnumber,italic,boldandmono-spaced.IfyousetthefonttoMono-spacedthenthe
advancewidthofallglyphs(exceptglyphnumber1-whichmusthaveanadvancedwidth
ofzero),willbeconstant.AdvanceddescriptionparameterscanonlybealteredusingType3.2
fullversion.
18.
CompositeGlyphs
Acompositeglyphhasnocontoursorpointsofitsown,butismadeupofotherglyphs.
Creatingacompositeglyphisassimpleascopyingthecomponentglyphsintoablankglyph.
Thecompositeisdisplayedasablueoutline,andalthoughyoucanmoveandtransformthe
components(asifyouweremanipulatingcontours)youcannotmoveindividualpointsunless
youfirstdecomposetheglyph.Thedecomposebuttonissixthfromtheleftonthetoolbar.
GlyphscanbestoredascompositesinaTrueTypefont(.ttf),butforanOpenTypePostScript
font(.otf)theglyphswillbenotstoredascomposites–theywillbedecomposed.(Saveacopy
asa.gfsfileifyouwanttoaltertheglyphsascompositesatalatertime).
CopyandPasteFunctions
• Usecopyglyphfromtheeditmenutocopytheentirecurrentglyphtotheclipboard.
• Userightclickcopyglyphfromthemappingwindow(glyphlistmodeonly)tocopythe
selectedglyphtotheclipboard.
• Usecopyfromtheeditmenutocopyonlytheselectedpointstotheclipboard.
• WhenthedestinationglyphisintheGlyphWindow,usepastefromtheeditmenu.When
copyingglyphsintoablankglyph,acompositeglyphwillbecreated.Pressthedecompose
buttonifyoudon’twantthis.
• ThepastemetricsoptionfromtheeditmenupastesonlytheLeftSideBearingandAdvance
Widthfromtheclipboard.
AutomaticCompositeGlyphCreation
Thecompositeglyphwizardcanbeusedtogeneratecharacterswithdiacritics(egaccented
Latincharacters).Therearethreein-builtrangesofglyphsthatcanbegenerated,andmorecan
beuserdefined.SeeAppendixVIIIfordetails.Thein-builtrangesare:
• ANSI–generatesaccentedcharacterspresentinthe1252Latin1codepage.
• AllLatin–createsaccentedcharacterspresentintheLatinUnicodeunicodescript(0000-024F).
• GreekExtended*–generatesallcharactersintheGreekExtendedunicodescript(1F00-1FFF)
Tousethecompositewizard:
1. Makesureyouhaveallofthecomponentspresent.Pressthedetailsbuttonfordetails.For
theLatinrangestheuppercaseletters,lowercaselettersandmodifierscontainedinthePage
Rangecalledmodifiers(auto)arerequired.
2. Usecompositewizardfromtheglyphmenutocreatetheglyphsandmapping.
*TheGreekExtendedrangeisanexampleofuser-definedgeneration,andcanbeedited(AppendixVIII),
theothertworangesarehard-codedintoType3.2.
19.
CompositeGlyphs(continued)
When the wizard is complete, a report is displayed showing the number of glyphs created, the
number of glyphs already present, and the numberofglyphsthatwerenotabletobecreated.
Thewizardcanberunagainafteraddingextraglyphs,ifyoufindthatsomerequiredglyphswere
missingthefirsttime.
The composite glyph wizard will attempt to place the diacritics in the correct position, but
becauseofvariationsinfontstylesthisoperationcannotbeentirelyautomatic.Allthegenerated
glyphsshouldbevisuallycheckedandmanualpositionmodificationsmadeifrequired.
ThecharactersthataregeneratedbytheANSIwizardare:
ŽZcaron
ËEdieresis
ÝYacute
ïidieresis
šscaron
ÌIgrave
àagrave
ñntilde
žzcaron
ÍIacute
áaacute
òograve
ŸYdieresis
ÎIcircumflex
âacircumflex
óoacute
ŠScaron
ÏIdieresis
ãatilde
ôocircumflex
ÀAgrave
ÑNtilde
äadieresis
õotilde
ÁAacute
ÒOgrave
åaring
öodieresis
ÂAcircumflex
ÓOacute
çccedilla
ùugrave
ÃAtilde
ÔOcircumflex
èegrave
úuacute
ÄAdieresis
ÕOtilde
éeacute
ûucircumflex
ÅAring
ÖOdieresis
êecircumflex
üudieresis
ÇCcedilla
ÙUgrave
ëedieresis
ýyacute
ÈEgrave
ÚUacute
ìigrave
Ÿydieresis
ÉEacute
ÛUcircumflex
íiacute
ÊEcircumflex
ÜUdieresis
îicircumflex
20.
ImportingandTracingGraphics
Type3.2allowsglyphstobecreatedfromexistinggraphicsfiles.Vectorgraphics(.svg)canbe
importeddirectly.Rastergraphics(.jpg,.gif,.png,.bmp,.tifetc)havetobeconvertedtocontours
(traced),eitherbyauto-tracingormanualtracing.
AutoTracing(NEWtoversion3.2)
Selecttracegraphic,fromtheglyphmenu,
orpressthetracegraphicbuttononthe
toolbar.Thetracegraphicwizardwillopen.
1.Presstheloadgraphicbuttontoopenagraphics
file.Allcommongraphicsfiletypesareaccepted(.jpg,
.gif,.png,.tif,.bmpetc).
2.Ifyoudonotwanttotracetheentireimage,
thendrawacropregionwhilepressingtheleft
mousebutton.
3.Selectthedesiredoutputsizeforthetracefromthe
dropdownmenu.
4.Pressnext.Movetheslidertosettheblack/white
threshold.
5.Pressnext.Selectthetracingparameterstoobtaina
goodtracepreview.Thetopsliderwillcontrolhow
manynodesareused.Trytominimizethenumberof
nodes,whilemaintainingthecorrectshape.Usethe
despecklesliderifyouneedtoremovesmalldotsor
’noise’fromtheimage.
6.Presstraceatanytimetotracetheimage.
21.
ManualTracing
Byinsertingagraphicasabackgroundimageintheedit
window,drawingtoolscanbeusedtodrawoutlinesaround
theimage.Selectbackgroundimagefromtheviewmenu,
theninsert.
Tochangethebackgroundimagesizeandpositiondouble
clickontheimage,orusetherepositionoption.Clickand
dragthebluecornersquarestoresizeandthecentersquare
tomove.Presspage-upandpage-downtoalterthe
black/whitethreshold.
Doubleclickordeselectrepositionwhenthebackground
imageisinplace,andtheblack/whitethresholdiscorrect.
ImportingVectorGraphics
VectorgraphicscreatedwithvectordrawingapplicationssuchasAdobeIllustrator,SerifDrawPlus,
CorelDRAWorInkscape,canbeimportedintoType3.2.Savethevectorgraphicasan.svg
(scalablevectorgraphic)file.Createablankglyphthenuseimportvectors,fromtheglyphmenu.
Type3.2willbeabletoimportmostbezierpathsandbasicshapes.Theheightorwidthofthe
graphic(whicheverislargest)willbescaledtotheworkingfontsemunitsize(normally1000
or2048units).
22.
Actions
AnActionisasetofcommandsthatcanbeappliedtoaglyph,rangeofglyphsortheentirefont.
AsimpleexampleofanActionscriptis:
SKEWX 10
Whichwouldskewaglyph10degreesinthex-direction.IfyouappliedthisActiontoallglyphs,
thenyouwouldhavethebeginningofanitalicfont.
TorunanAction,presstherunactionbutton,orselectrunactionfromtheglobalmenu.Ifyou
wanttoapplyanActiononlytothecurrentglyph,thenyoucanpressoneoftheuser-assigned
shortcutkeys.
Ifthemappingwindowisinglyphlistmode,thenyoucanselectarangeofglyphsinthe
mappingwindowandtheywillbeenteredintotheglyphrangeoptionwhenyourunanAction.
AppendixVIcontainsafulllistofcommandsandvariablesthatcanbeusedinActionscripts.Look
atandtrytheActionsthatareinstalledwithType3.2togetanideaofhowtheywork.
Forexample,thesmallcapitalsActionscript,whichisdesignedtoscalecapitalletterstosmall
lettersize:
set F1 rsb
set F0 [100*xheight/caps]
origin 0 0 stretch F0 F0
set rsb [F1*xheight/caps]
savethecurrentrsbintheuservariableF1
calculatethescalingasapercentageandstoreitinF0
settheoriginforthetransformationatx=0,y=0
stretchbytheamountcalculatedinthexandydirections
adjustthersbbythesameproportion
ShortcutKeys
Theshortcutkeys1to7canbeassignedtoActions.Useassignshortcutkeysfromtheglobal
menu.TocreateanewAction,selectcreate/editactionsfromtheglobalmenu,thenpressnew.
EnteranameforyournewAction,thenentercommandsintheActionscriptwindow.
CompositeGlyphs-Warning
GlyphsareautomaticallydecomposedbeforeanActionisperformedbutifyourunanAction
overarangeofglyphsthentheActionmayendupbeingrunonacomponentglyphbefore
decomposing.Thiscanresultinunpredictableresults.Itisthereforeisrecommendedthatyourun
thedecomposeActionovertheentirefontbeforerunningActionsoverlargerangesofglyphs.
23.
Kerning
Certainpairsofcharacterslookbetterwithanalteredspacing
betweenthem.Yande,forexample,lookbetteriftheeismoved
closertotheY.Thisiscalledkerning.
KerningMode
Selectkerningmodefromtheviewmenu–thekerningwindowwill
appear.Uncheckshowallpairstoshowonlykerningpairsthat
beginwiththecurrentglyph.
no kerning
Ifyouarecreatinganewfont,youwillneedtoaddsomekerning
pairs.Usetheaddbuttontoaddasinglepairortoaddall
standardpairs(seeAppendixV).Thepair(s)willbeaddedwith
noinitialkerning.
Clickonapairtoalterthekerning-apositivevaluemeansthe
charactersarefurtherapart,negativeisclosertogether.Ifyouright
clickintheeditwindowthenyoucangrabtherighthandcharacter
todragitintoposition.
Beforeyousaveyourfont,makesureyouselectkerninginfont
options(seeAppendixI).Youcanalsosavekerningasan
OpenTypefeature(recommended).Seethesection-OpenType
features.
• Ashortcutwhenaddingakerningpair:doubleclickonacharacter
inthemappingwindow(fortheleft-handglyph),thensingleclick
onacharacterfortheright-handglyph.Nowpresstheadd
button,andthecorrectunicodevalueswillbeset.
• NotethatType3.2willonlyletyoukernglyphsthathavebeen
mappedtoaunicodecharacter.
• OpenTypePostScriptfonts(.otf)donotofficiallysupportkern
tablekerning(onlyOpenTypefeaturekerning).
Notallapplicationswillsupportanddisplaykerningoffonts.To
activatekerninginMicrosoftWord,selectyourtext,usefontfrom
Word’sformatmenu,thentickkerningforfontsonthecharacter
spacingtab.
24.
with kerning
Hinting
Whenafontisdisplayedatasmallpointsizeonalowresolutiondevice(egascreen),several
distortionscanoccur.Thishappensbecausetherearenotenoughpixelstoaccuratelyrepresent
therasterizedfont.Adjustments(calledhints)canimprovetheappearanceofthefontat
lowresolutions.
Hintscaneitherbeglobal(applytoallglyphswithinthefont)orcanapplytoindividualglyphs.
ThecurrentbuildofType3.2supportsglobalhintingofPostScriptfontsonly.PostScriptfonts
canalsobeauto-hinted(automaticglyph-levelhinting)withtheAdobeauto-hinter(seebelow).
Nohinting
Globalhintingonly
Globalhintingandglyph-levelauto-hinting
(magnified)
AlignmentZones
Horizontal Stem width
ApplyingglobalhintingtoaPostScriptfont
involvesaddingalignmentzones(or
BlueValues)andsettingthevaluesofthestem
widths.Alignmentzonesarezonesthatyou
wanttokeepatthesameheightwhenthe
resolutiongetsverysmall.Thesewillbeatthe
baselineandtypicallyatthetopofuppercase
andlowercasecharacters.
Intheexamplebelow,curveduppercase
characters(egO)extendslightlyhigher(and
lower)thanstraightuppercasecharacters(eg
T).Sozones(showninblue)aresetatthe
upperandlowerlimits.
Vertical Stem width
Todisplayalignmentzones,selectalignment
zonesfromthefontmenu.Agrayverticalbar
willappearontherightsideofthescreen.
Rightclickonthisbartoadd,editanddelete
alignmentzonesandtosetstemvalues.
• Thefirstalignmentzoneaddedmustbethebaselinezone.
• Zonescannotoverlap.
• Uptosixzonesaboveandfivezonesbelow the baseline zone are allowed.
25.
Hinting(continued)
Auto-Hinting
TheAdobeFontDevelopmentKitforOpenType(AFDKO)includesanauto-hinterthatworks
withOpenTypePostScriptfonts.TheAFDKOisafreedownload,availablehere:
www.adobe.com/devnet/opentype/afdko
Itisacommandlinetool,whichcanbeusedinit’ssimplestformwiththecommand:
autohint –a
myfont.otf
Globalhinting(alignmentzonesandstemwidths–seeabove)needtobeaddedtothefont
beforetheauto-hintercanberun.Enteratleastonehorizontalandoneverticalstemwidth(the
standardstemwidths).
ttfautohintisaproject(basedontheFreeTypefontlibrary)forauto-hintingTrueTypefonts.
AfreewindowsGUIorcommandlineversioncanbedownloadedhere:
www.freetype.org/ttfautohint/#download
Gasp(Grayscale)Hinting
GasphintingallowsyoutospecifytherasterizationtechniqueforaTrueTypefontwhenitis
renderedongrayscale-capabledevicesatdifferentsizes.
AtypicalGasptablecouldbe:
Fontsize^ ppem<=8
9<=ppem<=19
20<=ppem Rasterizationtechnique
grayscaleonly*
gridfitonly** gridfitandgrayscale
Select gasp hinting from the font menu. Enter 8inthemaxppembox,selectgrayscaleinthe
smoothing selection, then press add. Enter 19 in the max ppem box, select gridfit in the
smoothing selection, then press add. Enter 65535 in the max ppem box, select grayscale &
gridfit in the smoothing selection, then press add (always enter 65535 as the max ppem for
thelastentry).
^ppem=pixelsperem.Emfora72pointfontis1inch(1pt=1/72thinch).
Soa72ptfontrenderedona96dpi(dotsperinch)monitoris96ppem.
(Soitfollowsthat8ppemwouldbe6ptona96dpimonitor).
*Noteforyourcomputermustalsohavefontsmoothingactivatedforgrayscalerendering.
**GridfitmeansuseTrueTypehintinginstructions(theymustbepresentinthefont).
26.
OpenTypeFeatures
OpenTypeLayoutFeatures
Someapplicationsallowyoutoturnonanoffadvancedtypographicfeatures,suchasligatures,
smallcapsandoldstylefiguresbyapplyingformattingtothetext.Thefeaturesmustbe
containedinthefontasOpenTypelayoutfeatures.Seebelowforalistofapplicationsthat
supportthistypeoftextformatting.
OpenTypefeaturesupportinType3.2isnotcomprehensive,butsupportssomeofthemost
commonfeaturestypes.SeveralOpenTypefeaturefilesareinstalledwithType3.2,andothers
canbewrittenbytheuser.ThesyntaxofType3.2featurefiles(.feax)issimilarinformAdobe
OpenTypefeaturefiles(.fea),butwithareducedsetofcommandsandsomeothersyntax
differences(AppendixVIIfordetailsabouthowtowriteyourownOpenTypefeaturesfiles).
ApplyingOpenTypefeatures
SelectOpentypefeaturesfromthefontmenu.You
willseealistoffeaturesthatarecurrentlyinstalled.
Selectafeature(smallcapitalsforexample)then
pressdetails.Thecontentsofthesmall
capitals.feaxfilewillbedisplayed.
Theline:sub[a-z]by[A.sc-Z.sc];
meansthatwhensmallcapitalsareappliedtothe
font,thelowercaselettersa-zwillbereplacedby
glyphsnamedA.sc–Z.sc.Forthisfeaturetowork,
yourfontmustcontainthesubstitutionglyphs
namedA.sc–Z.sc.(Seethenextsectionforan
exampleofhowtocreatetheseglyphs).
Assumingthattherequiredglyphsarepresent(ifsomearemissingthenonlytheonesthatare
presentwillbefunctional):
1.Selecttheinsertselectedfeaturesbutton.
2.Activatethecheckboxsmallcapitals.
3.SelectfontoptionsfromthefontmenuandactivatetheretainOpenTypecheckbox.
ThesmallcapitalsOpenTypesubstitutionfeaturewillnowbesavedwiththefont.
•
OpenTypekerningfeaturerequiresthatyougeneratekerningpairs(seethesectionkerning).
ItisrecommendedthatyousavekerningasakerntableandasanOpenTypefeatureto
maximizethechancethatanapplicationcansupportkerningwithyourfont.
27.
OpenTypeFeatures(continued)
•
WhenusingtheDemoversionofType3.2,bearinmindthatonlythefirst50glyphswill
besaved.Anysubstitutionglyphsafterglyph50willnotbepresentinthesavedfont.
•
Type3.2allowsyoutoeitheraddnewOpenTypefeaturesortoretainfeaturesalready
presentinthefont.Youcannoteditthefeaturesalreadypresentinafont.
Example–Generatingthe‘SmallCapitals’Glyphs
ThisexampleshowshowyoucanusevariousfeaturesofType3.2togeneratethesmallcapitals
OpenTypefeature:
1. Switchthemappingwindowtoglyphlistview
2. SelecttheglyphsA-Z.,rightclickandselectduplicate
3. GototheendoftheglyphlistandselectthecopiesofglyphsA-Zthathavebeengenerated.
4. RightclickandselectPostScriptname.EnterA.sc.TheglyphswillnowbenamedA.sc–Z.sc.
5. Keepthesameglyphsselected,anduserunactionfromtheglobalmenu.Selectthesmall
capitalsAction.Selectglyphrange(shouldbeyourselectedglyphs)andruntheAction.
YounowhavetherequiredglyphsforthesmallcapitalsOpenTypefeature-ofcourseyoucan
alterthesubstitutionglyphstosuityourfont–theActionisjustastartingpoint.Youmightwant
boldthemslightlyforexample,tomatchtheweightoftheotherglyphsinthefont.
ApplicationsthatSupportOpenTypeFeatures
Opentypefeaturesaresupportedinfollowingcommercialapplications:
AdobeInDesign
AdobePhotoshop
AdobeIllustrator
QuarkXPress
MSWord2007(onlyOpenTypekerningisrecognized)
MSWord2010willsupportsomeadditionalOpenTypefeatures
ClassicalTextEditor(www.oeaw.ac.at/kvk/cte)developedattheAustrianAcademyof
SciencesisawordprocessorthatsupportsOpenTypefeatures.Afreetrialversionisavailable.
TherearesomefreeapplicationsthatcanbeusedtoviewandtestyourOpenTypefeatures:
TrueTypeViewer(http://home.kabelfoon.nl/~slam/fonts/truetypeviewer.html)isausefultool
forviewingOpenTypefeaturesinaction.(OpenTypeTrueTypefontsonly).
Firefox3supportsviewingofOpenTypekerningandligatures.
28.
AppendixI-FontOptions
OpenTypeTables
Type3.2createsTrueTypeandOpenTypeTTfonts(.ttf)withthesetables:
OS/2
hhea
name
cmap
hmtx
post
glyf
loca
head
map
OpenTypePSfonts(.otf)willhavetheabovetables,buttheCFFtablereplacestheglyftable.
Wheneditingafont,thefollowingtablescanbeincludedifpresentintheoriginalfile,or,inthe
caseoftheGasptable,ifithasbeencreatedbytheuser:
prep
cvt
LTSH
fpgm
EBDT
EBLC
EBSC
vhea
vmtx
hdmx*
kern
gasp
PCLT**
VDMX
BASE
GDEF
GPOS
GSUB
JSTF
If’Hinting’retained^.
If’Bitmaps’retained.
If’Verticalmetrics’retained.
Selectindividually.
If‘OpenType’retained***.
^ThesetablesforTTfontsonly.ForPSfontsthehintingoptionwillcontrolglyphlevelhintingonly.
*Ifyouhaveeditedanyglyphs,thenthehdmx(horizontalmetrics)tablemaynolongerbeaccurate–itisthen
recommendedthatyoudonotretainit.VDMXandhdmxtablescanbere-createdusingafreetoolfromMicrosoft
calledCacheTT.(www.microsoft.com/typography/tools/tools.aspx)
**Ifyouhavechangedthefontsdescription,thenthePCLTtablemaynolongerbeaccurate-itisthenrecommended
thatyoudonotretainit.ThePCLTtableisstronglydiscouragedforusewithOpenTypefonts.
***FontssavedasOpenTypewillalsobegivenanemptyDSIGtable,ThisistogivethefonttheOpenTypeiconon
WindowsXP.Theoriginaldigitalsignature(ifany)willnotberetained,asitisnolongervalidforaneditedfont.
29.
AppendixII-FontBasics
ABitofHistory
TrueTypewasoriginallydevelopedbyAppleinthelate80’s,afterApple&Microsoftrejected
aproposalbyAdobetouseAdobeType1(PostScript)fontsfortheiroperatingsystems.
ThroughadealwithApple,TrueTypewasadoptedbyMicrosoftin1992,fortheirWindows3.1
operatingsystem.
AdobejoinedforceswithMicrosoftin1996tocombinetheirtechnologiesandproduce
OpenType,whichsupportsbothTrueTypeandPostScriptformats.Adobefinishedconvertingits
entirefontlibrarytoOpenType(PostScript)fontsin2002withtheintentionthatAdobeType1
fonts(seeAppendixIII)eventuallybephasedout.
Glyphs(TrueType)
TheoutlinesofaTrueTypeglypharedefinedbycontours.Contoursaredefinedbypoints.
Pointsofacontourareeitheron-curve(definingstraightlines)oroff-curve(definingatypeof
curvecalledaquadraticspline).Thefirstpointonacontour(pointzero)mustalwaysbean
on-curvepoint.SeeAppendixIIIformoredetails.
Points incrementing clockwise
Points
incrementing
anti-clockwise
Thefilled-inareaofaTrueTypeglyphisalwayson
theright-handsideofthecontour.So,forthe
letter‘o’here,thepointsformingtheoutside
contourwillincrementclockwise,andthepoints
formingtheinnercontourwillincrementanticlockwise.
(NotethattechnicallyPostScriptcurvesshouldbe
intheoppositedirection-withtheoutside
contourcounterclockwise.)
Theextremesofaglyphshouldbedefinedwith
on-curvepoints.
LSB
RSB
GlyphMetrics
Certainmetricsdefinethehorizontaldimensionsofaglyph.These
can be set using glyph metrics from the glyph menu, or by
draggingthetopoftheredandgreenverticalmarkers.
The Advance Width (AW), Left Side Bearing (LSB) andRightSide
Bearing(RSB)determinethespacingbetweencharacters.
H
Advance Width
AW=LSB+characterwidth+RSB
30.
AppendixII(continued)
FontMetrics
CertainmetricsdefinetheverticaldimensionsofcharactersinanOpenTypefont:
x b p H
ASCENDER: DESCENDER:
CAPSHEIGHT:
‘x’HEIGHT: BASELINE: Ascender
Caps height
‘x’ height
Baseline
Descender
Heightofascender(usuallyheightof‘b’)
Heightofdescender(usuallydepthof‘p’)
Heightofuppercasecharacters(defn:heightof‘H’)
Heightoflowercasecharacters(defn:heightof‘x’)
Aty=0
Donotconfusetheascenderanddescenderwithascentanddescent(calledWinAscentand
WinDescentinmetricsfromthefontmenu).Ascentanddescentdefinetheupperandlower
limitsofallglyphs–anythingoutsidetheselimitswillbeclipped.
TheEMsquaredeterminesthesizeofthefontwhenitisdisplayed.Forexample,whenthefont
isdisplayedat12points,theEMsquarewillbe12pointshigh(1point=1/72inch).
TheEMsquarewastraditionally(fromtype-settingdays)definedasthesizeofanuppercase‘M’,
buttypicallytheEMsquareencompassestheascendersanddescenderswithsomeextra
(internal)leadingaswell.
ThesizeoftheEMsquareisusuallysetat2048unitsforaTrueTypeorOpenTypeTTfont,and
usuallysetat1000unitsforOpenTypePSfonts.
StandardGlyphs
ItisstandardforaOpenTypefonttocontainmappingtotheMacintoshRomancharacterset,
evenifthefontisonlytobeusedforMicrosoftWindows.Also,tomeetApplespecifications,the
firstfourglyphsofaOpenTypeFontshouldbethese:
GLYPH#0
GLYPH#1
GLYPH#2
GLYPH#3
Usedforundefinedcharacters-normallyaboxshape
Specialglyphwithnocontours,andzerowidth
CRcharacter-nocontours,butwithadefinedwidth(mappedto0009and000D)
Thespacecharacter-nocontours,butwithadefinedwidth(mappedto0020)
Visitthetypographylinkshereformoreinformation:cr8software.net/links.html
31.
AppendixIII-PostScript,TrueTypeandOpenType
CurvesandOutlines
Outlines(thecurvesthatformcharacters)arestoredasaseriesofpoints,usingoneoftwo
methodstomathematicallydescribetheirshape.WecansaythatfontseitherhavePostScript
outlinesorTrueTypeoutlines.Thisappendixbrieflydescribesthedifferencebetweenthetwo,
andtheimplicationsforfontcreationandediting.
TypesofOutlineFonts
TrueType
extension:.ttf
TrueTypeoutlines
Type1(notsupportedbyType3.2)
extension:.pfb&.pfm
PostScriptoutlines.
OpenType(TT)
extension:.ttf
TrueTypeoutlines.ActuallyidenticaltoTrueTypefonts,
butmaycontainadditionalOpenTypeinformation.
OpenType(PS)
extension:.otf
PostScriptoutlines.EssentiallyType1fontswrappedina
TrueTypefilestructure.
Abode’sintentionisthatType1fontsbeeventuallyphasedoutandreplacedbyOpenTypePS
fonts.AdobeType1fontsarenotsupportedbyType3.2.
TrueTypeandPostScriptOutlines
Outlinesinafontaredescribedbyaseriesofpoints.Todescribeastraightline,youonlyneedto
specifytheco-ordinatesofthetwoendpoints,buttospecifyacurve,youneedsomeextrapoints
inbetween.Amathematicalequationcalledabeziercurveisused.
Fig.1ashowsacurvedescribedbytwoendpointsand
twooff-curvepoints.Thisisaquadraticbezier,or
TrueTypeoutline.
Fig.1bshowsthesamecurvewiththreenodesandtheir
controlpoints.Thisisacubicbezier,orPostScriptoutline.
32.
AppendixIII(continued)
Infact,quadraticbeziersareasubsetofcubicbeziers,soanyTrueTypecurvecanbeconverted
exactly to a PostScript one (like in Figure 1). Conversion intheotherdirectionisnotsosimple,
anditmayrequireseveralquadraticcurvestoapproximateaparticularcubicbezier.
Fig.2ashowsacircularcurverepresentedbya
PostScriptoutline.
Fig.2b,theequivalentTrueTypeoutline,requires
manymorepointsandisonlyanearapproximation
totheoriginalcurve.
SoconversionofTrueTypefontstoPostScriptonesisanexactscience(asidefromotherfactors
such as scale and hinting), but conversion of PostScript fonts to TrueType is only a close
approximation. Most commercial TrueType fonts are designed as PostScript curves, and then
convertedtoTrueType.
BecausePostScriptcurvesareasupersetofTrueType,agreaterrangeofcurvescanbedrawn
withfewerpoints,makingdesignmucheasier.Sothecubicbezier,withitsnodesandcontrol
points,isthedesignindustry’sdrawingstandard.
Basedonanarticle:cr8software.net/article004.html
33.
AppendixIV-KeyboardShortcuts
CTRL+O
CTRL+S
ALT+O
ALT+S
ARROWKEYS
+and-
Openglyphdata
Saveglyphdata
Openfontfile
Savefontfile
Movemultipleselectedpoints(useshifttomovefaster)
Magnifyandreduceglyphineditwindow
CTRL+T
CTRL+Y
CTRL+K
CTRL+I
Toggleviewmode
Togglemappingview
Togglepreviewfill
Togglebackgroundimage
CTRL+X
CTRL+C
CTRL+V
CTRL+B
Copywholeglyph
Copyselectedpoints
Paste
Pastemetricsonly
CTRL+Z
Undo
CTRL+U
CTRL+J
Glyphinformation
Importvectorgraphic
CTRL+A
CTRL+D
ESC/Enter
Selectall
Selectnone
Deselectpoint/exitrepositionbackgroundimage
CTRL+N
CTRL+M
CTRL+P
CTRL+E
Createanewglyph
Clearcurrentglyph
Point/nodeproperties
Selectcontour
CTRL+L
Editactions
User-definedactions
Changetounlinkedcornercurve
Changetosmoothcurve
Changetosymmetriccurve
1-7
8
9
0
CTRL+R
CTRL+DEL DEL CTRL+F
CTRL+G
F1-F8
SHIFT+F1-F10
Reversecontour
Deletecontour
Deleteselectedpoints
Setsizeofgrid
Show-hidegrid
Selecttools(1-8)
Selecttools(9-18)
34.
AppendixV-StandardKerningPairs
Thisisalistofkerningpairs*thatType3.2willaddwhenusingaddstandardkerningpairsfrom
thekerningwindow.
AC
AG
AO
AQ
AT
AU
AV
AW
AY
Ap
Au
Av
Aw
Ay
A”
A’
BA
AU
B,
B.
CA
C,
C.
DA
DV
DW
DY
D,
D.
FA
Fa
Fe
Fi
Fo
Fr
F,
F.
G,
G.
JA
Ja
Je
Jo
Ju
J,
J.
KO
Ke
Ko
Ku
Ky
LT
LV
LW
LY
Ly
L”
L’
NA
N,
N.
OA
OT
OV
OW
OX
OY
O,
O.
PA
Pa
Pe
Po
P,
P.
QU
Q,
Q.
RO
RT
RU
RV
RW
Ry
S,
S.
TA
TO
Ta
Te
Th
Ti
To
Tr
Tu
Tw
Ty
T:
T;
T-
T,
T.
UA
U,
VA
VG
VO
Va
Ve
Vi
Vo
Vu
V:
V;
V-
V,
V.
WA
WO
Wa
We
Wh
Wi
Wo
Wu
Wy
W:
W;
W-
W,
W.
YA
YO
YS
Ya
Ye
Yi
Yo
Yu
Y:
Y;
Y-
Y,
Y.
ab
ag
ap
at
av
aw
ay
bb
bl
bu
bv
by
b,
b.
ch
ck
cl
cy
c,
c.
dd
dv
dw
dy
eb
eg
ep
ev
ew
ex
ey
e,
e.
fa
fe
ff
fi
fl
fo
fl
f”
f’
f,
f.
ga
ge
gg
gi
go
gr
gy
g,
g.
hy
iv
ke
ko
ky
lw
ly
mu
my
nu
nv
ny
og
ov
ow
ox
oy
o,
*BasedonappendixDofAdobeTechnicalNote#5091.
35.
o.
py
p,
p.
ra
rc
rd
re
rg
ri
rk
rl
rm
rn
ro
rp
rq
rr
rs
rt
ru
rv
ry
r:
r;
r-
r,
r.
sw
s,
s.
va
ve
vo
v,
v.
wa
we
wh
wo
w,
w.
xe
ya
ye
yo
y,
y.
ze
zo
:(space)
,(space)
,”
,’
.”
.’
.(space)
“A
“‘
‘‘
‘A
”(space)
’”
’’
’d
’l
’r
’s
’t
’v
’(space)
;(space)
(space)A
(space)T
(space)V
(space)W
(space)Y
(space)“
AppendixVI-ActionCommandReference
Actionscriptsaretextfiles(.atn)containedintheMyDocuments/Type3files/actionsfolderand
consistofaseriesofcommandsenteredbytheuser.Useeditactionsfromtheglobalmenuto
createandeditActionfiles.
Allcommands(exceptforcopy,paste,selectregionanddo)canbeappliedeithertoa
wholeglyph,theselectedpointsonly(ifapplicable)ortotheglyphcontainedintheclipboard,
dependingonthelastusecommand:
commandsapplytothecurrentglyph
commandsappytotheselectedpointsoftheglyph
commandsappytotheclipboardglyph
use all
use select
use clipboard
TransformationandTranslationCommands
movetheglyphorselectedpoints
settheoriginforthefollowingtransformations
rotate
stretch
stroke(+or–dependingoncontourdirection)
skewinxdirection(italic)
skewinydirection
move xoffset yoffset
origin xposition yposition
rotate angledegrees
stretch xpercentage ypercentage
stroke units
skewx angledegrees
skewy angledegrees
Variables
set variablevalue
setthestatedvariabletoacertainvalue
Parametersinitalicsabovearevalues.Valuescanbe:
Variables:
rotate F0
Numbers:
rotate 90 Expressions: rotate [F1*F0/4] (*)
Expressionsmustbeenclosedby[]squarebrackets.Parentheses()arecannotbeusedtogroup
calculationsinexpressions.Sotoget:
F1 = (xmax-minx)/2
youneedtouseanintermediatestep:
set F0 [xmax-xmin]
Set F1 [F0/2]
36.
AppendixVI(continued)
VariableList
The following are a list of valid variables. Note that those that are font parameters, ratherthan
glyph-specific parameters, are read only (eg x-height). Glyph specific variables (eg xmin) will
relatetothecurrentglyphortheclipboardglyph,dependingonthelastusecommand.
rsb
rightsidebearing
lsb leftsidebearing
p1
redmarker
p2
greenmarker
aw
advancewidth*
xmin xvalueofleft-mostpoint**
xmax xvalueofright-mostpoint**
ymin yvalueoflowestpoint**
ymax yvalueofhighestpoint**
F0 – F9
userdefinedvariables(canonlycontainintegervalues)
gap
usedforcompositewizard
xheight x-height(readonly)
caps capsheight(readonly)
em
emunitsize(readonly)
randvalue randomnumberbetween0andvalueegrand100(readonly)
*Theadvancewidthcannotbechangedusingthesetcommandifthefontismonospaced.
**Alteringthesewillmovethewholeglyphsothattheconditionissatisfied.Egset xmin 0willmove
thewholeglyphsothattheleftmostpointliesonx=0.
OtherCommands
do “action”
load“filename.gfs”glyphindex
selectregion x1 y1 x2 y2
clear
copy
copyselect
paste
smooth straighten
reverse truetype
decompose runanotheraction
loadaglyphfromagfsfile..Canbepathandfilenameorjust
filenameifthe.gfsfileislocatedintheactionsfolder.
selectallpointscontainedinarectangularregion
clearthecurrentglyph,clipboardorselectedpoints
copythecurrentglyphtotheclipboard
copyselectedpointstotheclipboard
pastetheclipboardtothecurrentglyph(merge)
smoothwholeglyphorselectedpoints
straightenwholeglyphorselectedpoints
reversedirectionofallorselectedcontours
convertglyphtoTrueTypecurvesafterrunningaction*
decomposeglyph**
*DefaultoutputofanActionisaPostScriptglyph.UsetruetypecommandtoconverttoTrueType.
**Thedecomposecommandisredundantbecauseglyphsaredecomposedbeforerunninganyaction.
37.
AppendixVII-OpenTypeFeatureFileReference
Type3.2OpenTypefeaturefiles(.feax)arelocatedintheMyDocuments/Type3files/opentype
folder.SelectOpenTypefeaturesfromthefontmenu,thenpressviewfilestoopenthisfolder.
FilescanbeeditedusingWindowsnotepad(doubleclickingonthefilewillopenitinnotepad).
Asimpleexampleis(slashedzero.feax):
languagesystem DFLT dflt;
languagesystem latn dflt;
feature zero {
sub zero by zero.slashed;
} zero;
Intheaboveexample,whenthefeaturetagcalledzeroisactivated,thezerocharacterwillbe
replacedbytheglyphnamedzero.slashed(zerowithaslashthroughit).Thisfeatureappliesfor
thespecifiedscript(latn-latin)andlanguage(dflt–default).Usinglanguagesystem DFLT dflt
asthefirstentry(recommended)alsomeansthatthefeaturewillapplyifnolanguage/script
matchisfound.
Each.feaxfilecancontainmorethanonefeatureblock(feature <tag>{...})-seemixing
lookuptypesbelow-buteachblockmustbeforthesamefeaturetag(thisdiffersfromAdobe
featurefiles).
LookupTypes
Type3.2supportsthefollowinglookuptypes:
Singlesubstitution
Multiplesubstitution
Alternatesubstitution
Ligaturesubstitution
Singleadjustmentpositioning
Pairadjustmentpositioning
sub
sub
sub
sub
pos
pos
A
A
A
A
A
A
by B by B C D by A1 A2 A3
B by C <value> B <value>
replaceAwithB
replaceAwiththesequenceBCD
replaceAwithoneofA1A2orA3
replacethesequenceABwithC
adjustthepositionofAby<value>
forthepairABadjustthepositionofA
by<value>
*Thewordssubstitutionandpositioncanbeusedinsteadofsubandpos.
Positionadjustmentlookupsuseapositionadjustmentvalueoftheform:
< dx dy dAWx dAWy >orjustdAWx
wheredxisthexpositionadjustment,dyistheypositionadjustment,dAWxisthehorizontal
AdvanceWidthadjustmentanddAWyistheverticalAdvanceWidthadjustment.
38.
AppendixVII(continued)
Adjustmentvalueexamples:
pos A Y <0 0 –10 0>andpos A Y –10
arebothequivalent:adjusttheadvancewidthofAby–10whenitisbeforeaY(akerningpair).
pos A <0 10 0 0>
willmovetheglyphAupby10units.(y=+10)
Note:ClassesarenotsupportedbyType3.2features.
MixingLookupTypes
Afeaturecanmakeuseofmorethatonelookuptype.Eachlookuptypemusthaveaseparate
featureblock.(Type3.2featurefilesdifferfromAdobeinthisrespect).
Youcouldusethefollowing,forexample,toimplementoldstylefigures:
languagesystem DFLT dflt;
languagesystem latn dflt;
feature onum {
sub zero by zero.os;
sub one by one.os;
sub two by two.os;
} onum;
feature onum {
pos three <0 -200 0 0>
pos four <0 -200 0 0>
pos five <0 -200 0 0>
pos seven <0 -200 0 0>
pos nine <0 -200 0 0>
} onum;
Substitutionglyphsareusedtoreplace12and3withcharactersthatarelowercaseheight,but
positionadjustmentsareusedtolowerthe3457and9characterstothex-height.Theactual
valueofyadjustmentusedwilldependonthefont’smetricsanddesign–inthiscaseay
adjustmentvalueof–200isused.Thisisforexample-inpracticeyoucouldusesubstitution
glyphsforallcharactersifyoualsowanteddifferentshapesforthedroppedcharacters.
Xx0123456789(oldstylefigures–X’sforsizecomparison)
39.
AppendixVII(continued)
GDEF(GlyphDefinition)Table
You can classify certain glyphs so that certain features will not be applied to them. This glyph
classificationisstoredinaGDEFtable.Allowedclassificationsare:baseglyphs,ligatures,marks
andcomponents.
Forexampleintheligature.fea(thisdiffersfromAdobesyntax):
gdef {
baseglyphs default
ligatures f_f_i f_f_l f_i f_l;
ligatures f_f f_j f_b f_h f_k;
} gdef;
classifiesthelistedglyphsasligaturesandallothersasbaseglyphs.
Youmayhaveafeature,egsmallcapitalsthatyoudon’twantappliedtoligatures.
Usethecommandignore ligaturesasthefinalentryinthefeatureblock:
feature smcp {
sub [a-z] by [A.sc-Z.sc];
ignore ligatures;
} smcp;
For this to work, the ligatures must be applied to the text before thesmallcapitals.OpenType
featuresareappliedintheorderthattheyarelistedinOpenTypefeaturesfromthefontmenu.
Tomakesurethattheligafeatureisappliedfirst,dothis:
1. SelectOpenTypefeaturesfromthefontmenu,selectonlyligaturesthenpressOK.
2. SelectOpenTypefeaturesagain(ligawillnowbeatthetop),selectsmallcapitals.PressOK.
AdobeAFDKO
AdobeprovidesacommandlinecompilerforOpenTypefeaturefiles(.fea)aspartoftheir
AFDKO.Itisamorecomprehensive(andmorecomplex)thanType3.2:
www.adobe.com/devnet/opentype/afdko/
www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html(documentation)
40.
AppendixVIII-CompositeWizardFileReference
CompositeWizardfiles(.cwz)arelocatedintheMyDocuments/Type3files/compositesfolder.
TheyareplaintextfilesthatcanbeeditedoraddedusingWindowsNotepad.Anewinstallof
Type3.2containsonlyGreekExtended.cwz,andthiswillbeusedasanexampletoexplainthe
syntaxandoperationof.cwzfiles.
Tocreateacomposite:abaseglyph,modifierglyph,resultingglyphandapositioningflag
mustbespecifiedintheform:
1F08 = 0391 1FBF [TL]
Theunicodecharacter1F08willbegeneratedfromthebaseglyph0391andmodifierglyph
1FBF.ThemodifierwillbeplacedattheTopLeftofthebaseglyph.
Allowedpositioningflagsareshownhere.Ifno
flagisspecified,thenthedefaultpositionis
[OC] –OverCentre.
Alsoallowedare[ZL]and[ZR]whichsimply
placesthemodifierglyphtotheleftorrightofthe
baseglyphwithoutadjustingitsverticalposition.
Thedistancebetweenthemodifierandtheextremesofthebaseglyphissetbyavariablecalled
GAP.(Exceptfor[XC] whereitisthedistancebetweenthemodifierandthex-height).Thevalue
ofGAPcanbesetandchangedatanytimeusingtheSETcommand(seeAppendixVI).SETisthe
onlyActioncommandthatcanbeusedina.cwzfile.
IntheGreekExtendedexample,thefirstcommandis:SET F0 [CAPS/10]
ThissetstheuservariableF0toone-tenththeCapsHeight.Laterinthescriptthereare
commandsthatchangethevalueoftheGAPvariablebeforegeneratingothercomposites:
SET GAP F0
SET GAP [-2*F0]
SET GAP 0
Insomecasesanexistingglyphmayneedtobemappedtoanotherunicodecharacter:
1FEF = 0300
Theglyphmappedtounicode0300willnowalsobemappedtounicode1FEF.
Ifyouwantgylphstobedecomposedastheyarecreated,thecommandsDECOMPOSE ONand
DECOMPOSE OFFcanbeused.IntheGreekExtendedexample,modifiersaredecomposed.
Linesoftextthatstartwiththe#characterarecomments,andwillbedisplayedwhentheuser
pressesthedetailsbutton.Thisfunctionisusedtolisttherequiredglyphs.
41.
Copyright
LICENSEAGREEMENT
Type3.2fonteditorisCopyright©2006-2012CR8SoftwareSolutions("SoftwarePublisher").
Allrightsreserved.
ThisEndUserLicenseAgreementaccompaniestheType3.2fonteditor("Software")andappliesto
allassociatedfiles(exceptthirdpartyfontsandFreeImagelibrary),anyupgrades,documentation,
modifiedversionsorupdatesoftheSoftware.
1.USEOFTHESOFTWARE.
YoumayuseasingleinstallationoftheSoftwareproductfortheproductionoffontsforpersonalor
commercialuse.InstallationoftheSoftwareonmultiplemachinesrequiresaseperatelicenseforeach
installation.
2.COPYRIGHT.
TheSoftwareiscopyrightoftheSoftwarePublisher.Youmaynotcopy,sellorredistributethe
Software.ThisAgreementdoesnotgrantyouanyintellectualpropertyrightsinTheSoftware.
3.RESTRICTIONS.
Youagreenottomodify,adapt,translate,reverseengineer,decompile,disassembleorotherwise
attempttodiscoverthesourcecodeoftheSoftware.Youmaynotalterormodifytheinstallerprogram
orcreateanewinstallerfortheSoftware.
4.LIMITEDWARRANTY
InnoeventwilltheSoftwarePublisherbeliableforindirect,special,incidental,tort,economic,coveror
consequentialdamagesarisingoutoftheuseoforinabilitytousetheSoftware,including,without
limitation,damagesorcostsrelatingtothelossofprofits,business,goodwill,dataorcomputer
programs,evenifadvisedofthepossibilityofsuchdamages.InnocaseshalltheSoftwarePublisher
beliableformoneydamagesexceedtheamountpaidbyyoufortheSoftwareoutofwhichsuchclaim
arose.TheSoftwarePublisherlimitsliability,accordingtothetermsofthisAgreement,totheextent
permissibleatlaw.
5.THIRDPARTYCOMPONENTS
ThisEndUserLicenseAgreementdoesnotapplytocertainthirdpartyfontsbundledwiththispackage.
Thesefonts,andtheirrespectivelicenses,arecontainedinthe/encsubdirectoryoftheinstalldirectory.
TheFeeImagegraphicslibrary(FreeImage.dll)isusedanddistributedundertheFreeImagePublic
License1.0.Seefreeimage-license.txtintheinstalldirectory.
PotraceProfessional(TM)1.0risCopyright(C)2001-2012IcosasoftSoftwareInc.Allrightsreserved.
PotraceProfessionalisusedunderlicensefromIcosasoftSoftwareInc.typetracer.dllmayonlybeused
withType3.2fonteditor,andmayonlybedistributedwithintheType3fonteditorinstallprogram.
YOURACCEPTANCEOFTHEFOREGOINGAGREEMENTWASINDICATEDDURINGINSTALLATION.
©2006-2012AllanMurray
CR8SoftwareSolutions
cr8software.net
260512033
42.