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.